Since the first final release of jBPM5 at the beginning of 2011 a little more than one year has passed. Despite of being a final release there have been a couple of bugs and the documentation was having many deficiencies. During the last year, however, jBPM5 was quickly moving forward and many bugs were fixed and the documentation has significantly improved.
Notwithstanding the improvements there are still some points which are not covered by the documentation of which the most important one for us is the integration of jBPM5 into a Java EE6 application. In the past we had multiple Java EE 5 projects where jBPM3 could be easily integrated. This is something we want for the current amazing Java EE 6 stack. Unfortunately there is no documentation on how to achieve this goal – maybe because no one succeeded in implementing it? Therefore, we took on this challenge and found a solution which meets our requirements. In this blog post we will describe this solution. Before we start to describe our solution we want to briefly lay out the requirements of the integration of jBPM5 into a Java EE 6 application.
CDI introduced a convenient implementation of the observer pattern into the JavaEE world. Using the CDI API, components can emit events, or receive events created by other components (using the @Observes annotation). This allows developers to reduce the coupling between the emitters and the receivers of events.
However, the current API does not allow to handle what we call “global” events. Global events are propagated among all active sessions, i.e., current users and are not restricted to the current session.
This blog post briefly explores the CDI observer pattern and explains how it can be extended to support global events.
Are you using JBoss Messaging in a firewalled environment? Do your long running JMS consumers fail to receive JMS notifications after some time of inactivity? If you answer yes to any of these questions you might be interested in our field report where we describe how we diagnosed and fixed such issues with JBoss Messaging and long running JMS consumers within a Java Swing Client.
akquinet has created and published a Maven Archetype which allows you to setup and run a JBoss Seam Sample-Application with a full Maven based build configuration in around 10 seconds.