Nov 23
This post is a how-to with the necessary steps to install jBPM 3.2.2 on a Apache Tomcat 5.5 and MySQL 5.0.
- Create schema and table in database
In this example a schema ‘jbpm’ with a user ‘jboss’ is used.
Generate all jBPM tables using the script jbpm.jpdl.mysql.sql. If you want your users/roles information (the identity components) also from the MySQL db, use the second sql script attached here mysql.identity.script.jbpm321.sql to set up the necessary tables and fill them with the demo values. - Prepare your jBPM archive
- Open a console in jbpm-jpdl-3.2.2/deploy and run:
ant customize.console.for.tomcat
- This builds a jbpm-console.war in jbpm-jpdl-3.2.2/deploy/customized
- Unzip this file and change jbpm-console/WEB-INF/classes/hibernate.cfg.xml to reflect the following changes:
<hibernate-configuration> <session-factory> <!-- hibernate dialect --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <!-- JDBC connection properties (begin) --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property> <property name="hibernate.connection.username">jboss</property> <property name="hibernate.connection.password">jboss</property> <!-- JDBC connection properties (end) --> <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property> <!-- DataSource properties (begin) == <property name="hibernate.connection.datasource">java:/JbpmDS</property> == DataSource properties (end) --> <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> ... - Note that the following line is commented:
<property name="hibernate.connection.datasource">java:/JbpmDS</property>
- Extract el-api.jar and el-ri.jar from the original war file (jbpm-console.war/WEB-INF/lib) to jbpm-console/WEB-INF/lib
- Copy jboss-j2ee.jar and commons-collections.jar to jbpm-console/WEB-INF/lib. You can find these files in jbpm-jpdl-3.2.2/server/server/jbpm/lib
- Download mysql jdbc driver from MySQL Home Page and move it to $TOMCAT_HOME/common/lib
- Zip jbpm-console to a war file and move it to $TOMCAT_HOME/webapps
- Open a console in jbpm-jpdl-3.2.2/deploy and run:
- Setup a JDBC Realm in Tomcat
Create a file jbpm-console.xml in /$CATALINA_HOME/conf/Catalina/localhost similar to
<Context> <Realm className="org.apache.catalina.realm.JDBCRealm" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/jbpm" connectionName="jboss" connectionPassword="jboss" userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g" userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_" userCredCol="DISTINCT u.PASSWORD_" userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g" roleNameCol="g.NAME_" /> </Context>
Now you should be able to run jBPM default web app in Tomcat.
This how-to is a resume and an adaptation of JBoss.com Wiki. Sql scripts are also the same of the original page.


January 12th, 2008 at 10:16 am
Thanks for information.
many interesting things
Celpjefscylc
March 24th, 2008 at 8:02 am
Hi,
I have done all the steps as mentioned. As soon as I add jbpm-console.xml in /$CATALINA_HOME/conf/Catalina/localhost, I get an error saying Context path required.
Error deploying configuration descriptor jbpm-console.xml
Please help out.
March 25th, 2008 at 6:57 pm
I’m sorry Gaurav, I never got this error.
April 1st, 2008 at 5:39 am
when i enter url: http://ntanh:8085/jbpm-console
have error:
Unexpected error forwarding to login page
javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1180)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:660)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.
java:316)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:2
44)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Htt
p11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.ja
va:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
please help me!
April 1st, 2008 at 12:16 pm
Did you configured JDBC realm correctly? Try to run jbpm-console using database admin account.
If it not works, problem might be elsewhere (Tomcat or JSF config).
ps: MySQL is at localhost? You have to configure it to allow remote access…
April 2nd, 2008 at 2:50 am
I configured JDBC realm by oracleDB 10G and used database admin account.
April 2nd, 2008 at 7:43 am
Oracle?? buff, I never tried jBPM in Oracle… Did you follow JBoss.com instructions? http://wiki.jboss.org/wiki/Wiki.jsp?page=JbpmOnOracle
July 5th, 2008 at 11:32 pm
Hi
I am using jbpm-jpdl-suite-3.2.3
Can’t find the el-ri.jar file on my system.
Found the el-api.jar file in jBMP\server\server\jbpm\lib directory.
Could you please help.
Thanks in advance
July 6th, 2008 at 1:32 am
@Sanjar
I don’t know…. I have not tried 3.2.3.
I’m sorry