5 Replies Latest reply on Aug 25, 2014 8:14 AM by Mariusz Adamczyk

    How to deploy JBPM 6 in Tomcat7?

    Ganesh Ingle Newbie

      http://stackoverflow.com/questions/18794297/how-to-deploy-jbpm-6-in-tomcat7

       

      I am struggling with JBPM6 console WAR deployment in Tomcat7. I am getting this exception from Tomcat:

      13 Sep, 2013 1:52:20 PM org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet /jbpm-console threw load() exception javax.servlet.ServletException: No servlet class has been specified for servlet javax.ws.rs.core.Application at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1130) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)

       

      This seems to be a JAX-RS related issue. I did try putting Jboss Easyrest jars in jbpm console war but didn't work. Then I tried putting Jercey bundle jar in the war and modified servlet class accordingly in web.xml, but that disn't work either.

       

      I think the standard steps/pre-requisites to deploy JBPM 6 in popular containers should be documented. There should be container specific distributions of JBPM WAR. Apparently the JBPM 6 console WAR is not plug and play. Container independence (out of the box) is important for my company.

        • 1. Re: How to deploy JBPM 6 in Tomcat7?
          Maciej Swiderski Master

          and there is specific to tomcat version of the web application, it was simply not yet included in CR distribution as the installer works with JBoss AS7 by default. Here you can find steps to install it on tomcat 7 and here is the war specific to tomcat7 (please note that it's name is kie-wb but feel free to rename it to jbpm-console).

           

          HTH

          1 of 1 people found this helpful
          • 2. Re: How to deploy JBPM 6 in Tomcat7?
            Galen Hollins Newbie

            Hi,

             

               Thanks for providing the instructions. I followed them as closely as possible, but in the end it's still not working for me.

             

            I was unable to do step #7 "edit beans.xml file in WEB-INF and uncomment JAASUserGroupCallback and remove MvelUserGroupCallbackImpl", as there was no entry named "JAASUserGroupCallback" in beans.xml.  The relevant section looks like this for me:

             

              <alternatives>

                <class>org.jbpm.services.task.lifecycle.listeners.JPATaskLifeCycleEventListener</class>

                <class>org.jbpm.services.task.identity.MvelUserGroupCallbackImpl</class>

                <!--class>org.jbpm.task.impl.CommandBasedTaskInstanceServiceImpl</class-->

              </alternatives>

             

            This is what my catalina.out log looks like:

             

            Oct 25, 2013 9:11:52 AM org.apache.catalina.startup.HostConfig deployWAR

            INFO: Deploying web application archive /Users/g/apps/apache-tomcat-7.0.42/webapps/jbpm-console.war

            Oct 25, 2013 9:11:52 AM bitronix.tm.integration.tomcat55.BTMLifecycleListener lifecycleEvent

            INFO: Starting Bitronix Transaction Manager

            Oct 25, 2013 9:11:52 AM bitronix.tm.BitronixTransactionManager logVersion

            INFO: Bitronix Transaction Manager version 2.1.4

            Oct 25, 2013 9:11:52 AM bitronix.tm.Configuration buildServerIdArray

            WARNING: cannot get this JVM unique ID. Make sure it is configured and you only use ASCII characters. Will use IP address instead (unsafe for production usage!).

            Oct 25, 2013 9:11:52 AM bitronix.tm.Configuration buildServerIdArray

            INFO: JVM unique ID: <137.78.59.220>

            Oct 25, 2013 9:11:52 AM bitronix.tm.recovery.Recoverer run

            INFO: recovery committed 0 dangling transaction(s) and rolled back 0 aborted transaction(s) on 0 resource(s) [] (restricted to serverId '137.78.59.220')

            Oct 25, 2013 9:11:57 AM org.apache.catalina.startup.TaglibUriRule body

            INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/i18n-1.0 is already defined

            Oct 25, 2013 9:11:57 AM org.apache.catalina.core.NamingContextListener addResource

            WARNING: Failed to register in JMX: javax.naming.NamingException: no resource registered with uniqueName 'jdbc/jbpm', available resources: []

            SLF4J: Class path contains multiple SLF4J bindings.

            SLF4J: Found binding in [jar:file:/Users/g/apps/apache-tomcat-7.0.42/lib/slf4j-jdk14-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

            SLF4J: Found binding in [jar:file:/Users/g/apps/apache-tomcat-7.0.42/webapps/jbpm-console/WEB-INF/lib/logback-classic-1.0.9.jar!/org/slf4j/impl/StaticLoggerBinder.class]

            SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

            SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

            Oct 25, 2013 9:12:11 AM org.apache.catalina.startup.HostConfig deployDirectory

            INFO: Deploying web application directory /Users/g/apps/apache-tomcat-7.0.42/webapps/docs

            Oct 25, 2013 9:12:11 AM org.apache.catalina.startup.HostConfig deployDirectory

            INFO: Deploying web application directory /Users/g/apps/apache-tomcat-7.0.42/webapps/examples

            Oct 25, 2013 9:12:11 AM org.apache.catalina.startup.HostConfig deployDirectory

            INFO: Deploying web application directory /Users/g/apps/apache-tomcat-7.0.42/webapps/host-manager

            Oct 25, 2013 9:12:11 AM org.apache.catalina.startup.HostConfig deployDirectory

            INFO: Deploying web application directory /Users/g/apps/apache-tomcat-7.0.42/webapps/manager

            Oct 25, 2013 9:12:11 AM org.apache.catalina.startup.HostConfig deployDirectory

            INFO: Deploying web application directory /Users/g/apps/apache-tomcat-7.0.42/webapps/ROOT

            Oct 25, 2013 9:12:11 AM org.apache.coyote.AbstractProtocol start

            INFO: Starting ProtocolHandler ["http-bio-8080"]

            Oct 25, 2013 9:12:11 AM org.apache.coyote.AbstractProtocol start

            INFO: Starting ProtocolHandler ["ajp-bio-8009"]

            Oct 25, 2013 9:12:11 AM org.apache.catalina.startup.Catalina start

            INFO: Server startup in 18938 ms

             

            For step #4: 

            4. Edit TOMCAT_HOME/conf/tomcat-users.xml to include roles and users, make sure there will be 'analyst', 'admin', 'developer', 'user' or 'manager'

            roles defined as it's required to be authorized to use kie-wb

             

            I created the following in tomcat-users.xml (I wasn't exactly sure if the #4 steps needed users created as well, but I went ahead and created them)

             

            <role rolename="analyst"/>

            <role rolename="admin"/>

            <role rolename="developer"/>

            <role rolename="user"/>

            <role rolename="manager"/>

            <user username="kris" password="kris" roles="analyst,admin,developer,user,manager"/>

            <user username="analyst" password="analyst" roles="analyst"/>

            <user username="admin" password="admin" roles="admin"/>

            <user username="developer" password="developer" roles="developer"/>

            <user username="user" password="user" roles="user"/>

            <user username="manager" password="manager" roles="manager"/>

             

             

            If I log in with kris/kris it stays on the login page, and says: "Login Failed: Not Authorized".

             

            If I log in with marco/marco it gives me a 500 page:

             

            java.lang.NullPointerException

            org.jboss.weld.context.AbstractBoundContext.deactivate(AbstractBoundContext.java:71)

            org.jboss.weld.context.http.HttpRequestContextImpl.deactivate(HttpRequestContextImpl.java:86)

            org.jboss.weld.servlet.WeldListener.requestDestroyed(WeldListener.java:103)

            org.jboss.weld.servlet.api.helpers.ForwardingServletListener.requestDestroyed(ForwardingServletListener.java:42)

            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

            org.kie.integration.tomcat.JACCValve.invoke(JACCValve.java:93)

            org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

            org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)

            org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

            org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

            java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

            java.lang.Thread.run(Thread.java:680)

             

             

            Any help would be appreciated here.

             

            Thanks!

            • 3. Re: How to deploy JBPM 6 in Tomcat7?
              graeme kitchen Newbie

              I also could not find #step 7 and am not entirely clear on which users/roles to add.  Did you find a solution for this?

               

               

               

              Just found this

               

              i found this in the github repository

               

              <class>org.jbpm.services.task.identity.JAASUserGroupCallbackImpl</class>

              • 4. Re: How to deploy JBPM 6 in Tomcat7?
                Marshal Lee Newbie

                Hi ,Maciej

                When I Try to deploy jbpm6.0.0 on tomcat7 ,met this problem too.

                I did all 7 steps , and can login with user.

                I can see some *** Message delivery failure *** of errai.bus in java console.

                when I try to deploy a deploymentunit in project editor, Seems that there is

                javax.persistence.PersistenceException: No Persistence provider for EntityManage

                r named org.jbpm.domain.

                I want to know,is there anyway to fix this issue?

                And hope you will offer me jbpm-6.0.0-tomcat7-Final.war with installation notes of MYSQL.

                Appreciate.

                Marshal

                ,

                • 5. Re: How to deploy JBPM 6 in Tomcat7?
                  Mariusz Adamczyk Newbie

                  Hi,

                   

                   

                  * resources.properties
                    ************************ sampke resources.properites **************************
                    resource.ds1.uniqueName=jdbc/jbpm
                    ******************************************************************************
                    NOTE: jdbc/jbpm is the JNDI name used by tomcat distribution of the application

                   

                  So what should be inserted instead jdbc/jbpm?
                  Cuold you give some example?