0
Prepated Steatementプーリングに関する質問があります(すべての接続で)。jboss接続プーリング
<background-validation-minutes>5</background-validation-minutes>
プリペアドステートメントを持つ任意の問題を引き起こすのではなく、:ここでは、設定ファイルが
<datasources>
<local-tx-datasource>
<jndi-name>JNDI-NAME</jndi-name>
<connection-url>jdbc:mysql://<server_name>/<database_name>?useServerPrepStmts=true</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>xxx</user-name>
<password>xxxxx</password>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>20</idle-timeout-minutes>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
<background-validation>true</background-validation>
<background-validation-minutes>5</background-validation-minutes>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml -->
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
だこの行がいるようです
<idle-timeout-minutes>20</idle-timeout-minutes>
は、すべての接続が削除されていることを引き起こし、過去20分間のトラフィックがなかった場合は再作成されます。そのため、既存のPrepared Statementsは、キャッシュされたPrepared Statementのプールから削除されます。どのようにこの問題を克服する? MySQLサーバが8時間後に接続を閉じるので、アイドルタイムアウト分を使用する必要があります