[jboss-user] [JBoss jBPM] - Re: clean handoff

wasperen do-not-reply at jboss.com
Wed Aug 2 17:03:29 EDT 2006


The rule base is generated by compiling the .drl file and then stored in a serialized form in a blob in the database.

When a process instance needs to compute task assignments, it pulls the stored rule base from the db, creates a new working memory and requests the authorization seeder for seeding objects.

The seeder is a generic interface that is implemented by a bean in my business domain of which the main method just returns a list of Objects to be asserted into the working memory (as static facts). In my case it returns the list of Individuals. All 3000 of them, actually, therefore my attempt to keep a live working memory during the life time of the process instance... Which fails because of the sheer size of it. (Serialization stack overflow... I tried to use the JBoss serializer but JBoss Rules does not have an interface that works with JBoss serialization...)

Then the BPM engine asserts wrappers (more simplified objects) for all existing swimlane instances and their pooled actors. Fires the rules and re-aligns the process swimlane and task instances with the content of the working memory.

So the rules import the business objects and the interfaces of the simplified swimlanes and pooled actors. The latter are in the api of my BPM engine.
This means that the space the rules live in is entirely abstracted from the specific library that implemented the rule engine. Just thought that would make it more generic. Of course the rule language and rule base compilation is dedicated for JBoss Rules.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3962626#3962626

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3962626



More information about the jboss-user mailing list