11 Replies Latest reply on Dec 13, 2007 2:55 AM by deady

    How to integrate jBpm into EJB3 based application

    alduro

      Hi,
      I´ve been reading a lot of docs, wikis and tutorials and I didn´t find a way to integrate jBpm into a EJB3 based app.
      I´ve got a service layer with EJB3 session beans that expose all functionalities. Behind them are the EJB3 entities. All of them are interacting through IoC (injecting resources and persistance manager).

      I would like to interact with jBpm service the same way from services layer and calling other EJB3 services from jbpm actions through IoC. Is this possible ? How can I manage 2 different persistence managers (one for the domain model application and the other one for the jbpm work tables model) ? Is it possible to inject a Jbpm Context into a EJB3 session bean ?

      I´ve tried using jbpm 3.2 with jboss 4.0.5 but the WAR console file has a lot of problems with JSF libraries. Now I´m trying with 3.1 starter-kit version.

      Thanks in advance.
      Aldo.

        • 1. Re: How to integrate jBpm into EJB3 based application
          kukeltje

          3.2 lots of problems with jsf libraties? What kind of problems. Runs fine here....

          • 2. Re: How to integrate jBpm into EJB3 based application
            koen.aers

            To further answer Aldo's question about combining EJB3 and jBPM, you should wrap the jBPM API you need in a stateless session bean. You can inject your EJB3 persistence context in this session bean and use it to programmatically change the session on your jBPM context. In that way you don't use two persistence managers but only the EJB3 one.

            Regards,
            Koen

            • 3. Re: How to integrate jBpm into EJB3 based application
              alduro

              Thanks kukeltje for your quick answer.
              As to question, this is the error stacktrace:
              (It seems there are some compatibility issues with JSF libraries included into jbpm-console.war. This problem disappear when I replaced jsf libraries for jsf 1.2_05 version. My Jboss version: 4.0.5 GA, jBpm version 3.2. Thanks in advance.

              2007-10-26 10:02:19,101 DEBUG [org.jboss.web.tomcat.tc5.TomcatDeployer] AbstractWebContainer.parseWebAppDescriptors, End
              2007-10-26 10:02:19,132 DEBUG [org.jboss.web.tomcat.tc5.TomcatDeployer] Using session cookies default setting
              2007-10-26 10:02:19,351 ERROR [STDERR] 26/10/2007 10:02:19 com.sun.faces.config.ConfigureListener contextInitialized
              INFO: Initializing Sun's JavaServer Faces implementation (1.2_03-b09-FCS) for context 'null'
              2007-10-26 10:02:20,054 ERROR [STDERR] 26/10/2007 10:02:20 com.sun.faces.spi.InjectionProviderFactory createInstance
              ADVERTENCIA: JSF1033: Resource injection is DISABLED.
              2007-10-26 10:02:20,211 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] Added url: file:/C:/Server/jboss-4.0.5.GA/server/default/tmp/aopdynclasses/ucl65054/?dynamic=true, to ucl: org.jboss.mx.loading.UnifiedClassLoader3@16fb2f8{ url=file:/C:/Server/jboss-4.0.5.GA/server/default/tmp/deploy/tmp65053jbpm-enterprise.ear ,addedOrder=49}
              2007-10-26 10:02:20,242 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jbpm-console]] Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
              java.lang.IndexOutOfBoundsException: Invalid start=695 end=1 length=696
              at org.jboss.lang.JBossStringBuilder.delete(JBossStringBuilder.java:256)
              at org.jboss.lang.JBossStringBuilder.deleteCharAt(JBossStringBuilder.java:269)
              at com.sun.faces.renderkit.RenderKitUtils.loadSunJsfJs(RenderKitUtils.java:1067)
              at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:468)
              at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
              at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
              at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
              at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
              at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
              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.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
              at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.apache.catalina.core.StandardContext.init(StandardContext.java:5052)
              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.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
              at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:297)
              at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:103)
              at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:371)
              at org.jboss.web.WebModule.startModule(WebModule.java:83)
              at org.jboss.web.WebModule.startService(WebModule.java:61)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
              at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
              at $Proxy0.start(Unknown Source)
              at org.jboss.system.ServiceController.start(ServiceController.java:417)
              at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy42.start(Unknown Source)
              at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
              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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
              at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
              at org.jboss.ws.integration.jboss.DeployerInterceptor.start(DeployerInterceptor.java:92)
              at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
              at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
              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:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy43.start(Unknown Source)
              at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
              at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
              at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              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:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy8.deploy(Unknown Source)
              at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
              at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
              at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
              at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
              at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
              at $Proxy0.start(Unknown Source)
              at org.jboss.system.ServiceController.start(ServiceController.java:417)
              at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy4.start(Unknown Source)
              at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
              at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
              at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
              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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
              at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
              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:659)
              at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
              at $Proxy5.deploy(Unknown Source)
              at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
              at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
              at org.jboss.Main.boot(Main.java:200)
              at org.jboss.Main$1.run(Main.java:490)

              • 4. Re: How to integrate jBpm into EJB3 based application
                alduro

                So Koen, the idea would be:
                Having a stateless session bean as facade for jBpm workflows instantiations. I could inject jBpmContext resource into them and starting workflows. Then each jBpm Action could call the rest of EJB3 session beans using IoC ? or do I need to do some delegate class for calling EJB3 domain session bean from jBpm Action ?

                Thanks in advance.

                • 5. Re: How to integrate jBpm into EJB3 based application
                  deady

                   

                  "alduro" wrote:
                  Thanks kukeltje for your quick answer.
                  As to question, this is the error stacktrace:
                  (It seems there are some compatibility issues with JSF libraries included into jbpm-console.war. This problem disappear when I replaced jsf libraries for jsf 1.2_05 version. My Jboss version: 4.0.5 GA, jBpm version 3.2. Thanks in advance.


                  can you define more exactly which libraries did you replace? those, which came with jbpm-console.war or those, which live in /tomcat/jsf-lisb/ ? I have the same problem as you.

                  • 6. Re: How to integrate jBpm into EJB3 based application
                    alduro

                    Deady, I replaced the libraries that come into jbpm-console.war. It is not a smooth solution, but it works so far.
                    Aldo.

                    • 7. Re: How to integrate jBpm into EJB3 based application
                      deady

                      I replaced jsf libs with 1.2-b20-FCS (found here:

                      https://javaserverfaces.dev.java.net/servlets/ProjectDocumentList?folderID=5420&expandFolder=5420&folderID=5420

                      ), now jbpm-console deploys ok, but I recieve this error when I go to http://localhost:8080/jbpm-console/:

                      12:01:37,265 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
                      java.lang.NoSuchMethodError: javax.faces.application.ViewHandler.initView(Ljavax/faces/context/FacesContext;)V
                       at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:124)
                       at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
                       at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:132)
                       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
                       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                       at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
                       at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
                       at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
                       at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
                       at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:315)
                       at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:243)
                       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
                       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
                       at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
                       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                       at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
                       at java.lang.Thread.run(Thread.java:595)
                      12:01:37,266 WARN [FormAuthenticator] Unexpected error forwarding to login page
                      javax.servlet.ServletException: javax.faces.application.ViewHandler.initView(Ljavax/faces/context/FacesContext;)V
                       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
                       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
                       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
                       at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
                       at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
                       at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
                       at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
                       at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:315)
                       at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:243)
                       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
                       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
                       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
                       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
                       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
                       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
                       at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
                       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
                       at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
                       at java.lang.Thread.run(Thread.java:595)
                      
                      


                      • 8. Re: How to integrate jBpm into EJB3 based application
                        deady

                        I have the same error with jas-1.2_05

                        • 9. Re: How to integrate jBpm into EJB3 based application
                          deady

                           

                          "Deady" wrote:
                          I have the same error with jas-1.2_05


                          jsf-1.2_05

                          • 10. Re: How to integrate jBpm into EJB3 based application

                            See http://fisheye5.cenqua.com/browse/javaserverfaces-sources/jsf-ri/src/com/sun/faces/renderkit/RenderKitUtils.java?r1=1.34&r2=1.35

                            I don't know anything about jsf, but the problem was a race condition between threads, and was fixed in this diff. If it's easy to config down to a single worker thread, you can quickly test this hypothesis. (I don't know Tomcat, either!)

                            -Ed Staub

                            • 11. Re: How to integrate jBpm into EJB3 based application
                              deady

                              I've downloaded jsf-1.2_07 sources: they already contain pathched version of this class, but it doesn't work.


                              The problem is in the libs in my /server/tomcat/jsf-libs/.
                              I have there:

                              [Deady@pc jsf-libs]$ ls
                              commons-beanutils-1.7.0.jar commons-validator-1.3.1.jar jstl.jar richfaces-ui-3.1.2.GA.jar
                              commons-codec-1.3.jar el-api.jar kaptcha-2.0.jar standard.jar
                              commons-collections-3.2.jar el-ri.jar myfaces-api-1.1.5.jar tomahawk-1.1.6.jar
                              commons-digester-1.8.jar htmLib.jar myfaces-impl-1.1.5.jar tomahawk-sandbox-1.1.7-SNAPSHOT.jar
                              commons-discovery-0.4.jar j4j.jar oscache-2.2.jar
                              commons-lang-2.1.jar jakarta-oro-2.0.8.jar richfaces-api-3.1.2.GA.jar
                              commons-logging-1.1.jar jsf-facelets.jar richfaces-impl-3.1.2.GA.jar
                              
                              


                              if i remove all of then and copy jars from jbpm suite then everything works OK.
                              I tryed deleting jars one by one: imho the problem is with tomahawk jars.