12 Replies Latest reply on Jun 3, 2010 10:53 PM by iapazmino

    Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.GA

      Hi!

      I am faced with some jBPM 4.0.CR1 installation issues on a fresh JBoss AS 4.2.3.GA instance. Neither the jBPM deployer is 'deployed' nor the ProcessEngine is bound to the JNDI. Does anybody has succeeded to install jBPM 4 in AS 4.2.3?

      Error while sample deploy:

      16:40:54,961 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
      
      --- Packages waiting for a deployer ---
      org.jboss.deployment.DeploymentInfo@640ea244 { url=file:/C:/Dev/server/jboss-4.2.3.GA/server/default/deploy/process.jpdl.xml }
       deployer: null
       status: null
       state: INIT_WAITING_DEPLOYER
       watch: file:/C:/Dev/server/jboss-4.2.3.GA/server/default/deploy/process.jpdl.xml
       altDD: null
       lastDeployed: 1245940854960
       lastModified: 1245940854955
       mbeans:
      
      --- Incompletely deployed packages ---
      org.jboss.deployment.DeploymentInfo@640ea244 { url=file:/C:/Dev/server/jboss-4.2.3.GA/server/default/deploy/process.jpdl.xml }
       deployer: null
       status: null
       state: INIT_WAITING_DEPLOYER
       watch: file:/C:/Dev/server/jboss-4.2.3.GA/server/default/deploy/process.jpdl.xml
       altDD: null
       lastDeployed: 1245940854960
       lastModified: 1245940854955
       mbeans:
      
      


      Error while accessing gwt-console:

      javax.naming.NameNotFoundException: ProcessEngine not bound
       org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
       org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
       org.jnp.server.NamingServer.getObject(NamingServer.java:543)
       org.jnp.server.NamingServer.lookup(NamingServer.java:296)
       org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
       org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
       javax.naming.InitialContext.lookup(InitialContext.java:392)
       org.jbpm.integration.console.forms.TaskDispatcherPluginImpl.initializeProcessEngine(TaskDispatcherPluginImpl.java:243)
       org.jbpm.integration.console.forms.TaskDispatcherPluginImpl.<init>(TaskDispatcherPluginImpl.java:61)
       sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       java.lang.reflect.Constructor.newInstance(Constructor.java:513)
       java.lang.Class.newInstance0(Class.java:355)
       java.lang.Class.newInstance(Class.java:308)
       org.jboss.bpm.console.server.util.ServiceLoader.loadFromServices(ServiceLoader.java:89)
       org.jboss.bpm.console.server.util.ServiceLoader.loadService(ServiceLoader.java:56)
       org.jboss.bpm.console.server.plugin.PluginMgr.load(PluginMgr.java:48)
       org.jboss.bpm.console.server.InfoFacade.getServerStatus(InfoFacade.java:65)
       org.jboss.bpm.console.server.InfoFacade.getServerInfo(InfoFacade.java:54)
       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       java.lang.reflect.Method.invoke(Method.java:597)
       org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:117)
       org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:260)
       org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:232)
       org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:166)
       org.jboss.resteasy.core.DispatcherUtilities.getJaxrsResponse(DispatcherUtilities.java:142)
       org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
       org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:173)
       org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:93)
       org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:68)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
       org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      
      


      Any suggestions?

      - Thomas

      ---

      Maybe useful information:

      Installation steps:

      • from jboss/ ant install.jbpm.into.jboss
      • from db/ ant create.jbpm.schema

        Environment:

        • JBoss AS 4.2.3.GA JDK 6, default configuration
        • jBPM 4.0.CR1
        • Hypersonic Database Configuration


        • 1. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.

          I'm also having same issue..any ideas

          • 2. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.

            well...found that had to install jbpm cr1 which looks for java:/ProcessEngine

            • 3. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.

              Yes, indeed. As mentioned in my first post, the ProcessEngine is not bound to the JNDI. If you try to deploy a jpdl file, you are faced with a message of kind "missing Deployer" ...

              See: https://jira.jboss.org/jira/browse/JBPM-2380

              • 4. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.
                pantcaser

                Facing same problem with JVM 6 + JBOSS 4.2.3 GA+ JBPM 4.0. Dealing with it right now.

                • 5. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.

                  I developed a workaround and described it into the jira issue.

                  • 6. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.

                    I forgot to mention that the workaround is just for the JNDI bind.

                    • 7. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.
                      pantcaser

                      I found out something yesterday.

                      Taking a closer look at build.xml inside \jbpm-4.0\jboss y discovered that there's a JBoss 5.x configuration directory there, config.jboss5, used by default. Also there's a JBoss 4.x configuration directory, config.jboss4, but it's never used in that ant scrpit file. So if you change in that script the property

                      <property name="jboss.version" value="5.0.0.GA" />

                      for
                      <property name="jboss.version" value="4.2.3.GA" />


                      it will download and install JBoss 4.2.3 GA, and install JBPM on it, but it will not work, since none of the configuration files under config.jboss4 are used.

                      So I picked up those files and put it where they were supposed to be, inside "default" instance of JBoss:

                      1. I copied and added JPBM Deployer MBean definition

                      <mbean code="org.jbpm.integration.jboss4.JBPMDeployer"
                       name="org.jbpm:service=JBPMDeployer">
                      </mbean>
                      

                      from

                      jbpm-4.0\jboss\config.jboss4\deploy\jbpm\jbpm-service.sar\META-INF\jboss-service.xml

                      to

                      jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\META-INF\jboss-service.xml


                      2. I copied

                      jbpm-4.0\jboss\config.jboss4\deploy\jbpm\jbpm-service.sar\jboss-beans.xml

                      to

                      jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jboss-beans.xml


                      Then I tried to start JBoss but it failed. There were some classes missing, those involved with JBPMDeployer. I found them in jbpm-4.0\lib. They are jbpm-spi.jar (also in jbpm-4.0\jboss-4.2.3.GA\server\default\deployers\jbpm.deployer) and jbpm-jboss4.jar.
                      I copied them to jbpm-4.0\jboss-4.2.3.GA\server\default\lib and restarted JBoss. It started OK, but simply accessing JBPM Console, I saw the java:/processEngine issue. There were no bean with that name bounded to JNDI.

                      That bean is defined in jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jboss-beans.xml, but somehow JBoss didn't see that file, and those beans are not instatiated on boot time, and, therefore, never bound to JNDI.

                      To solve this, I moved jboss-beans.xml to

                      jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jbpm-service.beans\META-INF\jboss-beans.xml

                      instead of

                      jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jboss-beans.xml

                      This is the only way I've found to force JBoss to find those beans, instantiate them and bound them into JNDI, if they are configured for that. It's the case of

                      <bean name="org.jbpm:service=ProcessEngine"
                       class="org.jbpm.integration.spi.JBPMService">
                       <property name="serverConfig"><inject bean="org.jbpm:service=ServerConfig"/></property>
                       </bean>


                      wich, in its constructor, has the magic key...

                      public JBPMService()
                       {
                       jndiName = "java:/ProcessEngine";
                       }


                      Done this, JBPM 4.0 is finally working on JBoss 4.2.3 GA!

                      I'll try to update build.xml ant script to do all this stuff automatically. I'll add it to related JIRA issue, also.

                      Regards!

                      PS: I apologize about my english!


                      • 8. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.
                        kukeltje

                        Your English is great ;-)

                        The Engine jndi thing and the not working of the build target can be seen as an issue. The deployer not working is 'offcially' not, since it is in 'incubation' (under development/testing/etc...)

                        Best way to currently deploy is with the ant task directly against the database. But any positive reports or issues found with the deployer may always be reported.

                        • 9. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.

                          Please totally disregard what I have posted in Jira and here! The pantcaser solution is much better. It has no change in code so it has no collateral effects. I'm also updating jira.

                          Sorry for any inconvenience!

                          • 10. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.
                            c4s4l

                            Attention to anyone installing jBPM 4.1 on JBoss AS 4.2.3, these workarounds generate an error.
                            When copying the jboss-beans.xml to jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jbpm-service.beans\META-INF\jboss-beans.xml one should remove the JBPMService declaration from this file, or else it will give the an error related to the JbpmDS.

                            Regards,
                            Sergio

                            • 11. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.
                              kukeltje

                              What error? Instead of removing the service, I'd say try to add a dependency on JbpmDS as mentioned in my other post.

                              • 12. Re: Installation issues with jBPM 4.0.CR1 on JBoss AS 4.2.3.
                                iapazmino

                                I downloaded the 4.3 version. There I can't find any file versions for jboss 4.2.x

                                I've downloaded 4.0 zip but it doesn have either those files you talk about.

                                Would you mind uploading or copying them so I can try your solution? thanks in advance