MVEL expression
by Femke De Backere
Hi,
The following expression keeps returning the error [112,32]: [ERR 103]
Line 112:32 no viable alternative at input '+' in rule "RuleFlow-Split-
masterproef.ruleflows.shortsedation-18-22" in pattern Patient:
Patient(sedation.ultiva+0.02 > 0.1)
with sedation.ultiva returning a double
What am I doing wrong?
Thx,
Femke
12 years, 12 months
Re: [rules-users] Firing Mulitple packages
by Esteban Aliverti
Could you post the way you are using to add kassets to kbase?
El ago 13, 2010 12:20 p.m., "Vignesh" <viki.ccc(a)gmail.com> escribió:
Hi Esteban,
I have tried the same logic by adding all the packages in my application in
to the kbase and executed the same, but only the drl file got loaded in it,
other kassets like dsl, ruleflow present in it were not added to the same.
Do we need to add everything separetly?
Kindly let me know whether im missing something here.
Thanks,
Vignesh
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/Firing-Mulitple-packa...
Sent from the Drools - User mailing list archive at Nabble.com.
____________________________________...
13 years
RuleFlow WorkItem check for abort
by cherokee
Hello,
I am newbie to using drools and using version 5.1.1 for my ruleflow test
case.
Testcase:
In the workItemHandler for a workitem, whenever exception occurs I catch the
exception and
set manager.abortWorkItem(workItem.getId());
I have 2 questions:
1) Is there a way in the onExit of workItem i can check the state to
determine if it has been aborted or completed succesfully?
2) When does the "abortWorkItem" method on workItemHandler get called?
Appreciate your time in replying to my queries.
Thanks!
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/RuleFlow-WorkItem-che...
Sent from the Drools - User mailing list archive at Nabble.com.
13 years
Problem with DroolsFlow transaction
by HMandic
I have a problem with transaction manager in drools flow (at least I think
so).
I'm running an EJB3 application in Jboss AS 5.1.0GA with Postgres 8.4.4 as
database. I use one schema for my data and another for drools data. The
application itself is also split in two projects, one for my utility classes
that interact with drools and the other for my application that uses those
utility classes.
I'm using the same datasource and transaction type is JTA.
I have an object that holds a reference to processID from drools flow as one
of its fields. When I invoke my method to create that object (in a stateless
session bean), a transaction is opened and it lasts until the end of said
method. But somewhere inside that method I need to invoke
ksession.startProcess(processName, params) and then I get this:
java.lang.IllegalStateException: Wrong tx on thread: expected
TransactionImple < ac, BasicAction: -3f57ffd6:dfb:4c878d37:7e status:
ActionStatus.ABORTED >, actual null
at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:157)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
at
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
.
.
.
Does that mean that I need to run the drools part in a separate thread?
I'm clueless...
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Problem-with-DroolsFl...
Sent from the Drools - User mailing list archive at Nabble.com.
13 years
Error opening dslr in Eclipse on Mac
by Steven Williams
Hi,
I am running Eclipse Helios on Mac OS X 10.6.7 with the Drools 5.1.1 plugin
and cannot open DSLR files with the error below. This error also occurs if I
create a new Drools project, create a new rule resource and select the Use a
DSL checkbox. DRL files open fine.
Could not open the editor: 1
java.lang.ArrayIndexOutOfBoundsException: 1
at
org.eclipse.swt.custom.StyledTextRenderer.calculateClientArea(StyledTextRenderer.java:230)
at org.eclipse.swt.custom.StyledText.handleResize(StyledText.java:6169)
at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5662)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3783)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1379)
at org.eclipse.swt.widgets.Control.resized(Control.java:2944)
at org.eclipse.swt.widgets.Composite.resized(Composite.java:929)
at org.eclipse.swt.widgets.Control.setFrameSize(Control.java:3428)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4975)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSView.setFrameSize(NSView.java:259)
at org.eclipse.swt.widgets.Control.setBounds(Control.java:3171)
at org.eclipse.swt.widgets.Control.setSize(Control.java:3668)
at
org.eclipse.jface.text.source.SourceViewer$RulerLayout.getVerticalScrollArrowHeights(SourceViewer.java:200)
at
org.eclipse.jface.text.source.SourceViewer$RulerLayout.layout(SourceViewer.java:157)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1183)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:703)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:661)
at
org.eclipse.jface.text.source.CompositeRuler.layoutTextViewer(CompositeRuler.java:611)
at
org.eclipse.jface.text.source.CompositeRuler.addDecorator(CompositeRuler.java:565)
at
org.eclipse.jface.text.source.projection.ProjectionViewer.addVerticalRulerColumn(ProjectionViewer.java:1289)
at
org.eclipse.jface.text.source.projection.ProjectionSupport.doEnableProjection(ProjectionSupport.java:310)
at
org.eclipse.jface.text.source.projection.ProjectionSupport$ProjectionListener.projectionEnabled(ProjectionSupport.java:143)
at
org.eclipse.jface.text.source.projection.ProjectionViewer.fireProjectionEnabled(ProjectionViewer.java:489)
at
org.eclipse.jface.text.source.projection.ProjectionViewer.enableProjection(ProjectionViewer.java:537)
at
org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1441)
at org.drools.eclipse.editors.AbstractRuleEditor.createPartControl(Unknown
Source)
at
org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:241)
at org.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:325)
at
org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:211)
at org.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:308)
at org.drools.eclipse.dsl.editor.DSLRuleEditor2.addPages(Unknown Source)
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138)
at
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
at org.drools.eclipse.wizard.rule.NewRulePackagePage.finish(Unknown Source)
at org.drools.eclipse.wizard.rule.NewRulePackageWizard.performFinish(Unknown
Source)
at
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811)
at
org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3783)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1383)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1195)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3629)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:254)
at
org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:274)
at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at
org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at
org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at
org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at
org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3783)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1383)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1195)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3629)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
thanks
Steve
13 years
Regression 5.1->5.2 with conflicting ClassNames
by Swindells, Thomas
I'm in the progress of updating from Drools 5.1 to 5.2 in the hope of solving problems we are having with intermittent mysteriously missing activations.
I've found a regression with the compiler which I don't know whether anybody else has noticed before.
In our application we've got two Content classes in different packages, and unfortunately one of our rule files has to reason over both of them.
In drools 5.1 this was fine, we imported one of them and then used the fully qualified name for the other.
I'm just upgrading to 5.2.0-Final and this no longer works. When resolving the unqualified class name drools/mvel(?) was choosing the package that we hadn't imported!
This obviously then gave us loads of misleading error messages about not being able to find fields.
Fully quallifiying all references to both classes fixed the issue but something obviously isn't behaving properly.
Thomas
________________________________
**************************************************************************************
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster(a)nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************
13 years, 1 month
Connection with Active Directory multiple organizational units
by G3
I am able to authenticate with Active Directory but with only a single
organizational unit but not with users of multiple organizational units
This is my organizational structure
+cn=test,cn=con
--+ou=Sample1
-----uid:user1,uid:user2
--+ou=Sample2
-----uid:user3,uid:user4
--+roles
-----admin:uid:user1,user3
-----user:uid:user2,user4
I have set the admin rights accordingly in Guvnor.
I am using Jboss Guvnor standalone 4.2.3 and I am trying to connect
multiple organizational units using JAAS
my login-config.xml
---------------------
<application-policy name="adConnection">
<authentication>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule"
flag="required" >
<module-option
name="java.naming.provider.url">ldap://c.test.com:389/</module-option>
<module-option
name="java.naming.security.authentication">simple</module-option>
<module-option
name="bindDN">CN=Administrator,CN=Users,dc=test,dc=com</module-option>
<module-option name="bindCredential">password</module-option>
<module-option name="baseCtxDN">OU=Sample1,dc=test,dc=com</module-option>
<module-option name="baseFilter">(CN={0})</module-option>
<module-option name="rolesCtxDN">OU=roles,dc=test,dc=com</module-option>
<module-option name="uidAttributeID">member</module-option>
<module-option name="matchOnUserDN">true</module-option>
<module-option name="roleFilter">(member={1})</module-option>
<module-option name="roleAttributeID">CN</module-option>
<module-option name="roleRecursion">-1</module-option>
</login-module>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule"
flag="required" >
<module-option
name="java.naming.provider.url">ldap://c.test.com:389/</module-option>
<module-option
name="java.naming.security.authentication">simple</module-option>
<module-option
name="bindDN">CN=Administrator,CN=Users,dc=test,dc=com</module-option>
<module-option name="bindCredential">password</module-option>
<module-option name="baseCtxDN">OU=Sample2,dc=test,dc=com</module-option>
<module-option name="baseFilter">(CN={0})</module-option>
<module-option name="rolesCtxDN">OU=roles,dc=test,dc=com</module-option>
<module-option name="uidAttributeID">member</module-option>
<module-option name="matchOnUserDN">true</module-option>
<module-option name="roleFilter">(member={1})</module-option>
<module-option name="roleAttributeID">CN</module-option>
<module-option name="roleRecursion">-1</module-option>
</login-module>
</authentication>
</application-policy>
and my component.xml
-------------------------
<security:identity authenticate-method="#{authenticator.authenticate}"
jaas-config-name="adConnection"/>
I donot get any errors in server console during deployment but when login
,I cannot login into Guvnor and I get password or user name incorrect.Can
some one help me out
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Connection-with-Activ...
Sent from the Drools - User mailing list archive at Nabble.com.
13 years, 1 month
Guvnor5.1.1 resource local cache
by DroolersEye
Hi,
I am trying to cache the remote guvnor resource locally for guvnor down time
availability to rules engine, I am confusing with two system properties...
1) drools.resource.urlcache
2) localCache
which one is applicable? guvnor documentation points to
"drools.resource.urlcache" than what is the use of localCache?
KnowledgeAgentConfiguration aconf =
KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
aconf.setProperty("drools.resource.urlcache", "/local/dir/path");
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("test
agent", null, aconf);
is anything wrong in the above code?
when I run I dont see any locally cached resource in referenced folder,
please help me to clear?
Thanks lot....
-----
with kind regards,
--
View this message in context: http://drools.46999.n3.nabble.com/Guvnor5-1-1-resource-local-cache-tp3241...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 1 month
NPE on fact insertion if rule has sliding window
by John
Hello,
I've been messing with this for days now and can't get to the bottom of
this. I'm using drools 5.2.0 Final and setting up my KnowledgeBase with a
KnowledgeAgent which is pulling a package from guvnor (also 5.2.0 Final). I
do NOT get this error if I use a KnowledgeBuilder and add the exact same drl
file as a resource.
If the DRL in guvnor has a rule that uses a sliding window, i get an NPE
when trying to insert an object and the following stack trace:
java.lang.NullPointerException
at
org.drools.reteoo.ReteooFactHandleFactory.newFactHandle(ReteooFactHandleFactory.java:56)
at
org.drools.common.AbstractFactHandleFactory.newFactHandle(AbstractFactHandleFactory.java:80)
at
org.drools.common.AbstractFactHandleFactory.newFactHandle(AbstractFactHandleFactory.java:65)
at org.drools.common.NamedEntryPoint.createHandle(NamedEntryPoint.java:705)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:282)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:905)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:864)
at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:255)
at john.DroolsError.runRules(DroolsError.java:48)
at john.DroolsError.main(DroolsError.java:40)
Here is the DRL:
1. | package drools
2. | import simple.SimpleType
3. |
4. |
5. |
6. |
7. |
8. |
9. | import simple.SimpleType;
10. |
11. | declare SimpleType
12. | @role(event)
13. | end
14. |
15. | rule "timer"
16. | timer (cron:5/5 * * * * ?)
17. | when
18. | $newest : Number()
19. | from accumulate( SimpleType ($num : number) over
window:time(5s),
20. | max($num) )
21. | $st : SimpleType( number == $newest.intValue )
22. | then
23. | System.out.println("SimpleType: " + $st.number);
24. | end
(note: the first import of simple.SimpleType comes from the package
configuration in guvnor, the second is in the drl file itself. the file will
not validate without the import explicitly listed there, saying the type is
not declared as an event...)
Here is the Java code:
ResourceChangeScannerConfiguration sconf = ResourceFactory
.getResourceChangeScannerService()
.newResourceChangeScannerConfiguration();
sconf.setProperty("drools.resource.scanner.interval", "20");
ResourceFactory.getResourceChangeScannerService().configure(sconf);
KnowledgeBaseConfiguration config = KnowledgeBaseFactory
.newKnowledgeBaseConfiguration();
config.setOption(EventProcessingOption.STREAM);
KnowledgeAgentConfiguration aconf = KnowledgeAgentFactory
.newKnowledgeAgentConfiguration();
aconf.setProperty("drools.agent.scanDirectories", "true");
aconf.setProperty("drools.agent.scanResources", "true");
aconf.setProperty("drools.agent.newInstance", "false");
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(config);
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(
"drools agent", kbase, aconf);
String urlString =
"http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/droo...";
try {
URL url = new URL(urlString);
UrlResource urlResource = (UrlResource) ResourceFactory
.newUrlResource(url);
urlResource.setBasicAuthentication("enabled");
urlResource.setUsername("John");
urlResource.setPassword("");
kagent.applyChangeSet(urlResource);
} catch (Exception e) {
System.out.println("Caught exception: " + e.getMessage());
e.printStackTrace();
}
ResourceFactory.getResourceChangeNotifierService().start();
ResourceFactory.getResourceChangeScannerService().start();
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
System.out.println("Initialize drools complete");
SimpleType simp = new SimpleType();
simp.setNumber(5);
ksession.insert(simp);
Thanks,
John
--
View this message in context: http://drools.46999.n3.nabble.com/NPE-on-fact-insertion-if-rule-has-slidi...
Sent from the Drools: User forum mailing list archive at Nabble.com.
13 years, 1 month
Drools 5 PseudoClock with StatelessKnowledgeSession
by Ben Scott
_______________________________________________________________________________________
Note: This e-mail is subject to the disclaimer contained at the bottom of this message.
_______________________________________________________________________________________
I'm wanting to use the date-effective and date-expiry rule metadata to add date specific rule variants within my app. To test these I was planning on using the pseudo clock and setting the expected date prior to executing the rules within a StatelessKnowledgeSession. I can set the clock easily enough, but can't understand why the getSessionClock() method is missing? It's on the StatefulKnowledgeSession, but not on the Stateless.
I'm initialising the session like this:
SessionConfiguration sessionConfiguration = new SessionConfiguration();
sessionConfiguration.setClockType( ClockType.PSEUDO_CLOCK );
StatelessKnowledgeSession session = _testKnowledgeBase.newStatelessKnowledgeSession(sessionConfiguration);
The only thing I could think of to set the pseudo clock was to write a command something like:
private static class SetPseudoClockCommand implements org.drools.process.command.Command<Boolean> {
public Boolean execute(ReteooWorkingMemory session) {
// Set the clock to the current date
pseudoSessionClock.advanceTime(new DateTime().getMillis(), TimeUnit.MILLISECONDS);
// Add a couple of days
pseudoSessionClock.advanceTime(2, TimeUnit.DAYS);
return true;
}
}
But this doesn't appear to take any effect whilst rules are running.
Is there another way to get programmatic access to the session clock, or some better way of changing the underlying date prior to rule execution?
Ben.
_______________________________________________________________________________________
The information transmitted in this message and its attachments (if any) is intended
only for the person or entity to which it is addressed.
The message may contain confidential and/or privileged material. Any review,
retransmission, dissemination or other use of, or taking of any action in reliance
upon this information, by persons or entities other than the intended recipient is
prohibited.
If you have received this in error, please contact the sender and delete this e-mail
and associated material from any computer.
The intended recipient of this e-mail may only use, reproduce, disclose or distribute
the information contained in this e-mail and any attached files, with the permission
of the sender.
This message has been scanned for viruses with Symantec Scan Engine and cleared by
MailMarshal.
_______________________________________________________________________________________
13 years, 2 months