Deployment in JBoss

The installer deploys jBPM into JBoss. This section walks you through the deployed components.

The jbpm directory

When jBPM is installed on a server configuration in JBoss, only the jbpm directory is added to the deploy directory and all components will be deployed under that directory. No other files of JBoss are changed or added outside that directory.

The enterprise bundle

The enterprise bundle is a J2EE web application that contains the jBPM enterprise beans and the JSF based console. The enterprise beans are located in \deploy\jbpm\jbpm-enterprise-bundle.ear\jbpm-enterprise-beans.jar and the JSF web application is located at \deploy\jbpm\jbpm-enterprise-bundle.ear\jsf-console.war

Configuring the logs in the suite server

If you want to see debug logs in the suite server, update file jboss-{version}/server/default/config/log4j.xml Look for

   <!-- ============================== -->
   <!-- Append messages to the console -->
   <!-- ============================== -->

   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
      <param name="Target" value="System.out"/>
      <param name="Threshold" value="INFO"/>

And in param Threshold, change INFO to DEBUG.

Then you'll get debug logs of all the components. To limit the number of debug logs, look a bit further down that file until you see 'Limit categories'. You might want to add tresholds there for specific packages like e.g.

   <category name="org.hibernate">
      <priority value="INFO"/>
   </category>

   <category name="org.jboss">
      <priority value="INFO"/>
   </category>

Debugging a process in the suite

First of all, in case you're just starting to develop a new process, it is much easier to use plain JUnit tests and run the process in memory like explained in Chapter 3, Tutorial.

But if you want to run the process in the console and debug it there here are the 2 steps that you need to do:

1) in jboss-{version}/server/bin/run.bat, somewhere at the end, there is a line like this:

rem set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%

For backup reasons, just start by making a copy of that line, then remove the first 'rem' and change suspend=y to suspend=n. Then you get something like

rem set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%
set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS%

2) In your IDE debug by connecting to a remote Java application on localhost on port 8787. Then you can start adding break points and run through the processes with the console until the breakpoint is hit.

For more info about configuring logging of optimistic locking failures, see the section called “Logging of optimistic concurrency exceptions”