I found out something yesterday.

Taking a closer look at build.xml inside \jbpm-4.0\jboss y discovered that 
there's a JBoss 5.x configuration directory there, config.jboss5, used by 
default. Also there's a JBoss 4.x configuration directory, config.jboss4, but 
it's never used in that ant scrpit file. So if you change in that script the 
property
<property name="jboss.version" value="5.0.0.GA" />
for
<property name="jboss.version" value="4.2.3.GA" />

it will download and install JBoss 4.2.3 GA, and install JBPM on it, but it 
will not work, since none of the configuration files under config.jboss4 are 
used.

So I picked up those files and put it where they were supposed to be, inside 
"default" instance of JBoss:

        1. I copied and added JPBM Deployer MBean definition
        
                <mbean code="org.jbpm.integration.jboss4.JBPMDeployer" 
  |                     name="org.jbpm:service=JBPMDeployer">
  | </mbean>
  |     
                 from  

                
jbpm-4.0\jboss\config.jboss4\deploy\jbpm\jbpm-service.sar\META-INF\jboss-service.xml

                 to

                 
jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\META-INF\jboss-service.xml


        2. I copied 

jbpm-4.0\jboss\config.jboss4\deploy\jbpm\jbpm-service.sar\jboss-beans.xml
        
           to 

jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jboss-beans.xml

        
Then I tried to start JBoss but it failed. There were some classes missing, 
those involved with JBPMDeployer. I found them in jbpm-4.0\lib. They are 
jbpm-spi.jar (also in 
jbpm-4.0\jboss-4.2.3.GA\server\default\deployers\jbpm.deployer) and 
jbpm-jboss4.jar. 
I copied them to jbpm-4.0\jboss-4.2.3.GA\server\default\lib and restarted 
JBoss. It started OK, but simply accessing JBPM Console, I saw the 
java:/processEngine issue. There were no bean with that name bounded to JNDI.

That bean is defined in 
jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jboss-beans.xml,
 but somehow JBoss didn't see that file, and those beans are not instatiated on 
boot time, and, therefore, never bound to JNDI. 

To solve this, I moved jboss-beans.xml to

        
jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jbpm-service.beans\META-INF\jboss-beans.xml

instead of 

        
jbpm-4.0\jboss-4.2.3.GA\server\default\deploy\jbpm\jbpm-service.sar\jboss-beans.xml

This is the only way I've found to force JBoss to find those beans, instantiate 
them and bound them into JNDI, if they are configured for that. It's the case 
of 

  <bean name="org.jbpm:service=ProcessEngine"
  |         class="org.jbpm.integration.spi.JBPMService">
  |     <property name="serverConfig"><inject 
bean="org.jbpm:service=ServerConfig"/></property>
  |   </bean>

  wich, in its constructor, has the magic key...

   public JBPMService()
  |    {
  |     jndiName = "java:/ProcessEngine";
  |    }

Done this, JBPM 4.0 is finally working on JBoss 4.2.3 GA! 

I'll try to update build.xml ant script to do all this stuff automatically. 
I'll add it to related JIRA issue, also.

Regards!

PS: I apologize about my english!


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

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

Reply via email to