(XiaYuSubflowTest.java:32)
ÔÚ2009-11-23£¬Kris Verlaenen kris.verlae...@cs.kuleuven.be дµÀ£º
What do you mean by NoSuchMethod error is thrown ? Could you
provide
the full stack trace? In theory, you should simply be able to call
any
other process, whether it is in the same package or not.
Kris
-users-boun...@lists.jboss.org] On Behalf Of Kris
Verlaenen
Sent: Sunday, November 22, 2009 8:29 PM
To: Rules Users List; Vijay K Pandey
Subject: Re: [rules-users] Drools Flow 5.1 - How to get hold of
WorkingMemory inside the WorkItemHandler
No, not really. But you can easily set
You want to change the JPA entities themselves? Do you still have a
reference to them? Simply changing them would probably work (or what is
it you are trying to do)? Or you could look them up using the
getVariable() method. In theory you could also use the setVariable()
method but that is not
How about simply adding an XOR split node after the second node that
checks the value of the parameter? Or adding a ruleset node there and
they use rules to create this human task if necessary?
A more advanced way to model this would be to use dynamic or ad-hoc
processes. At this point you
Quoting ramram8 ramram...@gmail.com:
Concerning this point the JNDI seems to be a good idea but in case I
cant use the JNDI is there any alternative
Any solution that would allow an external application and console to
share the same session would work.
I used the XML dumper and changed the
Quoting Vijay K Pandey vpan...@mdes.ms.gov:
c)I would like to change it through Drools Process because that's
where I have associated the JPA entities - I would not like to update
it from outside.
Not sure this is a problem. You merely create an association to these
JPA entities
Is your project a Drools project? You can convert existing projects to
a Drools projects by right-clicking the project and selecting Convert
to Drools Project. This will add the Drools library (which you can
remove if you don't need it) and adds a Drools Builder. This builder
is crucial as
What info does the work item contain that the task itself does not?
Basically, the idea would be to put all data that the task needs
(directly) as the content of the task (Content parameter), so the
client can access it.
Kris
Citeren Todd Pagni todd.pa...@datacert.com:
Thanks for the
I am still able to stop at breakpoints in rules files by creating a
drools
project from scratch and Debug As - Drools application, but
something
about converting an existing project and debugging it.
On Wed, Dec 9, 2009 at 6:52 AM, Kris Verlaenen
kris.verlae...@cs.kuleuven.be
Created a screencast showing simple debugging at work.
Could you try whether this works for you?
http://people.redhat.com/kverlaen/Debug.swf
Kris
Quoting Pritam infinity2hea...@gmail.com:
I don't see any debugging views enabled in debug drools application
mode as
described in the
The start node triggers based on a rule or an event are not yet exposed
as properties in the graphical editor. You can already specify them in
the XML though. Check out
We just try to follow what is defined in the WS-HumanTask specification.
Could you check whether this is a limitation of the spec itself or
whether we did not implement that feature correctly?
Kris
Quoting Vijay K Pandey vpan...@mdes.ms.gov:
Hi,
If a human task once in Reserved state
I created a screencast of how to define a domain-specific work item.
Could you verify this works for you?
http://people.redhat.com/kverlaen/DomainSpecificWorkItem.swf
Kris
Quoting bbking badillo.br...@gmail.com:
I've been attempting to contribute my own work item following the
instructions
Hi,
I executed the process you provided and do not seem to have any problems
with it. This is the output:
### Starting process ###
### Completing second work item ###
Finished!!!
Could you try your code with the latest snapshot releases?
Kris
Quoting nfox241 n...@dragonflyware.com:
I
We kept the set of properties that are supported for human tasks (name,
actor, priority, etc.) small by default (for simplicity). But it should
be straightforward to extend this with additional properties if you want
to use more advanced features of the WS-HT service. Take a look at the
!
My problem was that I had been creating a resources folder under
root
(which shows up as resources src folder in eclipse) rather than
src/main/resources (which shows up as src/main/resources src
folder in
eclipse).
Thanks again,
BB
Kris Verlaenen wrote:
I created
Strange, I just tried your code and it does seem to print out the Hello
world statement when executing the rule. I attached the Eclipse project
that I created from this, could you try this? It might be valuable to
figure out the differences in the log files (I included mine in the zip
file as
Maxi,
Which version of Drools are you using? I believe this was an issue with
transaction managers that do not support nested transactions and that
has already been fixed on trunk. Could you try out the latest snapshot
to check whether the problem still exists?
I've recently created a screencast that shows you how to get the debug views
working for the hello world example. Could you try doing the same thing as
this screencast and let me know whether reproducing this still does give you
empty debug views?
Caused by: java.lang.ClassNotFoundException:
org.hibernate.PersistentObjectException
You have this class on the client side as well?
Anyway, this class contains some tests on how to use deadlines in human
tasks:
That is strange ... Only thing I can image is that you are using the
internal drools jars that are shipped as part of the eclipse plugin in the
Drools JUnit case and not in the normal JUnit case. Could you try updating
to the latest snapshot version of the Eclipse plugin (this will update your
Jaroslav,
Yes, if you execute your processes in advanced mode, we are translating
procedural constructs like sequence into a more declarative rule like the
one you described as an example. Note we are currently not doing that for
all procedural constructs (like branch / joins) but we plan to
Dirk,
I tested out your example and I think this is working with the latest trunk,
below is the output I received. Could you try your test case with the
latest snapshot release, as this might be related to an issue that has
already been fixed?
The GWT console is a separate project, you can find the source code here:
http://anonsvn.jboss.org/repos/soag/bpm-console/trunk/
And more info here:
http://community.jboss.org/wiki/bpmconsole
Note that the drools build is currently using version 1.1.2, which can
be found here:
Ram,
Did you do changes to the gwt-console source code? (as the 2.0.1 artefacts
are already published on the maven repo).
Anyway, to use the latest version, simply update the 5 poms on the
drools-process/drools-gwt-* projects and do a full build, this should
generate the new drools-gwt-server
Bertrand,
You're probably missing the
org.drools.runtime.pipeline.impl.XStreamTransformerProviderImpl class in your
classpath? Make sure you add the drools-transformer-xstream-5.x.jar to your
classpath.
Kris
- Original Message -
From: Bertrand Grottier
To:
I've just tried debugging a unit test with the latest snapshots and don't
have any issues. So if you can reproduce so I can take a look, please let me
know. Other than that, I can only recommend to take a fresh eclipse,
install the latest snapshot plugin and create a new runtime (based on the
Rob,
At this point, you'll need to modify the existing one in the Eclipse plugin
and simply add your own one. Ideally, this would need to be transformed
into an Eclipse extension point, so you can use that to register your own
skin providers as part of a separate, additional plugin.
If
Ram,
You actually need a combination of the gwt-console war (and you need the
drools profile here, not the jbpm one), the gwt-console server war and the
drools integration jar that links the console to our engine. The drools
build system should do all that for you automatically though.
I'm
Ram,
Good, you seem to be able to open the user interface, so that's the first
step.
The error you are getting now is caused by a library conflict between the
jars in the war and on your application server classpath. In this case, I
assume the application war is containing a
I have changed the default table and column names that were causing issues.
https://jira.jboss.org/jira/browse/JBRULES-2448
If there are additional issues, please add a comment on this JIRA.
Kris
Quoting wytten dale.wyttenb...@gmail.com:
The changes I made for Oracle were:
1. Add ojdbc5
Heath,
This seems to be caused by an issue in persisting the current rule state
when using a Not rule in a specific combination (and not specifically to
your use of ruleflows). I have opened a JIRA for you and we will fix
this asap.
https://jira.jboss.org/jira/browse/JBRULES-2453
Kris
Robert,
I tried to open your file and it seems to open just fine in the latest
version. If it only opens with a start node, do you also get an
exception dialog when that happens? There will probably also be an
exception trace in the error log, that might be useful.
But I guess this might have
Heath,
Actually, you shouldn't be marshaling an action node instance (hence the
exception). The marshaling should only occur when the engine is not
actively executing. But action nodes always execute immediately. So no
action node instances should exist when you are marshaling.
Are you
You could access this info through the process model as Mauricio showed,
but this leads to a lot of pretty low-level code, which you might want
to avoid in your process. Could you give an example of why you want to
do that?
Kris
Quoting KiranP phadatareki...@gmail.com:
suppose i have a rule
You should basically only know the workItemId. Whenever you have some
task that needs to be executed externally (and could take some time), a
new work item will be created. When that work is finished, the work
item manager should be notified (using
manager.completeWorkItem(workItem.getId(),
File logging is mostly for testing purposes. If you want to create a history
log for reporting, take a look at the drools-bam module. This allows you
create a logger that will create history information about the execution of
your processes in a database, so that can be used as a data source
There are some examples in the junit tests:
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessExceptionHandlerTest.java
Kris
- Original Message -
From: Nol de Wit nolde...@gmail.com
To: rules-users@lists.jboss.org
It is possible that the default mapping is not accepted by Oracle because it
uses too long table names or keywords. Iùve recently submitted a fix for
similar issues with drools-persistence-jpa (basically reduced column names
manually).
Could you maybe assist me in doing the same for the task
Miguel,
I think your work item handler should not be throwing an exception, just
because a java exception is low-level and linked to one specific implementation
and we try to keep the processes a little higher-level.
So what could you do then to model exceptional situations when executing a
Anatoly,
I've not been able to check the user list for about a week, and it seems
you have been wondering about this issue for a while, so let me try to
summarize a little. I'm sure I won't be able to answer all questions in
one email, but I'll give it a shot ;)
First of all, your use case
Nol,
Process variables are local to your process instance. Rules work based on
data inserted in the session. So you should probably make sure your process
inserts the data in the session at the appropriate time (e.g. using an
action that does kcontext.getKnowledgeRuntime().insert(..).
Kris
Another alternative would be to use an activation group, that way only one rule
of that group will be able to fire.
Kris
- Original Message -
From: Mauricio Salatino
To: Rules Users List
Sent: Wednesday, April 07, 2010 11:18 PM
Subject: Re: [rules-users] Drools Flow:
in javadocs I
downloaded.
Thanks
Amit
2010/4/8 Kris Verlaenen kris.verlae...@cs.kuleuven.be
File logging is mostly for testing purposes. If you want to create a
history log for reporting, take a look at the drools-bam module. This allows
you create a logger that will create
42. Very interesting point about a shared session. I somehow
automatically assumed that a StateFull session should probably not share
it's state with multiple processes. So, I take it, we can have a
single(ton?) stateful session to execute multiple processes without any
issues? [I guess
The main problems I see when translating a java exception to a process
exception automatically:
- the exceptions are too low level, no business user understands
NumberFormatException or ClassCastException, and the error could come from
deep inside the invoked service
- by making it automatic,
Guvnor was changed recently to add authentication when downloading packages.
The console was not yet updated for this in 5.1.0.M1, so you'll need to update
to the latest trunk. Luckily, there's now also an installation script that
should simplify things as well.
Take a look at
If you add a map when starting a process, those values will be set as
process variables. For example:
[ a : SomeString; b : 3 ].
Simplest way to access these variables in a constraint is using a code
constraint, something like:
return SomeOtherString.equals(a);
or
return b 2;
So you can just
There were some minor changes necessary to get everything working for
Helios, but the latest version should just work.
Kris
Quoting Mark Kremer m...@without-brains.net:
I tried it and I was unable to edit some of the preferences, after
searching on Google for a bit I found that the bug is
Chris,
Yes, we can only assure you the work item exists between it is triggered
and completed (or aborted). So if you want to access any data related
to it in an on-exit action or any further part of the process, it's
probably best to simply map that data to a process variable. This will
make
There was an issue where an update in the core prevented the .drl to
show up. This should be fixed now, if you try the latest snapshot build.
Kris
Quoting fsauer fsa...@dsthealthsolutions.com:
Hi,
I am running 5.1 M2 on Galileo as well and when I create a breakpoint
it
actually stops
Ivan,
You are correct, if the collection is empty, the process waieds for these
elements to complete, even though there are none. I just committed a fix
for this on trunk. Now, the for each node continues if the collection is
empty (or null).
Kris
- Original Message -
From:
Santosh,
Based on your description, different processes should be started. Do you have
a simple standalone example that shows this behaviour, so I can take a look?
If not, using an audit logger might help in determining which rules are fired
and which processes are being started.
Kris
Vijay,
This is a known limitation when using BPMN2. Check out the documentation, that
describes which features are implemented already in the BPMN2 implementation:
https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-flow/html/ch13.html
Priorities
Hi,
This indeed seems to be related to a conflict of actions. I assume you are
using the same knowledge builder for adding both the main and the sub
process (as that is responsible for resolving possible conflicts)? If so,
could you provide a simple, standalone example that demonstrates this
Santosh,
I think you need to add it as part of a META-INF directory inside a source dir.
There's a screencast that shows you how to get a simple example working, try
following that and let me know if you still have issues with that:
http://people.redhat.com/kverlaen/DomainSpecificWorkItem.swf
How about simply reusing the human task node for this. Your process is then
a simple sequence of 2 human task nodes. You can use the properties of the
human task node (like name, description, content and input/output mapping to
add the necessary information). Instead of using the default
I probably missed quite a few emails on the mailing list lately (sorry), but
what's the exact problem with timers and persistence (and does it still
exist in the latest trunk, as I know various improvements / bug fixes have
been applied in the last few weeks as well)?
There's a simple test
Reto,
This seems to be a conflict with similar actions in different processes
overriding each other. I'll take a look at this and try to fix it asap,
and keep you updated.
Kris
Quoting retoy reto.lampre...@allianz-suisse.ch:
Hi Kris
Here is a small project which demonstrates a similar
Hi,
Regarding the designer integration, it is probably important to know
that Oryx is still using the BPMN2 beta 1 format, while Drools Flow has
already updated to a more recent BPMN2 format. As a result, you
probably can't open the processes that are generated by the Drools Flow
graphical
Reto,
State nodes only support rule constraints. The reason is that a
constraint in a wait state should be continuously evaluated (while the
state is active), and the only way to do that efficiently is to use a
rule for that (as that is basically what a rules engine is good at).
I know the docs
Reto,
You should have access to process variables and globals in your timer
action. There's even a junit test that shows this, testTimerState (last
one on link below):
There's a small section in the documentation about this:
http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-flow/html/ch14.html#d4e2489
If you use the installer, these files will be in the auth directory where you
can then customize them. Sample
Reto,
I think this is because you don't notify the engine when the DroolsTimer
object has been changed (using update). You should always notify the engine
of any state changes (using update(..) if your rules depend on this state).
Otherwise the engine will assume the state is still the same
Tom,
The first error is simply because you don't have a human task server running
(so it can't find any human tasks). Some info on starting the human task
service can be found here:
It doesn't seem to be able to find a query, which should be defined in the
orm.xml. Do you have the orm.xml file in your META-INF folder on your
classpath?
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-process/drools-process-task/src/main/resources/META-INF/orm.xml
Kris
Vijay,
I've taken a look and you are correct, the work item object should not be reset
on completion as that way, listeners or on-exit actions might not have access
to it anymore. I've used another approach to solve the issue that resulted in
me adding this reset to -1. Let me know if this
Stephen,
Something like this:
change-set xmlns='http://drools.org/drools-5.0/change-set'
xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
xs:schemaLocation='http://drools.org/drools-5.0/change-set
drools-change-set-5.0.xsd'
add
resource
We don't really expose an update site, but you can simply download the
eclipse artefact and unzip in your eclipse folder. Since Drools is also
part of JBoss Tools, you can use the nightly builds to get the latest
snapshot release as well.
http://www.jboss.org/tools/download/
Kris
-
Han Ming,
Here is the full list of changes that were made to the original war that is
located here:
http://www.intalio.org/public/maven2/com/intalio/bpms/web/designer/1.0.0.010/
Note that most of the changes in the src dir (as described below) were to get
the import/export functionality of
Jonathan,
Drools supports a simulated clock (unified for rules and processes), so this
should allow you to build a simulator. The code that Mark is referring to is
just something built on top that allows you to define a simulation as a
sequence of commands that are sent to the session at
Imports are always defined globally (i.e. at the process level). So simply
opening up any expression editor and adding the imports there should allow
you to add imports.
Kris
- Original Message -
From: drooRam rajeshr...@yahoo.com
To: rules-users@lists.jboss.org
Sent: Thursday,
Why do you need that specific client? I think you should just create your
own client if you want to do operations like complete and claim?
Kris
- Original Message -
From: drooRam rajeshr...@yahoo.com
To: rules-users@lists.jboss.org
Sent: Thursday, August 05, 2010 8:05 PM
Subject:
Paul,
Do you use the same KnowledgeBuilder for adding all your processes to the
KnowledgeBase?
That should make sure that any potential conflict in generated java classes
is resolved automatically.
Kris
- Original Message -
From: paulB paul.bor...@sironahealth.com
To:
Cristiano,
Drools Flow allows you to run executable BPMN2 processes. The example
you are showing is actually a choreography, which describes the
interaction between different actors, in this case probably a human
actor using some kind of (web) application to send / receive data and an
auctioning
You yourself can decide how many sessions you want. Sessions are rather
lightweight (so yes, you could simply create a new session for each
process instance) and simply act as an independent processing unit.
So then the question is, how many sessions do you normally need? Well,
simple
Carlos,
We are explicitly sending out before and after events to make sure you
can figure out which events are the result of what other events. This
allows us to recreate a tree-view of events (e.g. see the audit logger).
The order you are seeing is normal, let me try to explain.
If you have a
The difference is that the workitem is set to state aborted instead of
completed. And you could for example access the work item state in an
on-exit action on the work item and do something in that case (throw an
exception, set a process variable).
It is correct however that the process
Hi,
The process instance should automatically be reconnected to the session (=
working memory) when it is reloaded from the database. It is a little
unclear however, from you stacktrace, how you get a reference to your
process instance after it has been restored. Particularly:
Forms are separately created using a template-based approach and looked
up from the application classpath based on the task name. In this case,
the Performance Evaluation.ftl form definition can be found in
Yes, we made the transaction manager pluggable, with a default
implementation for JTA and Spring. You can take a look at the
drools-persistence-jpa module, there is a
org.drools.persistence.session.TransactionManager, that is the interface
you would have to implement, with the
Juan,
By default the gwt-console server instantiates one session that is
reused for executing all process instances. This is however just one
possible architecture. I think you can easily adapt the current code
(take a look at DroolsFlowCommandDelegate in the drools-gwt-console module).
1)
The process engine really doesn't add that much overhead to the actual
work that needs to be performed by the process itself. If you're
invoking a service that takes 2-3 seconds, you need to make sure you
invoke the service asynchronously, so the engine can continue executing
other process
Quoting Michael Anstis michael.ans...@gmail.com:
What project can I find this under
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-process/drools-gwt-form/
On 16 October 2010 22:57, Kris Verlaenen
kris.verlae...@cs.kuleuven.bewrote:
Forms are separately created using
Sam,
Yes, exactly like you said, if you use the FreeMarker templates, you
have access to the task variable and the content, which is whatever
you want it to be. If your content is a Map, we also allow access to
all the values in the Map by using the key as a variable name (just to
simplify your
The engine will store the state of the process instance at any safe
state. This means we won't store the state while we're still in the
middle of processing it (as that means the state is still changing), but
only once we're done processing that one trigger.
So if you have a synchronous process
Drools allows remote clients to use exactly the same API by using a
command approach. We have a client-side implementation of the drools
session api that simply creates command objects that can be serialized
and then transported from client to server using most communication
channels. At server
This varies a little depending on which application server you are
using, but assuming you're using JBoss AS: simply create a jar that
contains all your form definitions and add the jar either to the
server_installation_dir/default/lib folder or in the /WEB-INF/lib/
folder inside the
Prafull,
It all depends on how you want to store the data that you need to do
BAM. You could consider the audit logger as an example of how you could
do logging (although it might probably be better to not use XML logging
for BAM, but rather use a database or feed the events directly into
Drools
Bjorn,
Unfortunately, the BPMN2 specification does not define anything that
could be used to store globals (or imports for that matter).
We've always held back a little on adding custom extensions to the BPMN2
spec but since it is stable now, I guess we will have no other choice.
I'll be adding
The integration code for executing a custom work item is plain old Java.
So anything you can implement or invoke using Java code can be used to
implement a work item. So using EJBs in the integration code shouldn't
be a problem.
Kris
borg wrote:
How are pluggable working items implemented?
Ken,
In Drools, timers etc. are linked to a session (where the session can
contain process instances, timers, data, rule evaluations, etc.). So,
even if you are using Drools Flow in a clustered environment, where you
could have a number of independent sessions running simultaneously, the
On Oct 28, 2010, at 8:28 PM, Kris Verlaenen wrote:
Ken,
In Drools, timers etc. are linked to a session (where the session can
contain process instances, timers, data, rule evaluations, etc.). So,
even if you are using Drools Flow in a clustered environment, where you
could have a number
Alfredo,
Yes, the GuvnorAPIServlet seems to be connecting hardcoded to
http://localhost:8080/designer/bpmn2_0deserialization;. I'll see if I
can update this to something better or at least configurable.
Kris
AlfredoLatini wrote:
Hi,
i have a problem with oryx process-designer and drools
Hi,
It is possible there are still issues between Oryx and Drools Eclipse
plugin, as they are both using the same spec but not necessarily the
same version (or interpreting the spec differently). First of all, I
would recommend updating to the latest version of the Oryx designer
Juan,
You're pretty close to the actual solution ;)
The only problem is that you can't just map values to new work item
parameters and expect them to show up in the task somehow. There is one
parameter called Content that can be used to put in data that might be
needed / relevant during task
Hi,
Yes, the NPE you are getting is because the package as defined in the
process is not the same as the package in Guvnor. You can set the
package of your process either by changing the XML file as you
described, but there is also a package name property on the process
(just click the
Hi,
If you use persistence, you should use ksession.signalEvent(type, event,
processInstanceId) instead of signaling the process instance itself.
The reason is that, if you're using persistence, the state of the
process instance is stored in the database after processing and the
process
Gregor,
Is there a reason why you are using rule constraints in your process?
It seems you are doing a simple evaluation of a process variable value,
in which case a simple code constraint like:
return reviewer.equals(ticket.getType());
should work, and you'll have less changes of seeing
(using a normal Browser or a Download Manager)
Regards
Von: rules-users-boun...@lists.jboss.org
[rules-users-boun...@lists.jboss.org] im Auftrag von Kris Verlaenen
[kris.verlae...@cs.kuleuven.be]
Gesendet: Montag, 08. November 2010 01:19
An: Rules
201 - 300 of 310 matches
Mail list logo