Миграция Jonas в Wildfly: проблема connection.commit()

Я еще не закончил миграцию с Jonas на Wildfly, но когда я тестирую в среде UAT, я обнаруживаю некоторую утечку соединения, такую ​​как:

  javax.resource.ResourceException: IJ000453: Unable to get managed 
  connection for java:
  java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable 
  to get managed connection for java:/jdbc/xxxxx/xxxxDs
    at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:154)
    at zz.pp.xx.pp.hh.kk.j.getConnection(Unknown Source)
 Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/jdbc/xxxxx/xxxxDs
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:442)
    at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:421)
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:515)
    at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:146)
    ... 55 more
Caused by: javax.resource.ResourceException: IJ000655: No managed connections available within configured blocking timeout (30000 [ms])
    at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:511)
    at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:461)
    at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:433)
    at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:379)
  ... 58 

Когда сервер работал на Jonas, утечка соединения отсутствует. Затем я решаю проверить каждое соединение, которое мы используем в проекте: это только стандартный JDBC в попытке с блоками ресурсов, за исключением "Транзакций", которые используют connection.setAutocommit(false).

Например:

try {
        connection= DaoConnection.getDeclicConnection();

        st = connection.createStatement();
        rs = st.executeQuery(request);

        boolean autoComit = connection.getAutoCommit();
        connection.setAutoCommit(false);
        //Treatment
        connection.commit();
        connection.setAutoCommit(autoComit);
 } catch (Exception e) {
        logger.error(e);

 } finally {
        //close All;
 }

Может кто-нибудь объяснить мне, почему Wildfly не совместим с connection.setAutocommit(false)?

0 ответов

Другие вопросы по тегам