[jBPM Users] - Re: problem with forks, nodes (abnormally) keep active.
by paul.mcd
I've made an all-in-one unit test to demo this problem.
The basic idea behind is during the execution of one process instance, each node shall be active before being signaled and inactive after. The code will print out all remaining active activities.
But after signaling B.1.1, the resulting output is
anonymous wrote : After signaling B.1.1, actives are [B.1.1, B.1.2, B.1.1.1, B.2]
which is clearly not desirable, and the program broke afterwards.
package org.jbpm.examples.concurrency.graphbased;
| import java.util.ArrayList;
| import java.util.List;
| import org.jbpm.api.Execution;
| import org.jbpm.api.ProcessInstance;
| import org.jbpm.test.JbpmTestCase;
|
| public class ForkTest extends JbpmTestCase {
| String deployID = null;
| private String processDefinitionKey = "TestFork";
|
| private String getJPDL(){
| String jpdl = String.format(
| "<process name='%s' xmlns='http://jbpm.org/4.0/jpdl'>"
| +""
| +"<start g='211,16,92,52'>"
| +"<transition name='to A' to='A' g='-31,-22'/>"
| +"</start>"
| +""
| +"<end g='172,848,48,48' name='end'/>"
| +"<state name='A' g='211,100,92,52'>"
| +"<transition name='to B' to='B' g='-31,-22'/>"
| +"</state>"
| +"<state name='B' g='211,184,92,52'>"
| +"<transition name='to fork1' to='fork1' g='-56,-22'/>"
| +"</state>"
| +"<fork name='fork1' g='233,268,48,48'>"
| +"<transition name='to B.1' to='B.1' g='-43,-22'/>"
| +"<transition name='to B.2' to='B.2' g='-43,-22'/>"
| +"</fork>"
| +"<state name='B.1' g='149,348,92,52'>"
| +"<transition name='to fork2' to='fork2' g='-56,-22'/>"
| +"</state>"
| +"<state name='B.2' g='273,348,92,52'>"
| +"<transition name='to B.2.1' to='B.2.1' g='-63,-22'/>"
| +"</state>"
| +"<fork name='fork2' g='140,432,92,52'>"
| +"<transition name='to B.1.1' to='B.1.1' g='-55,-22'/>"
| +"<transition name='to B.1.2' to='B.1.2' g='-55,-22'/>"
| +"</fork>"
| +"<state name='B.1.1' g='16,516,92,52'>"
| +"<transition name='to B.1.1.1' to='B.1.1.1' g='-63,-22'/>"
| +"</state>"
| +"<state name='B.1.2' g='140,516,92,52'>"
| +"<transition name='to fork3' to='fork3' g='-56,-22'/>"
| +"</state>"
| +"<fork name='fork3' g='140,600,92,52'>"
| +"<transition name='to B.1.2.1' to='B.1.2.1' g='-67,-22'/>"
| +"<transition name='to B.1.2.2' to='B.1.2.2' g='-67,-22'/>"
| +"</fork>"
| +"<state name='B.1.2.1' g='89,684,92,52'>"
| +"<transition name='to join1' to='join1' g='-54,-22'/>"
| +"</state>"
| +"<state name='B.1.2.2' g='213,684,92,52'>"
| +"<transition name='to join1' to='join1' g='-54,-22'/>"
| +"</state>"
| +"<join name='join1' g='172,768,48,48'>"
| +"<transition name='to end' to='end' g='-46,-22'/>"
| +"</join>"
| +"<state name='B.1.1.1' g='16,600,92,52'>"
| +"<transition name='to join1' to='join1' g='90,771:-54,-22'/>"
| +"</state>"
| +"<state name='B.2.1' g='279,432,92,52'>"
| +"<transition name='to B.2.1.1' to='B.2.1.1' g='-63,-22'/>"
| +"</state>"
| +"<state name='B.2.1.1' g='285,516,92,52'>"
| +"<transition name='to join1' to='join1' g='354,801:-54,-22'/>"
| +"</state>"
| +""
| +"</process>", processDefinitionKey);
|
| return jpdl;
| }
|
| protected void setUp() throws Exception {
| super.setUp();
| String jpdl = getJPDL();
| deployID = repositoryService.createDeployment().addResourceFromString("test_fork.jpdl.xml", jpdl).deploy();
| }
|
| protected void tearDown() throws Exception {
| repositoryService.deleteDeployment(deployID);
|
| super.tearDown();
| }
|
| public void testConcurrencyGraphBased() {
| ProcessInstance processInstance = executionService.startProcessInstanceByKey(processDefinitionKey);
| List<String> path = new ArrayList<String>();
| path.add("A");
| path.add("B");
| path.add("B.1");
| path.add("B.1.1");
| path.add("B.1.1.1");
| path.add("B.1.2");
| path.add("B.1.2.1");
| path.add("B.1.2.2");
|
| for (String activityName : path){
| assertNotNull(processInstance.findActiveExecutionIn(activityName));
| Execution execution = processInstance.findActiveExecutionIn(activityName);
| processInstance = executionService.signalExecutionById(execution.getId());
| System.out.println(String.format("After signaling %s, actives are %s", activityName, processInstance.findActiveActivityNames()));
| assertNull(processInstance.findActiveExecutionIn(activityName));
| }
| }
| }
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255354#4255354
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255354
15 years, 4 months
[JBoss Cache Users] - Re: Eviction problems: Thread executing before specified tim
by galder.zamarreno@jboss.com
Hi, apologies for the delay.
Re 1: The problem resides in your test. Whenever you call the following code, you're traversing /user FQN and so it's the same as you were doing cache.get("/user/1"), cache.get("/user/2"), cache.get("/user/3"), cache.get("/user/4")...etc. So, 4 and 5 are always used and since this is the last call of the loop before the sleep, they're the most LRU and so data added in 3 will be evicted. So, the behaivour you're seeing is correct.
System.out.println(cache.getChildrenNames("/user/"));
Re 2: The size is exceeded for only a brief period of time. When eviction kicks in, it's reduced back to 5. Obviously, to see this number exactly, you'd need to print the contents as soon as the eviction round finished and before you add any new data!
Re 3: Just run your test and verified that eviction gets, first time run in 5 seconds and afterwards every 10 seconds:
grep -nH -e "EvictionTimerTask" jbosscache.log
| jbosscache.log:242:2009-09-15 18:20:56,127 520 TRACE [org.jboss.cache.eviction.EvictionTimerTask] (main:) Creating a new eviction listener with wakeupInterval millis set at 10000
| jbosscache.log:1509:2009-09-15 18:21:01,155 5548 TRACE [org.jboss.cache.eviction.EvictionTimerTask] (EvictionTimer-0:) Processing eviction regions [/, /user]
| jbosscache.log:3168:2009-09-15 18:21:11,243 15636 TRACE [org.jboss.cache.eviction.EvictionTimerTask] (EvictionTimer-0:) Processing eviction regions [/, /user]
| jbosscache.log:4908:2009-09-15 18:21:21,295 25688 TRACE [org.jboss.cache.eviction.EvictionTimerTask] (EvictionTimer-0:) Processing eviction regions [/, /user]
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255350#4255350
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255350
15 years, 4 months
[EJB 3.0 Users] - ejbTimeout java.lang.NullPointerException
by kyle.bober
I have an EJBTimer stateless session bean. I kick of the timer via a JMX bean and all works fine. It is when I restart the JBoss server that I am running into an issue.
I noticed that when I startup JBoss I receive the following error:
|
| 07:38:22,445 ERROR [GeneralPurposeDatabasePersistencePlugin] Cannot deserialize
| java.lang.ClassNotFoundException: com.thesearchagency.service.kat.model.KATReportDeleteTimer
| at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
| at java.security.AccessController.doPrivileged(Native Method)
| at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
| at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
| at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
| at java.lang.Class.forName0(Native Method)
| at java.lang.Class.forName(Class.java:247)
| at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:292)
| at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1119)
| at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:798)
| at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
| at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
| at java.lang.Class.forName0(Native Method)
| at java.lang.Class.forName(Class.java:247)
| at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
| at org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:109)
| at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
| at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.deserialize(GeneralPurposeDatabasePersistencePlugin.java:434)
| at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.selectTimers(GeneralPurposeDatabasePersistencePlugin.java:275)
| at org.jboss.ejb.txtimer.DatabasePersistencePolicy.listTimerHandles(DatabasePersistencePolicy.java:165)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy316.listTimerHandles(Unknown Source)
| at org.jboss.ejb.txtimer.EJBTimerServiceImpl.restoreTimers(EJBTimerServiceImpl.java:458)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy329.restoreTimers(Unknown Source)
| at org.jboss.as.ejb3.timerservice.JBossTimerServiceFactory.restoreTimerService(JBossTimerServiceFactory.java:118)
| at org.jboss.ejb3.stateless.StatelessContainer.lockedStart(StatelessContainer.java:196)
| at org.jboss.ejb3.EJBContainer.start(EJBContainer.java:884)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)
| at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)
| at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
| at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
| at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
| at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
| at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
| at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221)
| at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
| at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
| at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
| at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
| at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
| at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:121)
| at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:51)
| at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
| at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1210)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
| at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
| at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)
| at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)
| at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
| at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)
| at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)
| at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)
| at org.jboss.Main.boot(Main.java:221)
| at org.jboss.Main$1.run(Main.java:556)
| at java.lang.Thread.run(Thread.java:619)
|
|
When the EJBTimer @Timeout method is called I receive the following error:
|
| 11:53:41,390 DEBUG [KATReportDeleteTimerService] DeleteKATReportsTimerService Timeout ::
| null
| 11:53:41,468 ERROR [TimerImpl] Error invoking ejbTimeout
| java.lang.NullPointerException
| at com.thesearchagency.service.kat.impl.KATReportDeleteTimerService.deleteExpiredKATReports(KATReportDeleteTimerService.java:92)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
| at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
| at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
| at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
| at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_4373267.invoke(InvocationContextInterceptor_z_fillMethod_4373267.java)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
| at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_4373267.invoke(InvocationContextInterceptor_z_setup_4373267.java)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.tx.StatelessBMTInterceptor.handleInvocation(StatelessBMTInterceptor.java:106)
| at org.jboss.ejb3.tx.BMTInterceptor.invoke(BMTInterceptor.java:55)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:80)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
| at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
| at org.jboss.ejb3.stateless.StatelessContainer.callTimeout(StatelessContainer.java:249)
| at org.jboss.as.ejb3.timerservice.TimedObjectInvokerBridge.callTimeout(TimedObjectInvokerBridge.java:44)
| at org.jboss.ejb.txtimer.TimerImpl$TimerTaskImpl.run(TimerImpl.java:561)
| at java.util.TimerThread.mainLoop(Timer.java:512)
| at java.util.TimerThread.run(Timer.java:462)
|
|
|
Any help here would be much appreciated!
Thanks,
Kyle
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255346#4255346
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255346
15 years, 4 months
[jBPM Users] - startProcessInstanceByKey causing a
by jnlugo
Yesterday, I started with a fresh jBPM installation. I started a number of process instances no problem with the startProcessInstanceByKey() method. The one odd thing is that my process instance ids from yesterday end in even numbers ... 2, 4, 8, etc.
Today, after restarting the jboss app server, I was able to create one process instance with a process instance id ending in 1.
Now I can no longer start process instances with startProcessInstanceByKey(). I get the following exception.
Can someone please help out?
2009-09-15 11:38:42,248 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] (http-127.0.0.1-8080-5) Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.pvm.internal.history.model.HistoryTaskImpl#2]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1792)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:88)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:269)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:89)
at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1423)
at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:162)
at org.jbpm.pvm.internal.tx.jta.JtaTransaction.commit(JtaTransaction.java:91)
at org.jbpm.pvm.internal.tx.jta.JtaTransactionInterceptor.executeInNewTx(JtaTransactionInterceptor.java:81)
at org.jbpm.pvm.internal.tx.jta.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:61)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
at org.jbpm.pvm.internal.tx.jta.JtaRetryInterceptor.executeWithRetry(JtaRetryInterceptor.java:52)
at org.jbpm.pvm.internal.tx.jta.JtaRetryInterceptor.execute(JtaRetryInterceptor.java:45)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:46)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:70)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255345#4255345
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255345
15 years, 4 months