[rules-users] Drools Flow JPA persistence error while Connecting to MySql Database

Pardeep.Ruhil at lntinfotech.com Pardeep.Ruhil at lntinfotech.com
Mon Oct 26 00:33:12 EDT 2009


Hi Mauricio,
No I haven't change the Mysql driver and neither in the pom.xml file.
Currently I am working on MySql 5.0.9
and driver  I am using is mysql-connector-java-5.0.4-bin.

Can you tell me which version of Mysql you are using and the name of the 
jar files you are using to run the project.
May there can be a problem in version of some jar files I am using.

Jar files I am using to run the project are : 
1. javax.persistence.jar 
2. antlr-runtime.jar
3. drools-api.jar
4. drools-compiler.jar
5. drools-core.jar
6. drools-decisiontables.jar
7. drools-jsr94.jar
8. drools-templates.jar
9. joda-time.jar
10. jsr94.jar
11. jxl.jar"
12. mvel2.jar
13. org.eclipse.jdt.core_3.4.4.v_894_R34x.jar
14. xpp3.jar
15. xpp3_min.jar
16. xstream.jar
17. junitperf.jar
18.junit.jar"
19. btm-1.3.2.jar
20. drools-persistence.jar
21. log4j-1.2.15.jar
22. h2-1.0.77.jar"/>
23. javassist.jar"/>
24 hibernate-annotations-3.4.0.GA.jar
25. hibernate-entitymanager-3.4.0.GA.jar
26. dom4j-1.6.1.jar
27. hibernate-commons-annotations-3.1.0.GA.jar
28. commons-logging-1.0.4.jar
29. jta.jar
30. slf4j-jdk14-1.5.2.jar
31. slf4j-api-1.5.2.jar
32. hibernate-core-3.3.1.GA.jar
33. commons-collections-3.2.jar
34. antlr-2.7.5.jar
35. mysql-connector-java-5.0.4-bin.jar

Please tell me if I am using any wrong version of jar files. Also if 
possible can you please mail me your configured project with jar files as 
I need this demo project working urgently.

Thanks & Regards

Pardeep Ruhil




>Hmm.. that's weird.. I have it working here..
>Did you change the MySQL Driver? or something in the pom.xml file?
>with which version of MySQL are you working?


2009/10/22 <Pardeep.Ruhil at lntinfotech.com>

