Hi,
I've been working for 2-3 years with jBPM 2/3 and now have the time to evaluate if I
should switch to version 4 in future. In the user-guide I read the following:
anonymous wrote :
| For all objects that are referenced by a class name, will be instantiated during
parsing time. Which implies that the objects have to be threadsafe. This is typically OK
since those objects are typically immutable
|
In jBPM 3 an ActionHandler-Implementation was instantiated (lazy) at runtime. There was no
need for an Action-impl to be threadsafe (and if several config-arguments were injected
via processdefinition it wasn't for sure threadsafe :-). But although it was not
threadsafe it was reusable - if an action was executed a second time (not concurrently)
it was already instantiated.
But what is the difference in jBPM4 now? In a Java-Task for example it is still possible
to provide arguments via declaration so this object (which is referenced by class-name)
will never be threadsafe (except I chose the dirty way and make the variables final).
So my questions are:
Why do these objects have to be threadsafe? For me it doesn't make a difference if
such a class is instantiated at parsing- or runtime.
If they must be threadsafe why are the classes in the examples not threadsafe
Why are objects instantiated (at parsing time) which maybe never will be used (who can
guess the path of execution)?
Thanks in advance
regards,
Michael
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4254605#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...