Samrat Roy [https://community.jboss.org/people/whizkid.samrat] created the discussion
"jBpm 5.2 persistence problem - Oracle - Unknown entity: org.drools.persistence.info.SessionInfo" To view the discussion, visit: https://community.jboss.org/message/717687#717687 -------------------------------------------------------------- Hi , I am setting up jBpm 5.2 with persistence for the first time and facing a LoT of issues. I am using jpm 5.2 with Spring 3.0 and Hibernate 3.5.6 on jBoss AS 7 server. We all know that jBoss AS 7 comes with Hibernate 4 as the default hibernate , but I need to use the Hibernate 3 in my project so I installed hibernate 3 as a module in as7 and that is working as expected . I excluded Hibernate 4 with jboss-deployment-structure.xml and added org.jboss.as.jpa.hibernate:3 as a dependency in manifest.mf [refer http://badr-elhouari.blogspot.in/2011/10/how-to-use-hibernate-3-as-jpa-provider.html here how I added hibernate:3 as a module in AS7] That said , I have configured the entire knowledge base and knowledge session in spring so that I dont have to write code for that - Taking tips from drools - integration module and by using drools-grid-impl jar and drools-spring jar. Drools-grid jar contains a persistence.xml which used in memory DB [h2] so I modified the xml to use oracle and hibernate 3 instead. Here is my *application context*: <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" p:dataSource-ref="datasource"> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" p:database="${jpa.database}" p:showSql="${jpa.showSql}"/> </property> <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"/> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> <!-- First: declare JBPM JPA Session with a process definition --> <jbpm:kbase id="kbase"> <jbpm:resources> <jbpm:resource type="BPMN2" source="classpath:LeaveFlow.bpmn" /> </jbpm:resources> </jbpm:kbase> <jbpm:ksession id="ksession" type="stateful" kbase="kbase"> <jbpm:configuration> <jbpm:jpa-persistence> <jbpm:entity-manager-factory ref="entityManagerFactory"/> <jbpm:transaction-manager ref="transactionManager"/> </jbpm:jpa-persistence> </jbpm:configuration> </jbpm:ksession> <!-- Declare a TaskServer --> <bean class="org.jbpm.task.service.TaskService" id="taskService"> <constructor-arg ref="entityManagerFactory"/> <constructor-arg> <bean class="org.drools.SystemEventListenerFactory" factory-method="getSystemEventListener"/> </constructor-arg> </bean> <bean class="org.jbpm.task.service.mina.MinaTaskServer" id="taskServer"> <constructor-arg ref="taskService"/> <constructor-arg><value>${jbpm.task.server.port}</value></constructor-arg> </bean> <!-- And start TaskServer on the configured port --> <bean class="java.lang.Thread" id="taskServerThread" init-method="start"> <constructor-arg ref="taskServer"/> </bean> <!-- Declare a TaskClient --> <bean class="org.jbpm.task.service.mina.MinaTaskClientConnector" id="taskClientConnector"> <constructor-arg value="taskClient"/> <constructor-arg> <bean class="org.jbpm.task.service.mina.MinaTaskClientHandler"> <constructor-arg> <bean class="org.drools.SystemEventListenerFactory" factory-method="getSystemEventListener"/> </constructor-arg> </bean> </constructor-arg> </bean> <bean class="org.jbpm.task.service.TaskClient" id="taskClient"> <constructor-arg ref="taskClientConnector"/> </bean> <!-- Declare a HumanTaskHandler --> <bean class="org.jbpm.task.service.AsyncTaskServiceWrapper" id="humanTaskClient"> <constructor-arg ref="taskClient"/> </bean> <!-- It uses previously created TaskClient --> <bean class="org.jbpm.process.workitem.wsht.SyncWSHumanTaskHandler" id="humanTaskHandler"> <constructor-arg ref="humanTaskClient"/> <constructor-arg ref="ksession"/> </bean> <!-- Configure its connection to the local server --> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" depends-on="humanTaskHandler" id="setConnection"> <property name="targetObject" ref="humanTaskHandler"/> <property name="targetMethod" value="setConnection"/> <property name="arguments"> <list> <value>${jbpm.task.client.address}</value> <value>${jbpm.task.client.port}</value> </list> </property> </bean> <!-- And connect HumanTaskHandler (implicit TaskClient connection) --> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" depends-on="setConnection"> <property name="targetObject" ref="humanTaskHandler"/> <property name="targetMethod" value="connect"/> </bean> <!-- Finnaly, register HumanTaskHandler in the session --> <bean factory-bean="ksession" factory-method="getWorkItemManager" id="workItemManager"/> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject" ref="workItemManager"/> <property name="targetMethod" value="registerWorkItemHandler"/> <property name="arguments"> <list> <value>Human Task</value> <ref bean="humanTaskHandler"/> </list> </property> </bean> The Exception I am getting while server startup is : 20:07:26,443 ERROR [org.drools.persistence.SingleSessionCommandService] (MSC service thread 1-3) Could not commit session: java.lang.IllegalArgumentException: *Unknown entity: org.drools.persistence.info.SessionInfo* at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:671) [hibernate-entitymanager-3.5.6-Final.jar:3.5.6-Final] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_23] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_23] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23] at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23] at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365) [org.springframework.orm-3.0.5.RELEASE.jar:] at $Proxy32.persist(Unknown Source) at org.drools.persistence.jpa.JpaPersistenceContext.persist(JpaPersistenceContext.java:17) [drools-persistence-jpa-5.3.1.Final.jar:] at org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:152) [drools-persistence-jpa-5.3.1.Final.jar:] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [:1.6.0_23] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [:1.6.0_23] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_23] at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_23] at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:129) [drools-persistence-jpa-5.3.1.Final.jar:] at org.drools.persistence.jpa.KnowledgeStoreServiceImpl.newStatefulKnowledgeSession(KnowledgeStoreServiceImpl.java:67) [drools-persistence-jpa-5.3.1.Final.jar:] at org.drools.persistence.jpa.JPAKnowledgeService.newStatefulKnowledgeSession(JPAKnowledgeService.java:122) [knowledge-api-5.3.1.Final.jar:] at org.drools.container.spring.beans.StatefulKnowledgeSessionBeanFactory.internalAfterPropertiesSet(StatefulKnowledgeSessionBeanFactory.java:85) [drools-spring-5.3.0.Final.jar:] at org.drools.container.spring.beans.AbstractKnowledgeSessionBeanFactory.afterPropertiesSet(AbstractKnowledgeSessionBeanFactory.java:123) [drools-spring-5.3.0.Final.jar:] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) [org.springframework.beans-3.0.5.RELEASE.jar:] ....... This is driving me nuts as I have all the required jars in my classPath. Please help !!! I am attaching important config files : Application Ctxt of my application , MANIFEST.MF of my application , persistence.xml from my application and the persistence.xml which I modified in drools-grid jar -------------------------------------------------------------- Reply to this message by going to Community [https://community.jboss.org/message/717687#717687] Start a new discussion in jBPM at Community [https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
_______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
