Showing posts with label jBPM. Show all posts
Showing posts with label jBPM. Show all posts

Monday, 27 July 2009

Seam 2 + MySQL 5 + jBPM 3

Seam (jboss-seam-2.1.2) could not start jBPM (jbpm-3.2.6.SP1) causes application deployment fails



02:08:48,718 ERROR [jbpm]] Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener
org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.bpm.jbpm


Caused by: org.hibernate.PropertyAccessException: could not get a field value by reflection getter of org.jbpm.job.Job.id

jboss-seam-2.1.2 comes with an older version of jbpm-jpdl.jar. Copy the newer one from jbpm-3.2.6.SP1 to replace the one in seam.



Seam (jboss-seam-2.1.2) example Hotel Booking, it causes exceptions during undeployment during JBoss shutdown



17:35:36,421 WARN [Component] Exception calling stateful session bean default @Remove method: hotelBooking
org.jboss.ejb3.common.registrar.spi.NotBoundException: Requested value bound at name "jboss.j2ee:ear=seam.example.hotel-ear.ear,jar=seam.example.hotel-ejb.jar,name=HotelBookingAction,service=EJB3" is not bound.


17:35:36,437 WARN [Component] Exception calling stateful session bean default @Remove method: bookingList
org.jboss.ejb3.common.registrar.spi.NotBoundException: Requested value bound at name "jboss.j2ee:ear=seam.example.hotel-ear.ear,jar=seam.example.hotel-ejb.jar,name=BookingListAction,service=EJB3" is not bound.


17:35:36,437 WARN [Component] Exception calling stateful session bean default @Remove method: hotelSearch
org.jboss.ejb3.common.registrar.spi.NotBoundException: Requested value bound at name "jboss.j2ee:ear=seam.example.hotel-ear.ear,jar=seam.example.hotel-ejb.jar,name=HotelSearchingAction,service=EJB3" is not bound.

Only the Stateful session beans like hotelSearch cause the exception. Inside the example there are jboss.xml which contains session bean registrations. Places this file to seam.example.hotel-ear\EarContent\META-INF.



Seam (jboss-seam-2.1.2) jBPM file for page flow could not be parsed



Caused by: org.jbpm.jpdl.JpdlException: [[ERROR] Unable to parse process definition pageflow.jpdl.xml]
at org.jboss.seam.bpm.Jbpm.getPageflowDefinitionFromResource(Jbpm.java:169)
at org.jboss.seam.bpm.Jbpm.installPageflowDefinitions(Jbpm.java:278)

Check if the process definition contains any sub process. If it does, in components.xml, all sub processes MUST be defined before the main process. For example: if cheat.jpdl.xml is a sub process of pageflow.jpd.xml, the follow one will cause the trouble




pageflow.jpdl.xml
cheat.jpdl.xml


And this one is correct.




cheat.jpdl.xml
pageflow.jpdl.xml

Monday, 13 July 2009

JBoss jBPM Info Center

jBPM 4.0

jBPM User Guide (jBPM 4.0)



jBPM Developers Guide (jBPM 4.0)



jBPM Wiki



Getting Started with jBPM 4.0 - (Part I)



Getting Started with jBPM 4.0 - (Part II)



Getting Started with jBPM 4.0 - (Part III)



Getting Started with jBPM 4.0 - (Part IV)



jBPM 3.X

jBPM3 Getting Started



jBPM deployment in production environments



FAQ

When running jBPM (3.2.6.SP1) within Seam (2.1.2), the process does not run in persistent state. For example: all process instances are lost after JBoss AS restarts


In jBPM side, hibernate.cfg.xml takes the main responsibility for jBPM's persistent properties. Make sure all settings are configured properly especially:

<property name="hibernate.connection.datasource">java:JbpmDS</property>


When trying jBPM's websale example, exception occurs when clicking evaluation button


Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fffd:daa:4a702b15:1fe status: ActionStatus.ABORT_ONLY >

Could not enlist in transaction on entering meta-aware object!;

Unable to persist timer


XA data sources and jBPM



When trying jBPM's websale example (jbpm-3.2.6.SP1), AFTER clicking evaluation button and complete the task successfully, manager's task with timer causes exceptions


java.lang.UnsupportedClassVersionError: Bad version number in .class file
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)

jBPM distribution maybe compiled by Java 6, use JDK6 compiled JBoss AS 5 and set JAVA_HOME and JRE_HOME to JDK6.