XmlSpring構成ファイルで宣言されたpostgresqlデータソースを使用して確立された接続を構成しようとしています。
<bean id="myDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/dbname" />
<property name="username" value="postgres" />
<property name="password" value="" />
<property name="socketTimeout" value="10"/>
</bean>
春からDriverManagerDataSource
クラスを使用するべきではないことを知っています(まもなくC3p0またはDBCPに移行します)。これは実際のプーリングではないためです。 postgresql接続のsocketTimeout値を設定しようとしています(ここで説明します https://jdbc.postgresql.org/documentation/head/connect.html )が、もちろん、「socketTimeout」はそうではありませんデータソースのプロパティであるため、機能しません。
データソースxmlの構成を介してこれを行うことは可能ですか?それともどこかでやるべきですか?データソースが接続を管理しているので、私はできるとは思わない
props.setProperty("timeout",30);
Connection conn = DriverManager.getConnection(url, props);
DriverManagerDataSourceでこれを行うこともできますか?検索してみましたが、実際に使っている人が少ないので、何も役に立ちませんでした。
M. Deinumに感謝します、私は方法を見つけることができました。実際、プロパティの名前が「connectionProperties」であることを知っていても、多くの回答は見つかりませんでした(おそらく、この方法で使用することはめったにありませんか?)。だから私はそれを投稿しています:
<bean id="myDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/dbname" />
<property name="username" value="postgres" />
<property name="password" value="" />
<!--<property name="socketTimeout" value="10"/>-->
<property name="connectionProperties">
<props>
<prop key="socketTimeout">10</prop>
</props>
</property>
</bean>
誰かがより良い/より完全な答えを持っているなら、私はそれをチェックします;)