Challenge! Using javassist and drools presents an issue with drl
by markricard
In order to make writing drl files easy and not requiring writers to be
developers, I have written some JavaAssist code that dynamically creates a
subclass and new methods in memory.
If for example there is a REAL java class called 'com.foo.Instance'. Via
javasssist, I create a new in-memory subclass called 'com.foo.InstanceEx'.
The new class dynamically creates a new getter called getFoo(). The drl
writer would like to directly reference 'foo' in the drl file like so:
when
i : Instance(foo == 'fee')
The problem is, in order to reference foo, I would need the drl file to do
this:
import com.rrd.xspace.drools.InstanceEx;
But I cannot do that because InstanceEx does not exist at runtime. The
error I get, which is an obvious one, is "Unable to create Field Extractor
for 'foo' of '[ClassObjectType class=com.foo.Instance]' in rule 'Test' :
[Rule name='Test']"
Is there a way to include a dynamic import of a JavaAssist class while I am
constructing the KnowledgeBase instances to run the rules so that I can
reference that new method?
I would hope to have something similar to:
KnowledgeBuilder kbuilder = ....
kbuilder.addImport("com.foo.InstanceEx")
or
kbuilder.addClass(Class.forName("com.foo.InstanceEx"))
Any help GREATLY appreciated.
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Challenge-Using-javas...
Sent from the Drools - User mailing list archive at Nabble.com.
12 years, 7 months
Re: [rules-users] Error running Drools 5.0 HelloWorldExample on WebSphere 6.1
by Blythe, Marshall
A quick follow-up: this error occurs only when I have rules using the MVEL dialect. I rewrote the MVEL rule in the HelloWorld.drl to use the Java dialect, and now the problem is gone. I may need to raise this issue on the MVEL mailing list instead.
----------------------------------------- This e-mail and any attachments may contain CONFIDENTIAL information, including PROTECTED HEALTH INFORMATION. If you are not the intended recipient, any use or disclosure of this information is STRICTLY PROHIBITED; you are requested to delete this e-mail and any attachments, notify the sender immediately, and notify the LabCorp Privacy Officer at privacyofficer(a)labcorp.com or call (877) 23-HIPAA.
12 years, 10 months
Difference between Rule Base and Knowledge Base
by Swapnil Sawant
Hi,
I had a very basic doubt. 'Rule Base' and 'Knowledge Base' are two different concepts (may be from implementation point of view )?
I got this doubt when I was going through section '1.4.7.2. Drools execution server' of drools guvnor (v5.0) where it was written like :
The drools execution server (drools-server) module is a war which you can deploy to execute "knowledgebases (rulebases)" remotely for any sort of client application
The thing is that , I have created Knowledge base from changeset.xml as follows :
kagent = KnowledgeAgentFactory.newKnowledgeAgent( "MyRuleAgent" );
kagent.applyChangeSet( ResourceFactory.newUrlResource( changesetUrl ) );
kbase = kagent.getKnowledgeBase();
Now if I wish to get Rule Base corresponding to my changeset(or rather my DRL file) using 'this kbase object' , how can I do that ?
Thanks,
Swapnil Sawant
This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system.
______________________________________________________________________
12 years, 11 months
drools flow - how to crate a human task form?
by gs76pl
hi,
What is the best way of creating some UI for human tasks with an input form?
I've a sample process with a human task that should update some values in
the process. I had a look into API of a task and the only thing i can find
there is 'content' which i'm not really sure about (is it the place where
for instance HTML UI should be created?) Is there any way to create this
form with some additional actions like : claim/fail etc?
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/drools-flow-how-to-cr...
Sent from the Drools - User mailing list archive at Nabble.com.
12 years, 11 months
ProcessEventListener event order
by Carlos Villegas
Hi,
I'm testing the ProcessEventListener on a simple process and I get the
"after" events in reverse order.
For example,
Process completed : 1283915643204
Node left: 5: 1283915643268
Node triggered: 5: 1283915643268
Node left: 4: 1283915643268
Node triggered: 4: 1283915643269
Node left: 3: 1283915643269
Node triggered: 3: 1283915643270
Node left: 2: 1283915643270
Node triggered: 2: 1283915643270
Node left: 1: 1283915643270
Node triggered: 1: 1283915643271
Node left: 0: 1283915643271
Node triggered: 0: 1283915643271
Process started : 1283915643271
I'm just printing the node id and the time in milliseconds.
Is this the way is supposed to be?
I guess technically "after" could be anytime after, but if I use the
afterProcessStarted event, I get it after the whole process has
completed!, which it's not useful at all.
The "before" events work as expected I think.
I'm using Drools Flow 5.1.0.
Thanks,
Carlos
12 years, 11 months
CPU Spike creating a StatefulKnowledgeSession using OSGi
by David Conde
Good Morning,
I now have drools running on the Spring DM-Server but I am seeing a CPU
spike when creating a StatefulKnowledgeSession. I've tested this outside of
an OSGi environment and I don't see the spike. Does anyone know any settings
that I can change that might make this go away?
Thanks,
Dave
--
David Conde
CTO Calom Technologies
12 years, 11 months
Questions regarding Guvnor
by Harshit Bapna
Hello All,
Few questions:
1. What is the release date of Guvnor 5.2 ? (Couldn't find it from the site
of the documentation)
I am interested in the functionality to add the guvnor editors in
another app for rule editing. i.e. StandaloneEditorServlet
2. Which SVN TAG of the Guvnor (which has standalone editor functionality)
should I use ?
Note: On trunk I have observed that the war contains a folder *guvnor* where
as guvnor 5.1 war contained folder *org.drools.guvnor.Guvnor*
Also the web.xml in the trunk has the following url pattern <url-pattern>/*
org.drools.guvnor.Guvnor*/feed/*</url-pattern>
This url pattern would never be matched as the Guvnor.html is under
guvnor/Guvnor.html. To make it work I had to update the url patterns in the
web.xml
Is there anything that I am doing wrong ? (mvn clean install
-Dmaven.test.failure.ignore=true)
IMO, the trunk has partial changes checked in. Hence it is not stable.
Thanks
12 years, 11 months
KnowledgeAgent and applyChangeSet
by bob.breitling
If I have a KnowledgeAgent and I create a URL Resource and set its
basicAuthenication, username and password attributes then I call the agents
applyChangeSet method I get a HTTPD 401 response from the Guvnor. It does
not happen to my resourse which has a valid username and password, but it
happens to the resource in the changeSet xml tag.
It would seem to me that the resources that are built from the resource I
passed would inherit the basicAuthenication, username and password
attributes that I set and know work, but they don't and I get this error.
If I debug the code and filling in those values on the resource passed to
the createPackageFromResource method before the resource stream is read the
code works.
I am using the NilAuthenicator in the Guvnor components.xml and that seems
to be working. I get access to the Guvnor without being asked for
credentials.
I tried to configure my jboss (4.2.0) in login-config.xml to allow access to
everything as guest. But no luck.
Any suggestions?
Bob
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/KnowledgeAgent-and-ap...
Sent from the Drools - User mailing list archive at Nabble.com.
12 years, 12 months