6 Replies Latest reply on Jun 4, 2007 6:01 AM by Martin Weiler

    jbpm-3.2.GA incompatibility with jboss-4.2.CR1

    Christian Macher Newbie

      Hi everyone!

      I am trying to deploy the jbpm-enterprise.ear file to a JBoss-4.2.CR1 and run into an incompatibility problem with JSF. It seems that the AS uses a different JSF implementation than the jbpm-console included in the ear file.

      10:26:49,234 INFO [EJBDeployer] Deployed: file:/C:/dev/workspace/jboss-4.2.0.CR1/server/node1/tmp/deploy/tmp21186jbpm-enterprise.ear-contents/
      jbpm-enterprise.jar
      10:26:49,265 INFO [TomcatDeployer] deploy, ctxPath=/jbpm-console, warUrl=.../tmp/deploy/tmp21186jbpm-enterprise.ear-contents/jbpm-console-exp.war/
      10:26:49,593 FATAL [application] JSF1029: The specified InjectionProvider implementation 'org.jboss.web.jsf.integration.injection.JBossInjectionProvider' does not implement the InjectionProvider interface.
      10:26:49,593 WARN [application] JSF1033: Resource injection is DISABLED.
      10:26:49,937 ERROR [[/jbpm-console]] Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
      java.lang.LinkageError: loader constraint violation: when resolving interface method
      "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;"
      the class loader (instance of org/jboss/web/tomcat/service/WebAppClassLoader) of the current class, com/sun/faces/config/ConfigureListener, and the class loader (instance of org/jboss/mx/loading/UnifiedClassLoader3) for re
      solved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
       at com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:1638)
      


      Found similar problem here: http://jboss.org/index.html?module=bb&op=viewtopic&t=99450

      Is there a way to solve this problem or is it just not possible to use the jbpm-console of jbpm-3.2.GA within a jboss-4.2.CR1 AS? Any help or hint would be highly appreciated!

      Cheers
      Chris


        • 1. Re: jbpm-3.2.GA incompatibility with jboss-4.2.CR1
          Martin Weiler Apprentice

          My guess is that it will require some configuration changes to work, because starting with JBoss 4.2 MyFaces is not longer the default JSF provider:

          http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossWithJSFCDDL
          http://wiki.jboss.org/wiki/Wiki.jsp?page=JBoss5AndMyFaces

          If I have some time I'll give it a try and post the results here.

          Regards, Martin

          • 2. Re: jbpm-3.2.GA incompatibility with jboss-4.2.CR1
            David Lloyd Master

            In order for this to work, you must remove the following JARs from the console WAR within the EAR:

            el-api.jar
            el-ri.jar
            jsf-api.jar
            jsf-impl.jar

            Then it *should* work as expected.

            • 3. Re: jbpm-3.2.GA incompatibility with jboss-4.2.CR1
              Christian Macher Newbie

              1. I have excluded these jars in my console WAR and deployed it. Jboss starts without errors but when I start the jbpm-console app I still get these JSF or facelet related errors like:

              15:47:09,000 ERROR [STDERR] 13-Apr-2007 15:47:09 com.sun.facelets.compiler.TagLibraryConfig loadImplicit

              2. When I then try to logon I get the following error regarding the hibernate.cfg.xml file:

              16:05:25,437 DEBUG [JbpmBean] org.jbpm.webapp.bean.JbpmBean@2f0bd7 using NEW org.jbpm.JbpmContext@52f9b2
              16:05:25,437 DEBUG [DbPersistenceServiceFactory] building hibernate session factory
              16:05:25,437 DEBUG [HibernateHelper] creating hibernate configuration resource 'hibernate.cfg.xml'
              16:05:25,437 INFO [Configuration] configuring from resource: hibernate.cfg.xml
              16:05:25,437 INFO [Configuration] Configuration resource: hibernate.cfg.xml
              16:05:25,437 ERROR [STDERR] 13-Apr-2007 16:05:25 com.sun.facelets.FaceletViewHandler handleRenderException
              SEVERE: Error Rendering View[/search/tasks.xhtml]
              javax.el.ELException: /search/tasks.xhtml @14,81 session="#{jbpmBean.jbpmContext.session}": Error reading 'session' on type org.jbpm.JbpmContext
               at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
               at org.jbpm.webapp.tag.jbpm.ui.Search.getSession(Search.java:47)
               at org.jbpm.webapp.tag.jbpm.ui.UICriteria.initialize(UICriteria.java:72)
               at org.jbpm.webapp.tag.jbpm.ui.UICriteria.initialize(UICriteria.java:134)
               at org.jbpm.webapp.tag.jbpm.ui.UICriteria.getSearchBean(UICriteria.java:229)
               at org.jbpm.webapp.tag.jbpm.ui.Search.initialize(Search.java:191)
               at org.jbpm.webapp.tag.jbpm.ui.Search.encodeBegin(Search.java:92)
               at javax.faces.component.UIComponent.encodeAll(UIComponent.java:882)
               at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
               at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:810)
               at javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
               at javax.faces.component.UIComponent.encodeAll(UIComponent.java:890)
               at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:578)
               at org.jbpm.webapp.application.JbpmViewHandler.renderView(JbpmViewHandler.java:58)
               at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
               at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
               at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
               at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
               at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
               at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
               at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
               at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
               at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
               at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
               at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
               at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
               at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
               at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
               at java.lang.Thread.run(Unknown Source)
              Caused by: org.hibernate.HibernateException: Could not parse configuration: hibernate.cfg.xml
               at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1491)
               at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
               at org.jbpm.db.hibernate.HibernateHelper.createConfiguration(HibernateHelper.java:91)
               at org.jbpm.persistence.db.DbPersistenceServiceFactory.getConfiguration(DbPersistenceServiceFactory.java:69)
               at org.jbpm.persistence.db.DbPersistenceServiceFactory.getSessionFactory(DbPersistenceServiceFactory.java:91)
               at org.jbpm.persistence.jta.JtaDbPersistenceService.isCurrentJtaTransactionAvailable(JtaDbPersistenceService.java:37)
               at org.jbpm.persistence.jta.JtaDbPersistenceService.<init>(JtaDbPersistenceService.java:22)
               at org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory.openService(JtaDbPersistenceServiceFactory.java:17)
               at org.jbpm.svc.Services.getService(Services.java:141)
               at org.jbpm.svc.Services.getPersistenceService(Services.java:180)
               at org.jbpm.JbpmContext.getPersistenceService(JbpmContext.java:628)
               at org.jbpm.JbpmContext.getSession(JbpmContext.java:504)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
               at java.lang.reflect.Method.invoke(Unknown Source)
               at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
               at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
               at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
               at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
               at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
               at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)


              The only change I have made in my hibernate.cfg.xml (located in the jbpm-configs.jar) file is to set the dialect to MySQL

              <!-- hibernate dialect -->
               <property name="hibernate.dialect">org.hibernate.dialect.MYSQLDialect</property>


              • 4. Re: jbpm-3.2.GA incompatibility with jboss-4.2.CR1
                Christian Macher Newbie

                There was a mistake in the hibernate.cfg.xml. I misspelled the dialect. Changed it but still get the same error :-(

                <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>


                • 5. Re: jbpm-3.2.GA incompatibility with jboss-4.2.CR1
                  Christian Macher Newbie

                  jbpm-3.2.GA is working now with jboss-4.2.CR after removing the following JARs from the jbpm-console WAR:

                  hibernate3.jar
                  dom4j.jar
                  el-api.jar
                  el-ri.jar
                  jsf-api.jar
                  jsf-impl.jar

                  Cheers
                  Chris