I recently tried to deploy the jbpm-console (jbpm-enterprise.ear) packaged in the jbpm-jpdl-suite-3.2.GA.zip. And came across the following problems, I use JBOSS 4.0.5 GA and JDK 1.5.0_11:
- The readme.html in the jbpm-jpdl-suite-3.2.GA/deploy is very summier. It promises an out-of-the-box deployment but that is not really the case.
- When hot deploying the ear file and navigating to the login page I get a NullPointerException:
08:28:33,305 ERROR [STDERR] 10/09/2007 08:28:33 com.sun.facelets.FaceletViewHandler handleRenderException SEVERE: Error Rendering View[/common/login.xhtml] java.lang.NullPointerException
- After restarting JBOSS it doesnot give me a NullPointer anymore but I still see these error messages in my console:
08:39:21,448 ERROR [STDERR] 12/09/2007 08:39:21 com.sun.faces.lifecycle.ELResolverInitPhaseListener populateFacesELResolverForJsp INFO: JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container. 08:39:24,727 ERROR [STDERR] 12/09/2007 08:39:24 com.sun.facelets.compiler.TagLibraryConfig loadImplicit INFO: Added Library from: jar:file:/home/lars/tools/jboss-4.0.5.GA/server/default/./tmp/deploy/tmp21907jbpm-enterprise.ear-contents/jbpm-console-exp.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-html.taglib.xml
- When I try to login I get this error message in my console:
08:32:11,669 ERROR [UsersRolesLoginModule] Failed to load users/passwords/role files java.io.IOException: No properties file: users.properties or defaults: defaultUsers.properties found at org.jboss.security.auth.spi.Util.loadProperties(Util.java:315)
Someone replied on a blog I wrote to add the jbpm authentication policy that can be found in login-config.xml in the jbpm-jpdl-suite-3.2.GA.zip. I tried this, it does not give me the error in the console anymore but I am still not able to login. The page just keeps telling me borrow some glasses...
<application-policy name = "jbpm"> <authentication> <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required"> <module-option name="dsJndiName">java:/JbpmDS</module-option> <module-option name="principalsQuery"> SELECT PASSWORD_ FROM JBPM_ID_USER WHERE NAME_=? </module-option> <module-option name="rolesQuery"> SELECT g.NAME_ ,'Roles' FROM JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g WHERE g.TYPE_='security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_=? </module-option> </login-module> </authentication> </application-policy>
I then tried to copy the jbpm-jpdl-3.2.GA/server/server/jbpm to my existing JBOSS server and start that one. This gives me a:
09:09:39,241 ERROR [STDERR] java.lang.NoClassDefFoundError: org/dom4j/DocumentException 09:09:39,241 ERROR [STDERR] at org.jbpm.db.hibernate.HibernateHelper.createConfiguration(HibernateHelper.java:85)
After I copied the dom4j.jar into the server/jbpm/lib folder it started without errors and I am able to login. I do believe the dom4j adding to the lib is mentioned somewhere but I wonder why it is not already in the server/jbpm/lib folder?