[JBoss jBPM] - Process flush trying to save UnpersistableInstance
by colsona
It appears something is going wrong here. Hibernate is throwing an exception because it can't persist a UnpersistableInstance. I assume an unpersitable instance shouldn't get to this point.
| aused by: org.hibernate.HibernateException: instance not of expected entity type: org.jbpm.context.exe.variableinstance.UnpersistableInstance is not a: org.jbpm.context.exe.VariableInstance
| at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassEntityPersister(AbstractEntityPersister.java:3583)
| at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1347)
| at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180)
| at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:487)
| at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:84)
| at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
| at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
| at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
| at org.hibernate.engine.CascadingAction$1.cascade(CascadingAction.java:218)
| at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
| at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
| at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
| at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
| at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
| at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
| at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:131)
| at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:122)
| at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:187)
| ... 46 more
|
|
Asa
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4036554#4036554
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4036554
19 years
[Beginners Corner] - NullPointerException at sun.reflect.NativeMethodAccessorImpl
by mhoennig
Dear JBoss experts,
I tried my own "hello world" with EJB3 on JBoss 4.0.5GA today. But when I invoke a method on my SLSB, I am getting this stack:
[java] log4j:WARN No appenders could be found for logger (org.jboss.security.SecurityAssociation).
[java] log4j:WARN Please initialize the log4j system properly.
[java] java.lang.NullPointerException
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:585)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
[java] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:263)
[java] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
[java] at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
[java] at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
[java] at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398)
[java] at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
[java] at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:190)
[java] at org.jboss.remoting.Client.invoke(Client.java:525)
[java] at org.jboss.remoting.Client.invoke(Client.java:488)
[java] at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
[java] at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
[java] at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
[java] at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:77)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
[java] at $Proxy0.ping(Unknown Source)
[java] at ....EJB3TestClient.main(EJB3TestClient.java:38)
Does the log4j warning has to do with it? Looking at the stack I doubt it.
My SLSB is pretty simple:
1. a remote interface:
package ...;
|
| @javax.ejb.Remote
| public interface EJB3StatelessTestSessionFacade
| {
| public String ping();
| }
|
2. the bean:
package ...;
|
| @javax.ejb.Stateless
| public class EJB3StatelessTestSessionBean
| implements EJB3StatelessTestSessionFacade
| {
| public String ping()
| {
| return "pong ";
| }
| }
3. a client:
package ...;
|
| import java.util.Properties;
| import javax.ejb.EJB;
| import javax.naming.InitialContext;
|
| public class EJB3TestClient
| {
| @EJB public static EJB3StatelessTestSessionFacade aFacade;
|
| /**
| * @param args
| */
| public static void main(String[] args)
| {
| try
| {
| Properties p = new Properties();
| p.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
| p.put("java.naming.factory.url.pkgs","=org.jboss.naming:org.jnp.interfaces");
| p.put("java.naming.provider.url","localhost:1099");
| p.put("jnp.socket.Factory","org.jnp.interfaces.TimedSocketFactory");
|
| System.out.println( "getting initial context" );
| InitialContext aIC = new InitialContext(p);
|
| if ( aFacade == null )
| {
| System.out.println( "session bean lookup" );
| aFacade = (EJB3StatelessTestSessionFacade)
| aIC.lookup( "java:ejb3test/EJB3StatelessTestSessionBean/remote" );
| }
|
| System.out.println( "calling session bean" );
| System.out.println( aFacade.ping() );
| }
| catch ( Exception aExc )
| {
| aExc.printStackTrace(System.err);
| }
| }
|
| }
Any idea what I am doing wrong?
Thanks!
... Michael
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4036545#4036545
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4036545
19 years