2 Replies Latest reply on Aug 11, 2010 12:02 PM by joris.dewinne

    jBPM 4.3 deployment on oracle

    joris.dewinne

      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>
         <!-- Check if bundle is both signed -->
         <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

       

        • 1. Re: jBPM 4.3 deployment on oracle
          joris.dewinne

          I think I've found the reason. When splitting my business processes in 2 archives (bar's), I can deploy the whole stuff. It looks like I can only deploy max 19 jpdl files in one archive on oracle. I've tested it with several jpdl files, and each time I reach number 20, it fails.

           

          Joris

          • 2. Re: jBPM 4.3 deployment on oracle
            joris.dewinne

            Seems like I'm hitting another issue. Now I'm having another two business processes I can not deploy on the oracle db. Those processes exist since some weeks in our development and nothing have changed to them. So it must be something deployment related or some oracle specific configuration?

             

            Joris