Hello.

Since upgrading from EJB3 RC8 to RC9 on JBossAS4.0.4.GA, I am getting a new 
exception with jBPM in code that was previously working fine (using both jBPM 
3.1.1 and jBPM 3.1.2).

The exception I am getting is unusual (full exception trace shown at the end of 
this post):

anonymous wrote : 
  | Exception: javax.ejb.EJBTransactionRolledbackException: 
javax.persistence.PersistenceException: org.hibernate.HibernateException: 
instance not of expected entity type: org.jbpm.graph.def.Node_$$_javassist_118 
is not a: org.jbpm.graph.def.Node
  | 

This makes me think there could be an issue with jBPM and the new version of 
Hibernate used in EJB3 RC9?

The code in question is a @Stateless session bean method (with an injected 
@PersistenceContext EntityManager) that uses a JbpmContext to create and start 
a jBPM workflow process.

This code is slightly unconventional, in that I am explicitly sharing the 
injected EntityManager's hibernate session with the JbpmContext, so as to avoid 
creating a nested transaction. The code excerpt for this from the SLSB is as 
follows:

// Injected EntityManager
  | @PersistenceContext protected EntityManager em;
  | ....
  | public long createProcess(...) {
  |     // Share the EntityManager's hibernate session with jBPM
  |     JbpmContext jbpmContext = 
JbpmConfiguration.getInstance().createJbpmContext();
  |     HibernateEntityManager hem = (HibernateEntityManager)em.getDelegate();
  |     jbpmContext.setSession( hem.getSession() );
  |     try {
  |         ProcessDefinition processDefinition = 
jbpmContext.getGraphSession().findLatestProcessDefinition(processDefinitionName);
  |         ProcessInstance processInstance = new 
ProcessInstance(processDefinition);
  |         ...
  |         // Initialise process context variables
  |         ...
  |         jbpmContext.save(processInstance);
  |         return processInstance.getId();
  |     } catch( ... ) { ... }
  |     finally {
  |         jbpmContext.close();
  |     }
  | }

I have put all the jBPM Hibernate mapping file definitions in my EJB3 
persistence.xml file, and jBPM is deployed as part of my application .ear file. 
This configuration has been working well for months with EJB3 RC8 and earlier.

The other part of the error which is confusing me is the nested "EntityManager 
must be access within a transaction" exception, which I think must be a 
red-herring side-effect of the initial "instance not of expected entity type" 
exception, as there is definitely a transaction in progress when I pass the 
hibernate session to the JbpmContext (as it is SLSB method code which creates 
the JbpmContext).

Does anyone have any idea why I'm now getting this failure when the only change 
is an upgrade from EJB3 RC8 to RC9?

Here is a full trace of the exception:

anonymous wrote : 
  | 2006-09-20 11:03:40,171 203125 ERROR 
[com.vieo.ccs.model.process.impl.WorkflowProcessFactoryBean] (pool-3-thread-2:) 
Exception: javax.ejb.EJBTransactionRolledbackException: 
javax.persistence.PersistenceException: org.hibernate.HibernateException: 
instance not of expected entity type: org.jbpm.graph.def.Node_$$_javassist_118 
is not a: org.jbpm.graph.def.Node
  | 2006-09-20 11:03:40,171 203125 ERROR 
[com.vieo.ccs.model.topology.commands.StartProcessCommand] (pool-3-thread-2:) 
Error initialising process: ILU Assistance Call : 
com.vieo.ccs.model.topology.WorkflowException: 
javax.ejb.EJBTransactionRolledbackException: 
javax.persistence.PersistenceException: org.hibernate.HibernateException: 
instance not of expected entity type: org.jbpm.graph.def.Node_$$_javassist_118 
is not a: org.jbpm.graph.def.Node
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:) Exception 
in thread "pool-3-thread-2" 
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:) 
javax.ejb.EJBException: javax.persistence.TransactionRequiredException: 
EntityManager must be access within a transaction
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:275)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:131)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:211)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
$Proxy220.processDeviceEvent(Unknown Source)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
com.vieo.ccs.server.handlers.GatewayMessageHandler.process(GatewayMessageHandler.java:48)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
com.vieo.ccs.server.handlers.MessageHandlerFactory.processMessage(MessageHandlerFactory.java:54)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
com.vieo.ccs.server.AMQGatewayServerThread.run(AMQGatewayServerThread.java:61)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
  | 2006-09-20 11:03:40,187 203141 ERROR [STDERR] (pool-3-thread-2:)    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
java.lang.Thread.run(Thread.java:595)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:) Caused by: 
javax.persistence.TransactionRequiredException: EntityManager must be access 
within a transaction
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.entity.ManagedEntityManagerFactory.verifyInTx(ManagedEntityManagerFactory.java:149)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.entity.TransactionScopedEntityManager.merge(TransactionScopedEntityManager.java:180)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
com.vieo.ccs.model.topology.impl.GatewayConnectorBean.processDeviceEvent(GatewayConnectorBean.java:121)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
java.lang.reflect.Method.invoke(Method.java:585)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:40)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
  | 2006-09-20 11:03:40,218 203172 ERROR [STDERR] (pool-3-thread-2:)    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
java.lang.reflect.Method.invoke(Method.java:585)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    at 
org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  | 2006-09-20 11:03:40,250 203204 ERROR [STDERR] (pool-3-thread-2:)    ... 22 
more
  | 

Thanks!

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3972801#3972801

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3972801
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to