3 Replies Latest reply on Apr 6, 2009 7:26 PM by Ronald van Kuijk

    jBPM 3.2GA on Tomcat6 and MySql5

    Francesco Consiglio Newbie

      Hi,

      i was trying to install jBPM using Tomcat and Mysql, following the instructions posted here http://www.jboss.org/community/docs/DOC-11161

      but i'm not having proper results.
      I can get to the login form page but i've got a "try again" warning.
      I've created a Realm conf file as described:

      <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 u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
      usernamecol="g.TYPE_ = &#39;security-role&#39; 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>
      
      <!--
      <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 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_" ></Realm>
      </Context>
      -->


      The commented version gives me a http 403 access denied error, so i use the 1st definition.
      The DB is properly created and tables are filled with the initial data....i can see the creation of 4 users....i am trying to login with the "admin,admin" credentials.
      I'm gonna paste my hibernate-cfg.xml file in full version:

      <?xml version='1.0' encoding='utf-8'?>
      
      <!DOCTYPE hibernate-configuration PUBLIC
       "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
       "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
      
      <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>
      
       <property name="hibernate.connection.datasource">java:/JbpmDS</property>
       <!-- DataSource properties (begin)
       <property name="hibernate.connection.datasource">java:/JbpmDS</property>
       DataSource properties (end) -->
      
       <!-- JTA transaction properties (begin) ===-->
       <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
       <!--<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>-->
       <!--==== JTA transaction properties (end) -->
      
       <!-- CMT transaction properties (begin) ===
       <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
       <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
       ==== CMT transaction properties (end) -->
      
       <!-- logging properties (begin) ===-->
       <property name="hibernate.show_sql">true</property>
       <property name="hibernate.format_sql">true</property>
       <property name="hibernate.use_sql_comments">true</property>
       <!--==== logging properties (end) -->
      
       <!-- ############################################ -->
       <!-- # mapping files with external dependencies # -->
       <!-- ############################################ -->
      
       <!-- following mapping file has a dependendy on -->
       <!-- 'bsh-{version}.jar'. -->
       <!-- uncomment this if you don't have bsh on your -->
       <!-- classpath. you won't be able to use the -->
       <!-- script element in process definition files -->
       <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
      
       <!-- following mapping files have a dependendy on -->
       <!-- 'jbpm-identity.jar', mapping files -->
       <!-- of the pluggable jbpm identity component. -->
       <!-- Uncomment the following 3 lines if you -->
       <!-- want to use the jBPM identity mgmgt -->
       <!-- component. -->
       <!-- identity mappings (begin) -->
       <mapping resource="org/jbpm/identity/User.hbm.xml"/>
       <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
       <mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
       <!-- identity mappings (end) -->
      
       <!-- following mapping files have a dependendy on -->
       <!-- the JCR API -->
       <!-- jcr mappings (begin) ===
       <mapping resource="org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml"/>
       ==== jcr mappings (end) -->
      
      
       <!-- ###################### -->
       <!-- # jbpm mapping files # -->
       <!-- ###################### -->
      
       <!-- hql queries and type defs -->
       <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
      
       <!-- graph.def mapping files -->
       <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
       <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
       <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
       <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
       <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
       <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
       <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
       <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>
      
       <!-- graph.node mapping files -->
       <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
       <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
       <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
       <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
       <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
       <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
       <mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
       <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>
      
       <!-- context.def mapping files -->
       <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
       <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>
      
       <!-- taskmgmt.def mapping files -->
       <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>
      
       <!-- module.def mapping files -->
       <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
      
       <!-- bytes mapping files -->
       <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
      
       <!-- file.def mapping files -->
       <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>
      
       <!-- scheduler.def mapping files -->
       <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
       <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>
      
       <!-- graph.exe mapping files -->
       <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
       <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
       <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
       <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>
      
       <!-- module.exe mapping files -->
       <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>
      
       <!-- context.exe mapping files -->
       <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
       <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>
      
       <!-- job mapping files -->
       <mapping resource="org/jbpm/job/Job.hbm.xml"/>
       <mapping resource="org/jbpm/job/Timer.hbm.xml"/>
       <mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/>
       <mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml"/>
      
       <!-- taskmgmt.exe mapping files -->
       <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>
      
       <!-- logging mapping files -->
       <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
       <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
       <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
       <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
       <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>
      
       </session-factory>
      </hibernate-configuration>
      


      Plus i already use applications deployed with tomcat and that use a mysql db, the driver is correctly included into the tomcat lib path.
      I've copied all the libs under the original source to jbpm-console/WEB-INF/lib....i had to remove servlet-api.jar though cos it is already included in my tomcat version.
      Any tips or idea?

      Regards.