>>
>> Hi,
>> I am trying to run the project given at
>> http://blog.athico.com/2009/09/drools-flow-variable-persistence.html.
>> I am successfully able to run the same in default H2 database, but when 
I
>> am trying to run the project, taking Mysql database for persistence. I 
am
>> not able to run the demo project as i m getting this error.
>
>
> ct 23, 2009 8:54:25 AM org.hibernate.impl.SessionFactoryObjectFactory
> addInstance
> INFO: Not binding factory to JNDI, no JNDI name configured
> Oct 23, 2009 8:54:25 AM org.hibernate.tool.hbm2ddl.SchemaExport execute
> INFO: Running hbm2ddl schema export
> Oct 23, 2009 8:54:25 AM org.hibernate.tool.hbm2ddl.SchemaExport execute
> INFO: exporting generated schema to database
> Oct 23, 2009 8:54:26 AM org.hibernate.tool.hbm2ddl.SchemaExport execute
> INFO: schema export complete
> Oct 23, 2009 8:54:26 AM bitronix.tm.BitronixTransactionManager 
logVersion
> INFO: Bitronix Transaction Manager version 1.3.2
> Oct 23, 2009 8:54:26 AM bitronix.tm.Configuration buildServerIdArray
> WARNING: cannot get this JVM unique ID. Make sure it is configured and 
you
> only use ASCII characters. Will use IP address instead (unsafe for
> production usage!).
> Oct 23, 2009 8:54:26 AM bitronix.tm.Configuration buildServerIdArray
> INFO: JVM unique ID: <172.17.88.140>
> Oct 23, 2009 8:54:27 AM bitronix.tm.journal.DiskJournal open
> WARNING: active log file is unclean, previous server crash ?
> Oct 23, 2009 8:54:27 AM bitronix.tm.recovery.Recoverer run
> INFO: recovery committed 0 dangling transaction(s) and rolled back 0
> aborted transaction(s) on 1 resource(s) [jdbc/testDS1]
> Fri Oct 23 08:54:27 IST 2009 DEBUG: Executing XA statement: XA START
> 
0x3137322e31372e38382e313430000001247f6c815f00000000,0x3137322e31372e38382e313430000001247f6c81ad00000002,0x42746e78
> Fri Oct 23 08:54:27 IST 2009 DEBUG: Executing XA statement: XA END
> 
0x3137322e31372e38382e313430000001247f6c815f00000000,0x3137322e31372e38382e313430000001247f6c81ad00000002,0x42746e78
> Fri Oct 23 08:54:27 IST 2009 DEBUG: Executing XA statement: XA COMMIT
> 
0x3137322e31372e38382e313430000001247f6c815f00000000,0x3137322e31372e38382e313430000001247f6c81ad00000002,0x42746e78
> ONE PHASE
> Kession id is1
> Session object
> 
isorg.drools.process.command.impl.CommandBasedStatefulKnowledgeSession at 152b6f5
> ### Starting process ###
> Fri Oct 23 08:54:28 IST 2009 DEBUG: Executing XA statement: XA START
> 
0x3137322e31372e38382e313430000001247f6c81fb00000007,0x3137322e31372e38382e313430000001247f6c821b00000009,0x42746e78
> x Ac = SomeString
> y = VARIABLE: null - This is a test Entity
> z = Serializable Variable: This is a test SerializableObject
> Fri Oct 23 08:54:28 IST 2009 DEBUG: Executing XA statement: XA END
> 
0x3137322e31372e38382e313430000001247f6c81fb00000007,0x3137322e31372e38382e313430000001247f6c821b00000009,0x42746e78
> Fri Oct 23 08:54:28 IST 2009 DEBUG: Executing XA statement: XA COMMIT
> 
0x3137322e31372e38382e313430000001247f6c81fb00000007,0x3137322e31372e38382e313430000001247f6c821b00000009,0x42746e78
> ONE PHASE
> ### Retrieving process instance ###
> Fri Oct 23 08:54:28 IST 2009 DEBUG: Executing XA statement: XA START
> 
0x3137322e31372e38382e313430000001247f6c82880000000e,0x3137322e31372e38382e313430000001247f6c828800000010,0x42746e78
> AUTO
> Oct 23, 2009 8:54:28 AM org.hibernate.util.JDBCExceptionReporter
> logExceptions
> WARNING: SQL Error: 0, SQLState: null
> Oct 23, 2009 8:54:28 AM org.hibernate.util.JDBCExceptionReporter
> logExceptions
> SEVERE: error enlisting a JdbcConnectionHandle of a JdbcPooledConnection
> from datasource jdbc/testDS1 in state ACCESSIBLE wrapping
> com.mysql.jdbc.jdbc2.optional.MysqlXAConnection at 126aaca on
> com.mysql.jdbc.jdbc2.optional.ConnectionWrapper at 1a1b2f
> Oct 23, 2009 8:54:28 AM org.hibernate.event.def.DefaultLoadEventListener
> onLoad
> INFO: Error performing load command
> *org.hibernate.exception.GenericJDBCException*: could not load an 
entity:
> [org.drools.persistence.session.SessionInfo#1]
>         at
> org.hibernate.exception.SQLStateConverter.handledNonSpecificException(*
> SQLStateConverter.java:126*)
>         at org.hibernate.exception.SQLStateConverter.convert(*
> SQLStateConverter.java:114*)
>         at org.hibernate.exception.JDBCExceptionHelper.convert(*
> JDBCExceptionHelper.java:66*)
>         at org.hibernate.loader.Loader.loadEntity(*Loader.java:1895*)
>         at org.hibernate.loader.entity.AbstractEntityLoader.load(*
> AbstractEntityLoader.java:71*)
>         at org.hibernate.loader.entity.AbstractEntityLoader.load(*
> AbstractEntityLoader.java:65*)
>         at org.hibernate.persister.entity.AbstractEntityPersister.load(*
> AbstractEntityPersister.java:3072*)
>         at
> org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(*
> DefaultLoadEventListener.java:434*)
>         at org.hibernate.event.def.DefaultLoadEventListener.doLoad(*
> DefaultLoadEventListener.java:415*)
>         at org.hibernate.event.def.DefaultLoadEventListener.load(*
> DefaultLoadEventListener.java:165*)
>         at 
org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(*
> DefaultLoadEventListener.java:223*)
>         at org.hibernate.event.def.DefaultLoadEventListener.onLoad(*
> DefaultLoadEventListener.java:126*)
>         at 
org.hibernate.impl.SessionImpl.fireLoad(*SessionImpl.java:905*)
>         at org.hibernate.impl.SessionImpl.get(*SessionImpl.java:842*)
>         at org.hibernate.impl.SessionImpl.get(*SessionImpl.java:835*)
>         at org.hibernate.ejb.AbstractEntityManagerImpl.find(*
> AbstractEntityManagerImpl.java:182*)
>         at
> org.drools.persistence.session.SingleSessionCommandService.<init>(*
> SingleSessionCommandService.java:153*)
>         at
> 
org.drools.persistence.jpa.impl.JPAKnowledgeServiceProviderImpl.loadStatefulKnowledgeSession(
> *JPAKnowledgeServiceProviderImpl.java:75*)
>         at
> 
org.drools.persistence.jpa.JPAKnowledgeService.loadStatefulKnowledgeSession(
> *JPAKnowledgeService.java:102*)
>         at org.plugtree.labs.VariablePersistenceStrategiesTest.testApp(*
> VariablePersistenceStrategiesTest.java:158*)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(*Native Method*)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown 
Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at junit.framework.TestCase.runTest(*TestCase.java:154*)
>         at junit.framework.TestCase.runBare(*TestCase.java:127*)
>         at junit.framework.TestResult$1.protect(*TestResult.java:106*)
>         at 
junit.framework.TestResult.runProtected(*TestResult.java:124*)
>         at junit.framework.TestResult.run(*TestResult.java:109*)
>         at junit.framework.TestCase.run(*TestCase.java:118*)
>         at junit.framework.TestSuite.runTest(*TestSuite.java:208*)
>         at junit.framework.TestSuite.run(*TestSuite.java:203*)
>         at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(*
> JUnit3TestReference.java:130*)
>         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(*
> TestExecution.java:38*)
>         at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> *RemoteTestRunner.java:460*)
>         at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(
> *RemoteTestRunner.java:673*)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(*
> RemoteTestRunner.java:386*)
>         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(*
> RemoteTestRunner.java:196*)
> Caused by: *java.sql.SQLException*: error enlisting a 
JdbcConnectionHandle
> of a JdbcPooledConnection from datasource jdbc/testDS1 in state 
ACCESSIBLE
> wrapping com.mysql.jdbc.jdbc2.optional.MysqlXAConnection at 126aaca on
> com.mysql.jdbc.jdbc2.optional.ConnectionWrapper at 1a1b2f
>         at 
bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(*
> JdbcConnectionHandle.java:61*)
>         at 
bitronix.tm.resource.jdbc.JdbcConnectionHandle.prepareStatement(
> *JdbcConnectionHandle.java:200*)
>         at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(*
> AbstractBatcher.java:534*)
>         at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(*
> AbstractBatcher.java:452*)
>         at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(*
> AbstractBatcher.java:161*)
>         at org.hibernate.loader.Loader.prepareQueryStatement(*
> Loader.java:1573*)
>         at org.hibernate.loader.Loader.doQuery(*Loader.java:696*)
>         at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(*
> Loader.java:259*)
>         at org.hibernate.loader.Loader.loadEntity(*Loader.java:1881*)
>         ... 34 more
> Caused by: *bitronix.tm.internal.BitronixSystemException*: cannot enlist
> an XAResourceHolderState with uniqueName=jdbc/testDS1
> XAResource=com.mysql.jdbc.jdbc2.optional.MysqlXAConnection at 126aaca with
> XID a Bitronix XID [3137322E31372E38382E313430000001247F6C82880000000E :
> 3137322E31372E38382E313430000001247F6C828800000010], error=XAER_OUTSIDE
>         at bitronix.tm.BitronixTransaction.enlistResource(*
> BitronixTransaction.java:83*)
>         at bitronix.tm.resource.common.TransactionContextHelper.enlist(*
> TransactionContextHelper.java:267*)
>         at
> 
bitronix.tm.resource.common.TransactionContextHelper.enlistInCurrentTransaction(
> *TransactionContextHelper.java:49*)
>         at 
bitronix.tm.resource.jdbc.JdbcConnectionHandle.enlistResource(*
> JdbcConnectionHandle.java:59*)
>         ... 42 more
> Caused by: *com.mysql.jdbc.jdbc2.optional.MysqlXAException*: 
XAER_OUTSIDE:
> Some work is done outside global transaction
>         at
> 
com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.mapXAExceptionFromSQLException(
> *MysqlXAConnection.java:562*)
>         at 
com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.dispatchCommand(
> *MysqlXAConnection.java:545*)
>         at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.start(*
> MysqlXAConnection.java:485*)
>         at bitronix.tm.internal.XAResourceHolderState.start(*
> XAResourceHolderState.java:179*)
>         at bitronix.tm.internal.XAResourceManager.enlist(*
> XAResourceManager.java:89*)
>         at bitronix.tm.BitronixTransaction.enlistResource(*
> BitronixTransaction.java:76*)
>         ... 45 more
>
> When I searched for this exception I got to know that : In MySql for XA
> transactions  For *XA START*<
http://dev.mysql.com/doc/refman/5.0/en/xa-statements.html>,
> the JOIN and RESUME clauses are not supported.
> for more details
> http://dev.mysql.com/doc/refman/5.0/en/xa-restrictions.html.
> But in the class org.drools.persistence.session.
> SingleSessionCommandService.java we are using code for join transaction
> *                this*.em.joinTransaction();
>             sessionInfo = *this*.em.find( SessionInfo.*class*, sessionId
> );
>
> So please tell me how to get rid of this exception. Also is there 
something
> which I have missed for configuation with Mysql database.
> Please help me to get resovle this problem.
>
> Thanks & Regards
> Pardeep Ruhil



______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091026/51ef67ec/attachment.html 


More information about the rules-users mailing list