[rules-users] Proper termination of a CommandService
Kris Verlaenen
kris.verlaenen at cs.kuleuven.be
Wed Dec 3 11:33:55 EST 2008
The life cycle of the command service is under user control, so you can decide yourself when to create / dispose a command service. A possible use case would be to create the service once and let it handle all requests and only dispose if you want to take it down. You are apparently creating one session per process instance, and disposing it after the process instance has been completed, which is also possible if that is what you want. So the question on when to dispose a session is more about how long you would like to reuse the session. Note that creating a new session from an existing rulebase is light-weight, so you shouldn't be too afraid from creating multiple session and disposing once in a while.
Kris
----- Original Message -----
From: Michal Bali
To: Rules Users List
Sent: Tuesday, December 02, 2008 10:24 PM
Subject: Re: [rules-users] Proper termination of a CommandService
Thank you Kris ! That is perfect.
I was a bit worried If I was asking wrong questions, since I wasn't getting any answers.
I have a follow up question though :)
I have an asynchronous ruleflow (by asynchronous I mean ruleflow that has some asynchronous nodes like a human task). Would it be OK to register a afterRuleFlowCompleted RuleFlowEventListener and dispose the session (that contains an instance of this asynchronous ruleflow) there? What is the recommended way to dispose this session? I guess same questions applies to a CommandService (where is the best place to call commandService.dispose() method?).
Best Regards,
Michal
On Tue, Dec 2, 2008 at 4:31 PM, Kris Verlaenen <kris.verlaenen at cs.kuleuven.be> wrote:
Michal,
I'll add a dispose method to the SingleSessionCommandService. Don't think using a command for this would be a good idea as it would leave the session in a disposed state so future commands would fail.
Regarding your earlier question, SingleSessionCommandService now also has constructors that allow you to pass in a PlaceholderResolverStrategyFactory.
Kris
----- Original Message -----
From: Michal Bali
To: Rules Users List
Sent: Tuesday, December 02, 2008 1:24 AM
Subject: [rules-users] Proper termination of a CommandService
Hello,
Let's say I have some implementation of a CommandService (for example StatefulSessionCommandService). After I finish working with this CommandService, I want to correctly 'destroy' this object. Since it contains a stateful rule session, I believe this session needs to be disposed. What is the right way to do it?
I was thinking about implementing a DisposeCommand that will simply call session.dispose() in its execute method. Is this a valid solution?
Best Regards,
Michal
--------------------------------------------------------------------------
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
------------------------------------------------------------------------------
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20081203/58235667/attachment.html
More information about the rules-users
mailing list