[rules-users] Drools Flow Persistence throws stack overflow error

PremKumar s premkumar.sivanandan at gmail.com
Thu Oct 8 11:36:52 EDT 2009


Thanks Kris for your input. It would be great if you could share us on
sample code snippet how to acheive this ObjectMarshallingStrategy for
ProcessInstances .

Also confirm us by using this approach the process is avialable for drools
rule constraints to take decisions.

Thanks
Prem

On Thu, Oct 8, 2009 at 4:07 PM, Kris Verlaenen <
kris.verlaenen at cs.kuleuven.be> wrote:

> This is indeed a special case.  Process instances are already stored as
> part of the session runtime state, so no need to store them again as
> part of the working memory.  You need to register a custom
> ObjectMarshallingStrategy for ProcessInstances in the working memory
> that simply retrieves them from the session state.
>
> Kris
>
> Quoting PremKumar s <premkumar.sivanandan at gmail.com>:
>
> > Hi,
> >
> >
> >
> >       I am evaluating the drools expert with drool flow using
> > TimeManagement
> > System. I am inserting the process instance into working memory of
> > drools
> > [session.insert(workflowProcessInstance)]  So that the rules can use
> > the
> > process instance as part of Rule constraints to enable the rules to
> > make
> > more sophisticated decisions based on the state of the current
> > process
> > instance.
> >
> >
> >
> > Rule snippet
> >
> >
> >
> > rule "Submit Time"  ruleflow-group "Submit Time"
> >        dialect "java"
> >        when
> >
> >                processInstance:WorkflowProcessInstance()
> >
> >                tkRequest:TKRequest ()
> >                tkRequestDAO:TKRequestDAO()
> >        then
> >
> >                     // check the current processInstance state as
> > Active
> > then do that
> >
> >                        //Do custom operation, status change,
> > persistence
> > update
> >
> >        end
> >
> >
> >
> >        The approach is works fine with using
> > KnowledgeBuilder.newStatefulKnowledgeSession() that is no
> > persistence.  But
> > once i have enabled the Persistence using
> > JPAKnowledgeService.newStatefulKnowledgeSession(know, null,
> > getEnvironment())  it throws stack over flow error due the
> > workflowProcessInstance is not serialized while trying to persist the
> > newly
> > added workflowProcessInstance  to working memory.
> >
> >
> >
> >            Once i have commented the
> > session.insert(workflowProcessInstance)
> > the stack overflow error is gone but none of my rules are not
> > executed.
> >
> >
> >
> > Can some one provide guidance on how to pass this
> > workflowProcessInstance to
> > rule constriant with persistence JPAKnowledgeSession enabled.
> >
> >
> >
> > Thanks
> >
> > Prem
> >
>
>
>
>
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091008/3a7cee12/attachment.html 


More information about the rules-users mailing list