I'm having an issue with one specific process deploying it on an oracle db. In total I've around 20 business process definitions. When the one specific process is included, I can not start any process execution. Not even an execution that has nothing to do with it. Also when going to the jBPM console I can not see the process definitions.
My configuration:
- jBPM 4.3
- Oracle driver: 10.2.0.1.0
- Using the ant task to deploy: org.jbpm.pvm.internal.ant.JbpmDeployTask
The process definition that is giving the problems:
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://jbpm.org/4.0/jpdl" name="notifySigningFinished">
<start name="start1" g="21,233,48,48"><transition to="getBundle"/></start>
<java ejb-jndi-name="SignatureProcessBean/local" method="getBundle" name="getBundle" var="bundle" g="200,162,92,48">
<arg><object expr="#{bundleId}"/></arg>
<transition to="isSigned" g="-39,-21"/>
</java>
<decision name="isSigned" g="316,162,48,48">
<transition name="to bundle is signed" to="fetchBundleInfo" g="-128,-22">
<condition expr="#{bundle.signStatus eq 'BOTH_SIGNED'}" />
</transition>
<transition name="to end" to="end" g="-3,-22"/>
</decision>
<java ejb-jndi-name="SignatureProcessBean/local" g="516,162,92,48" method="getBundleInfo" name="fetchBundleInfo" var="bundleInfo">
<arg>
<object expr="#{bundleId}"/>
</arg>
<transition to="fetchMailToList"/>
</java>
<java ejb-jndi-name="SignatureProcessBean/local" g="650,162,92,48" method="getMailToAPLList" name="fetchMailToList" var="mailToAPLList">
<transition to="bundle is signed"/>
</java>
<state name="bundle is signed" g="650,265,48,48">
<transition name="end" to="end" />
<transition name="timeout" to="sendBundleSignedNotification">
<timer duedate="1 business seconds" />
</transition>
</state>
<sub-process g="750,265,92,52" name="sendBundleSignedNotification" sub-process-key="sendBundleSignedMail">
<parameter-in subvar="mailToAPLList" var="mailToAPLList"/>
<parameter-in subvar="bundleInfo" var="bundleInfo"/>
<transition to="end"/>
</sub-process>
<end name="end" />
</process>
The exception I'm getting when starting a process execution:
2010-08-09 18:16:04,465 INFO [org.jbpm.pvm.internal.svc.DefaultCommandService] (EJB-Timer-1281101023833[target=jboss.j2ee:ear=***REMOVED***,name=***REMOVED***]) exception while executing command org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd@51c50bce
java.lang.NullPointerException
at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89)
at org.jbpm.pvm.internal.repository.ProcessDeployer.deploy(ProcessDeployer.java:63)
at org.jbpm.pvm.internal.repository.DeployerManager.deploy(DeployerManager.java:46)
at org.jbpm.pvm.internal.repository.RepositorySessionImpl.getObject(RepositorySessionImpl.java:129)
at org.jbpm.pvm.internal.query.ProcessDefinitionQueryImpl.execute(ProcessDefinitionQueryImpl.java:72)
at org.jbpm.pvm.internal.query.AbstractQuery.untypedList(AbstractQuery.java:71)
at org.jbpm.pvm.internal.query.AbstractQuery.untypedUniqueResult(AbstractQuery.java:75)
at org.jbpm.pvm.internal.query.ProcessDefinitionQueryImpl.uniqueResult(ProcessDefinitionQueryImpl.java:145)
at org.jbpm.pvm.internal.repository.RepositorySessionImpl.findProcessDefinitionByKey(RepositorySessionImpl.java:153)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:58)
at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:38)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.executeInExistingTx(JtaTransactionInterceptor.java:70)
at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:55)
at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.executeWithoutRetry(JtaRetryInterceptor.java:56)
at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.execute(JtaRetryInterceptor.java:48)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:66)
at be.cirb.business.beans.upload.TriggerProcessFilesImpl.timeout(TriggerProcessFilesImpl.java:39)
at sun.reflect.GeneratedMethodAccessor487.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
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.InvocationContextInterceptor$InvocationContext.proceed(InvocationContextInterceptor.java:138)
at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:101)
at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
at sun.reflect.GeneratedMethodAccessor395.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.ejb3.interceptors.aop.EJB3InterceptorInterceptor.invoke(EJB3InterceptorInterceptor.java:83)
at org.jboss.ejb3.interceptors.aop.EJB3InterceptorInterceptor.invoke(EJB3InterceptorInterceptor.java:70)
at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:59)
at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:76)
at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:62)
at sun.reflect.GeneratedMethodAccessor394.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
When deploying it on a local mySQL, I've no problems.
Some additional remarks: I've had similar problems with oracle in the past (deploying jBPM business processes). I could fix them by removing all xml comments from the jpdl files and also any DOS line feeds. When doing a google search on this issue, I can find one related post (http://permalink.gmane.org/gmane.comp.java.jboss.user/293637), but I can not find back that message in the user forums, so no idea if there's a solution for this.
Joris