[jboss-user] [JBoss jBPM] - Install Problems with jbpm/MySQL

lyallp do-not-reply at jboss.com
Wed Nov 19 00:41:27 EST 2008


I am having problems with getting jbpm working.

eclipse-jee-ganymede-SR1-win32.zip
jboss-4.2.3.GA.zip
jbpm-installer-3.3.0.GA.jar
jbpm-jpdl-designer-suite-3.1.5.zip
jdk-6u5-windows-i586-p.exe
mysql-5.0.67-win32.exe
mysql-connector-java-3.1.14.zip

OS = Windows 2003 Server SP2 (x86 32 bit)

MySQL on same server in C:/jboss-4.2.3.GA
I copied the mysql-connector-java-3.1.14-bin.jar into c:/jboss-4.2.3.GA/server/default/lib/
I have updated c:/jboss-4.2.3.GA/server/default/conf/login-config.xml

  |     <application-policy name = "MySqlDbRealm">
  |        <authentication>
  |           <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule"
  |              flag = "required">
  |              <module-option name = "principal">jboss</module-option>
  |              <module-option name = "userName">jboss</module-option>
  |              <module-option name = "password">password</module-option>
  |              <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=DefaultDS</module-option>
  |           </login-module>
  |        </authentication>
  |     </application-policy>
  | 

I have created c:/jboss-4.2.3.GA/server/default/deploy/mysql-default-ds.xml

  |     <?xml version="1.0" encoding="UTF-8"?>
  | 
  |     <!-- $Id: mysql-ds.xml 71535 2008-04-01 07:05:03Z adrian at jboss.org $ -->
  |     <!--  Datasource config for MySQL using 3.0.9 available from:
  |     http://www.mysql.com/downloads/api-jdbc-stable.html
  |     -->
  | 
  |     <datasources>
  |       <local-tx-datasource>
  | 	<jndi-name>DefaultDS</jndi-name>
  | 	<connection-url>jdbc:mysql://localhost:3306/jbossdb</connection-url>
  | 	<driver-class>com.mysql.jdbc.Driver</driver-class>
  | 	<user-name>jboss</user-name>
  | 	<password>password</password>
  | 	<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
  | 	<!-- should only be used on drivers after 3.22.1 with "ping" support -->
  | 	<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
  | 	<!-- sql to call when connection is created
  | 	<new-connection-sql>some arbitrary sql</new-connection-sql>
  | 	  -->
  | 	<!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
  | 	<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
  | 	  -->
  | 
  | 	<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
  | 	<metadata>
  | 	   <type-mapping>mySQL</type-mapping>
  | 	</metadata>
  |       </local-tx-datasource>
  | 
  |     </datasources>
  | 

I copied c:/jboss-4.2.3.GA/docs/examples/jms/mysql-jdbc2-service.xml
to c:/jboss-4.2.3.GA/server/default/deploy/jms/mysql-jdbc2-service.xml
and updated with the following fragment (updated name=DefaultDS)

  |   <mbean code="org.jboss.mq.pm.jdbc2.PersistenceManager"
  | 	 name="jboss.mq:service=PersistenceManager">
  |     <depends optional-attribute-name="ConnectionManager">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
  | 

I then created a database in MySQL called 'jbossdb' and a user 'jboss' which has full control over the 'jbossdb' database.

I boot jBoss and the jms tables appeared and everything appeares to operate correctly.

I then shutdown jBoss and then install 'jbpm' using  jboss-4.2.3.GA

I install into c:/jbpm-3.3.0.GA 
* point it at C:/jboss-4.2.3.GA
* use MySQL

I then created a database in MySQL called 'jbpmdb' and a user 'jbpm' which has full control over all databases (in my desparation)

I then edit c:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-mysql-ds.xml

  |     <?xml version="1.0" encoding="UTF-8"?>
  |     <datasources>
  | 
  |       <xa-datasource>
  | 	<jndi-name>JbpmDS</jndi-name>
  | 
  | 	<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
  | 	<xa-datasource-property name="URL">jdbc:mysql://localhost:3306/jbpmdb</xa-datasource-property>
  | 	<user-name>jbpm</user-name>
  | 	<password>password</password>
  | 
  | 	<!-- reduce isolation from the default level (repeatable read) -->
  | 	<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
  | 	<!-- separate connections used with and without JTA transaction -->
  | 	<no-tx-separate-pools />
  | 	<!-- disable transaction interleaving -->
  | 	<track-connection-by-tx />
  | 
  | 	<!-- leverage mysql integration features -->
  | 	<exception-sorter-class-name>
  | 	  com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter
  | 	</exception-sorter-class-name>
  | 	<valid-connection-checker-class-name>
  | 	  com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker
  | 	</valid-connection-checker-class-name>
  | 
  | 	<!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
  | 	<metadata>
  | 	  <type-mapping>mySQL</type-mapping>
  | 	</metadata>
  |       </xa-datasource>
  | 
  |     </datasources>
  | 

I then copied c:/jbpm-3.3.0.GA/config/hibernate.cfg.mysql.xml into c:/jbpm-3.3.0.GA/config/hibernate.cfg.xml
and edited the following fragment

  |     <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/jbpmdb</property>
  | 	<property name="hibernate.connection.username">jbpm</property>
  | 	<property name="hibernate.connection.password">Password1</property>
  | 	<property name="hibernate.query.substitutions">true 1, false 0</property>
  | 	<!-- JDBC connection properties (end) -->
  | 
  | 
  | 	<!-- DataSource properties (begin) -->
  | 	<property name="hibernate.connection.datasource">java:comp/env/jdbc/JbpmDataSource</property>
  | 	<!-- DataSource properties (end) -->
  | 

