When we shutdown our Wildfly server while the BPEL engine is processing jobs, it happens sometimes that that the database is left in an inconsistent state, so the next startup fails with a related error message. It seems that problem cause is a wrong order of shutdown. The logfile shows that the DB connection has been closed before the BPEL engine shut down. We use the BPEL engine as it is, no modified source code and no custom extension. Our workflow calls SOAP functions that are provided by another deployment on the same machine which is based on Jax-WS. 2017-02-08 22:30:51,680 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-11) JBAS010409: Unbound data source [java:jboss/datasources/BPEL] 2017-02-08 22:30:51,822 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool – 58) IJ000615: Destroying active connection in pool: BPEL-pool (org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@5c974c06) 2017-02-08 22:30:51,822 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool – 58) IJ000615: Destroying active connection in pool: BPEL-pool (org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@51004d67) 2017-02-08 22:30:52,471 INFO [org.switchyard] (MSC service thread 1-15) Stopping SwitchYard component BPELComponent 2017-02-08 22:30:52,471 INFO [org.switchyard] (MSC service thread 1-15) Stopping SwitchYard component BPELComponent 2017-02-08 22:30:52,475 INFO [org.apache.ode.bpel.engine.BpelServerImpl] (MSC service thread 1-15) BPEL Server Stopped. 2017-02-08 22:30:52,477 INFO [org.riftsaw.engine.internal.BPELEngineImpl] (MSC service thread 1-15) Unbind the services from JNDI. BPEL-pool is our JNDI datasource used by the BPEL engine. The relevant parts from standalone/switchyard.xml are: <datasource jta="true" jndi-name="java:jboss/datasources/BPEL" pool-name="BPEL-pool" enabled="true" use-java-context="true" use-ccm="true"> <connection-url>jdbc:mysql://xxx.xxx.xxx.xxx:3306/BPEL</connection-url> <driver>mysql</driver> <pool> <min-pool-size>10</min-pool-size> <max-pool-size>400</max-pool-size> </pool> <security> <user-name>bpel</user-name> <password>xxxxxxxx</password> </security> <statement> <prepared-statement-cache-size>100</prepared-statement-cache-size> <share-prepared-statements>true</share-prepared-statements> </statement> </datasource> <module identifier="org.switchyard.component.bpel" implClass="org.switchyard.component.bpel.deploy.BPELComponent"> <properties> <bpel.db.mode> EXTERNAL </bpel.db.mode> <db.emb.create> false </db.emb.create> <bpel.db.ext.dataSource> java:jboss/datasources/BPEL </bpel.db.ext.dataSource> <hibernate.dialect> org.hibernate.dialect.MySQLInnoDBDialect </hibernate.dialect> <hibernate.show_sql> false </hibernate.show_sql> <hibernate.jdbc.batch_size> 20 </hibernate.jdbc.batch_size> <ode.persistence> hibernate </ode.persistence> <persist.bpel.events> false </persist.bpel.events> <bpel.event.listeners> org.jboss.soa.bpel.console.bpaf.BPAFLogAdapter </bpel.event.listeners> </properties> </module> |