1 Reply Latest reply on Sep 5, 2009 5:30 AM by Ronald van Kuijk

    [JBPM 4.1] Installation in JBoss 4.2.1 (or EAP 4.3)

    Rodrigo Martinez Newbie

      Hi,

      I haven't been able to install JBPM 4.1 on Jboss 4.2.1. Previously I was able to install JBPM 4.0 by following the instructions (by pantcaser) posted on this forum:

      http://www.jboss.org/index.html?module=bb&op=viewtopic&t=157617

      I followed the same steps to install JBPM 4.1, but during Jboss startup I get the error below (only relevant bits). As you can see the JbpmDS is loaded AFTER the JBPM Mbeans:

      23:59:15,658 INFO [JBPMService]
      23:59:15,658 INFO [JBPMService]
      23:59:15,658 INFO [JBPMService] ProcessEngine bound to: java:/ProcessEngine
      23:59:15,741 INFO [Environment] Hibernate 3.2.4.sp1
      23:59:15,745 INFO [Environment] hibernate.properties not found
      23:59:15,747 INFO [Environment] Bytecode provider name : javassist
      23:59:15,754 INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
      23:59:15,834 INFO [Configuration] configuring from resource: jbpm.hibernate.cfg.xml
      23:59:15,835 INFO [Configuration] Configuration resource: jbpm.hibernate.cfg.xml
      23:59:15,900 INFO [Configuration] Reading mappings from resource : jbpm.repository.hbm.xml
      23:59:16,056 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.repository.DeploymentImpl -> JBPM4_DEPLOYMENT
      23:59:16,148 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.repository.DeploymentProperty -> JBPM4_DEPLOYPROP
      ...
      ...
      ...
      23:59:16,869 INFO [NamingHelper] JNDI InitialContext properties:{}
      23:59:16,876 FATAL [DatasourceConnectionProvider] Could not find datasource: java:JbpmDS
      javax.naming.NameNotFoundException: JbpmDS not bound
       at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
       at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
       at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
       at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589)
       at javax.naming.InitialContext.lookup(InitialContext.java:392)
       at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
       at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
       at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
       at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414)
       at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
       at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
       at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
       at org.jbpm.pvm.internal.wire.descriptor.HibernateSessionFactoryDescriptor.construct(HibernateSessionFactoryDescriptor.java:64)
       at org.jbpm.pvm.internal.wire.WireContext.construct(WireContext.java:473)
       at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:452)
       at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:441)
       at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:421)
       at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:331)
       at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:707)
       at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:139
      )
      ...
      ...
      ...
      23:59:20,843 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=JbpmDS' to JNDI name 'java:JbpmDS'
      
      



      I then tried to specify dependencies to the DataSourceBinding (in server/default/deploy/jbpm/jbpm-service.sar/jbpm-service.beans/META-INF/jboss-beans.xml).

       <bean name="org.jbpm:service=ProcessEngine"
       class="org.jbpm.integration.spi.JBPMService">
       <property name="serverConfig">
       <inject bean="org.jbpm:service=ServerConfig"/>
       </property>
      <!-- THIS -->
       <property name="dataSource">
       <inject bean="jboss.jca:service=DataSourceBinding,name=JbpmDS"/>
       </property>
      <!-- OR THIS-->
       <depends optional-attribute-name="DataSource">jboss.jca:service=DataSourceBinding,name=JbpmDS</depends>
       </bean>
      


      I get the exception below. As you can see the JbpmDS gets loaded after and the ProcessEngine mbean fails to deploy.

      ...
      ...
      ...
      00:24:55,210 WARN [ServiceController] Problem starting service jboss.beans:service=JBossBeanDeployment,name='jbpm-service.sar#jbpm-service.beans'
      org.jboss.deployment.DeploymentException: Cannot start AbstractKernelDeployment@6ca02839{name=file:/jboss/jbpm-4.1/jboss-4.2.1.GA/server/default/deploy/jbpm/jbpm-service.sar/jbpm-service.beans/META-INF/jboss-beans.xml installed=true beans=[AbstractBeanMetaData@6b0ede6{name=org.jbpm:service=KernelLocator bean=org.jbpm.integration.util.KernelLocator properties=[kernel] constructor=null}, AbstractBeanMetaData@49d29a78{name=org.jbpm:service=ProcessEngine bean=org.jbpm.integration.spi.JBPMService properties=[serverConfig] constructor=null demands=[jboss.jca:service=DataSourceBinding,name=JbpmDS]}, AbstractBeanMetaData@219b6225{name=org.jbpm:service=ServerConfig bean=org.jbpm.integration.jboss4.mgmt.ServerConfig properties=[webServiceHost] constructor=null}]}; - nested throwable: (java.lang.IllegalStateException: Incompletely deployed:
      
      *** DEPLOYMENTS MISSING DEPENDENCIES:
      org.jbpm:service=ProcessEngine -> org.jbpm:service=ServerConfig{Configured:Installed}, jboss.jca:service=DataSourceBinding,name=JbpmDS{Create:NOT FOUND}, jboss.jca:service=DataSourceBinding,name=JbpmDS{Start:NOT FOUND}
      )
      ...
      ...
      ...
      00:24:59,127 INFO [UILServerILService] JBossMQ UIL service available at : /127.0.0.1:8093
      00:24:59,159 INFO [DLQ] Bound to JNDI name: queue/DLQ
      00:24:59,253 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=JbpmDS' to JNDI name 'java:JbpmDS'
      


      I've been stuck with these for hours. Any body has any clue why this is happening? Any help would be very appreciated!


      Regards