jBPM5 over EAP6 standalone-full, the ugly way

Some days ago I run into the need of seting up a BPM environment as quick as possible over a JBoss EAP6. The natural way to go was jBPM5 of course, and, based on my prior experience with its third version I forecasted I would need one morning to set it up, a day would be the worst case scenario.

So, I downloaded the BRMS and SOA platform and started my simple task. At the dawn of the third morning tired of trying and failing I downloaded the community package, read a little bit from the configuration documentation and came out whit a ugly provisional way: Run the installation script provided by the comminty and copied the pieces I needed to my server.

Installing jBPM5

All you need is to follow these steps until you run the installation ant task.

ant install.demo.db

This will deliver a full blown development environment which is all you need, unles you have to run on another app server which involves some manual configuration.

Installing jBPM5 on EAP6

First, open the standalone.xml file inside the JBoss AS7 folder the installer creates and the standalone-full.xml file inyour target server and do the following copies.

  • From the management section copy the secutity realms and interfaces. Make sure you don’t overwrite the existing ones, just add the nes ones.
    • This implies you should also copy AS7/standalone/configuration/mgmt-users.properties to EAP6/standalone/configuration
  • Change log level for the org.jboss.weld category to error to workaround WELD-1220
  • As you browse down the file you should notice the MySQL datasource
    • This implies you configure the MySQL Java connector as a module
  • Remove the urn:jboss:domain:messaging:1.2 subsystem so it doesn’t collide with the configuration provided in jbpm-human-task-war.war
  • From the urn:jboss:domain:security:1.2 copy the security domains for drools-guvnor, jbpm-console and jbpm-form-builder.
    • This implies you should also copy AS7/standalone/configuration/users.properties and AS7/standalone/configuration/roles.properties to EAP6/standalone/configuration

Then, copy from AS7/standalone/deployments all files to EAP6/standalone/deployments

  • designer.war
  • designer.war.dodeploy
  • jbpm-gwt-console.war
  • drools-guvnor.war
  • jbpm-human-task-war.war
  • jbpm-form-builder.war
  • jbpm-gwt-console-server.war

Finally, save and close the files and your’re ready to go.

Change service port

If old good Jenkins, or some other service, has already taken the port 8080 you’ll need to move your server to another port, let’s say 8081. In order to do so, you need to

  • Change the http entrance from the socket-binding-group section in the EAP6/standalone/configuration/standalone-full.xml file
  • Open the designer.war file and navigate to profiles/jbpm.xml and update the host property in externalloadurl.
  • Open the drools-guvnor.war file and navigate to WEB-INF/classes/preference.properties and update the designer.url and formbuilder.url entrances.
  • Open the jbpm-gwt-console-server.war file and navigate to WEB-INF/classes/jbpm.console.properties and update the guvnor.host entrance. Then navigate to the WEB-INF/classes/guvnor.preferences.properties and update the designer.url and formbuilder.url entrances.

Now, restart the server and you can access throught the new port.

I’ve uploaded the final standalone-full.xml file incase you would like to copy it.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s