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