Drools Flow Remote API ?
by magicalpig
I'm considering Drools Flow for a project that requires a workflow enactment
engine. One concern I have is how much effort it might take to make remote
calls to the engine. I plan on running the engine in its own JVM. I would
then like for servlets to talk to the engine, for instance to tell it that
Work Item XYZ has been completed successfully. It doesn't seem as though any
API is exposed for remote clients though. Would I have to write my own
interface which listens for the RMI calls from the servlets and then maps
them to calls to the native API of the Drools Flow engine?
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-Flow-Remote-AP...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 2 months
GWT Console and WSHT Rendering
by sam.squire@paretopartners.com
Hello,
Does anyone know where the form data in Evaluation.bpmn comes from? I am
referring to the dropdown list and the checkboxes in the displayed form
from the gwt-console.
They do not seem to come from Evaluation.bpmn itself.
Are they inserted into the H2 database? If so, where and when?
Sam Squire
This message may contain confidential and privileged information and is intended solely for the use of the named addressee. Access, copying or re-use of the e-mail or any information contained therein by any other person is not authorised. If you are not the intended recipient please notify us immediately by returning the e-mail to the originator and then immediately delete this message. Although we attempt to sweep e-mail and attachments for viruses, we do not guarantee that either are virus-free and accept no liability for any damage sustained as a result of viruses.
Please refer to http://www.bnymellon.com/disclaimer/piml.html for certain disclosures.
14 years, 2 months
Drools Flow BAM
by Prafull Kumar
Hi,
Now we have the extensive BAM requirement on the Drools Flow. From the documents
I got a good understanding of the BAM support, but I would like to clarify the
following points:
1. In the ProcessEventListener can we embed required data from the process,
global variables?
Example I see the following in the file generated by
KnowledgeRuntimeLoggerFactory log file:
<org.drools.audit.event.RuleFlowVariableLogEvent>
<type>33</type>
<processId>Demo</processId>
<processName>Demo</processName>
<processInstanceId>0</processInstanceId>
<variableId>request</variableId>
<variableInstanceId>request</variableInstanceId>
<objectToString>requestID SGH50801DV_20101021214848_0 status
INTERMEDIATE</objectToString>
</org.drools.audit.event.RuleFlowVariableLogEvent>
Its good, But I would like to log the variables as the workflow executes, so
that I can generate the meaningful reports. e.g. If the flow takes one path I
would like to log a variable of a object and for another maybe another part of
the object.
It will help me to create the kind of report I am looking for. Please advice.
2. Any idea on the performance impact if we log these events in the database.
Does the process waits till the event is written in database or this happens
asynchronously as its a event? Please clarify.
Thanks in advance.
Regards, Prafull
14 years, 2 months
build and branches
by Mark Proctor
We now have quite a few people working on different things and the build
is breaking a lot and those breaking it are just leaving it broken.
If you are doing feature development, can you please work in a branch
and commit regularly there. Then sync up with trunk prior to a merge and
make sure you do a full build there before commiting the merge.
If you are doing minor bug fixing then that is ok in trunk, but you MUST
monitor the build closely and jump on it if it breaks.
We are looking into moving to GIT to facilitate this type of development.
Thanks
Mark
14 years, 2 months
[FUSION] Detect the absence of an event when you don't know that the event is missing.
by Tina Vießmann
Hi,
I'm working on a use case where I want to know if 20 events with a
specific value are contained in at maximum the last 150 events. So far I
know what have to do. ;-)
My problem is that as extension to my condition, the rule shall also
trigger if one ore more events are missing. But I don't know the time
interval with which the events arrive, so that I don't know when a new
event should arrive and by implication I don't know about the absence of
an event.
In our environment events arrive in "counts" and not in a specific time
interval as e.g. ever 1 second. So we talk about the last two or 150
counts if we talk about the last two ore 150 data packages received.
Yes, behind a count always is a time interval, but only the data source
knows about the time interval. My recipient doesn't
Also the data of a data package is inserted in the working memory
independently, so that I have e.g. 10 data events instead of a single
package event.
(Now that you know that, my first sentence would be correctly: I want to
know if 20 counts of the max. last 150 counts have contained a specific
event.)
If my explanation (or my attempt to explain) is difficult to understand,
please ask me what you want to know.
I would be very happy about any ideas.
Thank you.
Tina
14 years, 2 months
Starting engine using fireUntilHalt and inserting no facts results in 50% CPU usage
by Tina Vießmann
Hi,
I'm experimenting with asimple Fusion application. I'm using
fireUntilHalt() to start the engine.
When I start my application it uses nearly 50% of my CPU without any
facts being insert. This remains while my application is idle. Why is that??
My machine has a 2Duo T9300 with 2,5GHz an JDK6u21.
Thanks for your help. :)
Tina
14 years, 2 months
Parser changes in trunk (for the next version)
by Edson Tirelli
All,
Just a heads up for those using trunk. One of our main goals (from a
drools core perspective) for the next Drools version is to improve
consistency of the language and avoid some odd behaviors we had so
far, reducing users' surprises: e.g., add support to 100% of java
syntax for expressions, including things like generics; and avoid
different syntax when using java vs mvel, specially for constraints
that fall back to MVEL.
As a result of this effort, there will be some changes to the DRL
language spec that might make your Drools 5.x DRL incompatible with
the next Drools version. Some are simple things, like the use of "||"
and "&&" between patterns that was deprecated (but still supported)
since Drools 4, but is now being completely removed and you must use
"or" and "and" respectively in between patterns. Some things are more
complicated.
To help users that are migrating from Drools 5.1 to the next
version, we will keep the (now) old DRL parser (just renamed as
DRL5x.g) and will provide a migration tool that uses this parser to
translate an old DRL to the new syntax. This is a one time conversion
that you will have to apply to your source DRL files when migrating
from Drools 5.1 to the next version.
I will commit the first cut of the new grammar later today into
trunk, so be advised that if you face errors after moving to a new
snapshot, it might have been caused by that. Please let me know if
that is the case and the migration tool fails to properly upgrade your
DRL. I will provide the link the migration tool documentation when I
commit the changes.
Let me know if you have any questions.
Edson
--
Edson Tirelli
JBoss Drools Core Development
JBoss by Red Hat @ www.jboss.com
14 years, 2 months
How can i delete any object after executing the rules from the memory.
by nkumar
Hi..
I want to delete the objects which i inserted earlier to execute the rules
upon. Why i want this is i have two lists containing 20 objects of two
different classes. for every combination i am assigning some values to the
class variables in the rule file. So at any single time i want to execute
rule on a single set of 2 classes.
ksession.insert(object1 of class1)
ksession.insert(object1 of class2)
then next time i want this on
ksession.insert(object1 of class1)
ksession.insert(object2 of class2)
and so on..
I can insert all the objects once and can execute the rules on the objects
but i have to save result of each combination in the list. No matter what
the output is.
Please suggest how can i solve this. if i have to insert only 2 objects at a
time then after inserting an object,there is no use to insert that again. So
how can i remove the objects from the memory after executing the rules.
Thansk...appreciate your help.
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/How-can-i-delete-any-...
Sent from the Drools - User mailing list archive at Nabble.com.
14 years, 2 months
Using Guvnor rule to check if page is in a list of pages (enumeration)? Contains?
by Kevin
Hi,
I'm investigating Drools Guvnor for use as both entitlements and
business rules where "entitlements" means I
am checking access to certain web pages (or partial page resources)
based on a pre-defined a resource (given a role for example) that I
would send in when executing the rule.
Is it possible to populate my Fact with the resource for the left hand
side and have the rule check to see if that value exists in
the right hand side (presumably populated from an Enumeration).
So far it seems to want me to pick a value. Instead, I want to say
that any of these values are OK.
I guess I'm asking if it can do a contains rather than equals from a list.
Fact example:
Fact name: Resource
field: resourceName
Enumeration name: Resources
'Resource.resourceName': ['somedirectory', 'foo/bar.html', 'etc/blah.html']
Rule Example:
When
There is a Resource.resourceName 'contains' a value from Resources
Then
Permit = true (or similar)
Sorry if this is covered in the manual and I missed it.
Using Guvnor 5.1.1.
Thanks!
K
14 years, 2 months