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@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@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