Please see below the necessary steps to get jBPM 3.2 working with Tomcat and 
MySQL.

Environment:
Tomcat 6.0.10
MySQL 5.0.15
jBPM 3.2.GA

1. in jbpm-jpdl-3.2.GA/deploy run
ant customize.console.for.tomcat

2. this builds a jbpm-console.war in jbpm-jpdl-3.2.GA/deploy/customized 
(almost) ready for deployment in TC

3. change the jbpm-console.war/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/jbpm32</property>
  |     <property name="hibernate.connection.username">jbossjbpm</property>
  |     <property name="hibernate.connection.password">jbossjbpm</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>
  | ...

(Make sure to use the hibernate.connection.driver/url attributes to connect to 
the db and not the hibernate.connection.datasource property. Also set 
hibernate.transaction.factory_class to JDBCTransactionFactory instead of the 
JTATransactionFactory or CMTTransactionFactory which are already in this file.)

4. copy jboss-j2ee.jar (or maybe as well any jar that contains the default 
javax.transaction package) to jbpm-console.war/WEB-INF/lib. (Note: 
jboss-j2ee.jar can be found in a standard JBoss AS distribution)

5. Copy the jar containing the mysql jdbc driver to /$CATALINA_HOME/lib

6. Copy the adapted jbpm-console.war to /$CATALINA_HOME/webapps

Give it a try and start Tomcat. You should be able to start the jbpm web 
application, but for now you cannot successfully log in.

Next thing to do would be to properly configure your security realm. You could 
either go for the standard file based MemoryRealm and just add the jBPM 
specific users and roles to /$CATALINA_HOME/conf/tomcat-users.xml, OR...

Setup a JDBCRealm:

7. 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/jbpm32"
  |     connectionName="jbossjbpm" 
  |     connectionPassword="jbossjbpm"
  |     userTable="JBPM_ID_USER" 
  |     userNameCol="NAME_" 
  |     userCredCol="PASSWORD_"
  |     userRoleTable="JBPM_ID_MEMBERSHIP" 
  |     roleNameCol="ROLE_" />
  | </Context>

8. Adapt the jBPM user tables to fit in the Tomcat Realm specification. If you 
have the standard tables (JBPM_ID_USER, JBPM_ID_GROUP, JBPM_ID_MEMBERSHIP) with 
the default entries already, be sure that the the columns NAME_ and ROLE_ in 
JBPM_ID_MEMBERSHIP are not NULL. If so you could use the following SQL to 
update this table:
UPDATE jbpm_id_membership j, jbpm_id_user u
  | SET j.NAME_ = u.NAME_
  | WHERE j.USER_ = u.ID_
  | 
  | UPDATE jbpm_id_membership j, jbpm_id_group g
  | SET j.ROLE_ = g.NAME_
  | WHERE j.GROUP_ = g.ID_

Now you should be able to run jBPM default web app in Tomcat and login with the 
username/password from the db.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4032004#4032004

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4032004
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to