【发布时间】:2014-09-15 07:57:16
【问题描述】:
我实际上无法理解为什么会发生这种情况。我正在运行一些企业程序,从 EJB 到 Web-App。我的 EJB 将 MyBatis 与我的 Postgres DB 一起使用,而与我的 web 应用程序一起部署在 JBoss-AS 7 的实例上。实际上,JBoss 崩溃是因为连接超出了我在 standalone.xml 中的 JNDI 数据源上配置的池。
我的数据源在standalone.xml中是这样配置的:
<datasource jndi-name="java:jboss/datasources/MyDBName" pool-name="MyDBName" enabled="true" use-java-context="true">
<connection-url>jdbc:postgresql://localhost:5432/My_DB</connection-url>
<driver>postgresql-driver</driver>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>username</user-name>
<password>password</password>
</security>
</datasource>
我已经像这样将我的数据源配置到 mybatis-config.xml 中:
<transactionManager type="MANAGED">
<property name="closeConnection" value="false"/>
</transactionManager>
<dataSource type="JNDI">
<property name="data_source" value="java:jboss/datasources/MyDBName"/>
</dataSource>
我也尝试在每次使用 DAO 时手动关闭 SQLSession,但没有任何反应。
有什么建议吗?
【问题讨论】:
标签: java jboss jndi connection-pooling mybatis