I then copied this into C:\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\hibernate.cfg.xml

When I boot JBOSS, the following diagnostics are generated..

  |     --- Incompletely deployed packages ---
  |     org.jboss.deployment.DeploymentInfo at 8ebe4553 { url=file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/jsf-console.war/ }
  |       deployer: MBeanProxyExt[jboss.web:service=WebServer]
  |       status: Deployment FAILED reason: URL file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/jsf-console.war/ deployment failed
  |       state: FAILED
  |       watch: file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/jsf-console.war/WEB-INF/web.xml
  |       altDD: null
  |       lastDeployed: 1227111755625
  |       lastModified: 1227087751875
  |       mbeans:
  | 
  |     org.jboss.deployment.DeploymentInfo at c3886145 { url=file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/ }
  |       deployer: org.jboss.deployment.EARDeployer at 1b158db
  |       status: Deployment FAILED reason: URL file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/jsf-console.war/ deployment failed
  |       state: FAILED
  |       watch: file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/META-INF/application.xml
  |       altDD: null
  |       lastDeployed: 1227111755625
  |       lastModified: 1227087751562
  |       mbeans:
  | 
  |     --- MBeans waiting for other MBeans ---
  |     ObjectName: jboss.j2ee:service=EjbModule,module=jbpm-enterprise-beans.jar
  |       State: FAILED
  |       Reason: org.jboss.deployment.DeploymentException: Error while fixing table name; - nested throwable: (org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.lang.reflect.UndeclaredThrowableException); - nested throwable: (org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.lang.reflect.UndeclaredThrowableException)))
  | 
  |     ObjectName: jboss.web.deployment:war=jsf-console.war,id=-1900133037
  |       State: FAILED
  |       Reason: org.jboss.deployment.DeploymentException: URL file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/jsf-console.war/ deployment failed
  | 
  |     --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
  |     ObjectName: jboss.web.deployment:war=jsf-console.war,id=-1900133037
  |       State: FAILED
  |       Reason: org.jboss.deployment.DeploymentException: URL file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/jsf-console.war/ deployment failed
  | 
  |     ObjectName: jboss.j2ee:service=EjbModule,module=jbpm-enterprise-beans.jar
  |       State: FAILED
  |       Reason: org.jboss.deployment.DeploymentException: Error while fixing table name; - nested throwable: (org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (java.lang.reflect.UndeclaredThrowableException); - nested throwable: (org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.lang.reflect.UndeclaredThrowableException)))
  | 

with more detailed logs from the first failure.


  |     2008-11-20 02:52:36,000 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:service=EjbModule,module=jbpm-enterprise-beans.jar
  |     2008-11-20 02:52:36,000 DEBUG [org.jboss.ejb.EjbModule] Starting jboss.j2ee:service=EjbModule,module=jbpm-enterprise-beans.jar
  |     2008-11-20 02:52:36,000 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.TimerEntityBean] Initializing CMP plugin for TimerEntityBean
  |     2008-11-20 02:52:36,015 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.TimerEntityBean] Loading standardjbosscmp-jdbc.xml : file:/C:/jboss-4.2.3.GA/server/default/conf/standardjbosscmp-jdbc.xml
  |     2008-11-20 02:52:36,312 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.TimerEntityBean] file:/C:/jboss-4.2.3.GA/server/default/deploy/jbpm/jbpm-enterprise-bundle.ear/jbpm-enterprise-beans.jar/META-INF/jbosscmp-jdbc.xml found. Overriding defaults
  |     2008-11-20 02:52:36,437 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] internalRegisterPool: registering pool with interval 900000 old interval: 450000
  |     2008-11-20 02:52:36,468 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.parentTraceEnabled=true
  |     2008-11-20 02:52:36,468 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.nestedTraceEnabled=false
  |     2008-11-20 02:52:36,468 DEBUG [org.jboss.util.NestedThrowable] org.jboss.util.NestedThrowable.detectDuplicateNesting=true
  |     2008-11-20 02:52:36,468 WARN  [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
  |     org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.lang.reflect.UndeclaredThrowableException)
  | 	    at org.jboss.resource.adapter.jdbc.xa.XAManagedConnectionFactory.createManagedConnection(XAManagedConnectionFactory.java:155)
  | 	    at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:619)
  | 	    at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:264)
  | 	    at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:575)
  | 	    at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:347)
  | 	    at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:330)
  | 	    at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:402)
  | 	    at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:849)
  | 	    at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
  | 	    at org.jboss.ejb.plugins.cmp.jdbc.SQLUtil.fixTableName(SQLUtil.java:172)
  | 	    at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge.init(JDBCEntityBridge.java:157)
  | 	    at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.initStoreManager(JDBCStoreManager.java:435)
  | 	    at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:368)
  | 	    at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:172)
  | 	    at org.jboss.ejb.EjbModule.startService(EjbModule.java:414)
  | 	    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  | 	    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
  | 	    at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
  | 	    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     ...
  | 

I edited a copy of C:\jbpm-3.3.0.GA\database\jbpm.jpdl.mysql.sql to put a ';' at the end of each line
then used 'mysql' to execute it, generating all the tables in the jbpmdb database.

This makes no difference.

I tried changing the password of the 'jbpm' user - instead of unable to connect, I then receive authorisation
failures, so this indicates, at least to me, that I am successfully connecting to MySQL but something is going wrong.

I use phpMyAdmin on a different server to administer MySQL, so I am quite confident that MySQL is ok.


Suggestions as to where I am going wrong would be greatly appreciated.

...Lyall


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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4190316



More information about the jboss-user mailing list