[jbpm-dev] [jBPM Development] - Re: Some bugs and feature requests on jBPM 4.1

jbarrez do-not-reply at jboss.com
Wed Oct 21 10:45:41 EDT 2009


"camunda" wrote : 1. Classloading problems
  | When you put you EventHandlers, Java delegation classes and/or process variable types in an EJB3 deployment and redeploy that, jBPM still holds a reference to the old class definitions, which results in class cast exceptions. My guess is, that this is becasue EventHandler and such are reused/pooled? So there we might have to discuss, what scenario we want to support. 

Eventhandlers, custom activities, etc were indeed instantiated at deploytime and pooled. Tom has recentlry changed this behaviour to instantiation at runtime (saves me a lot of hassle when deploying outside a project). 

But I still think the instances are pooled afterwards, for performance reasons. So imo, this is a bug and needs to be fixed. In the meantime, you can restart the processEngine after a deploy as a 'workaround' (albeit not a good one...)

"camunda" wrote : 
  | 2. Invalid types.xml doesn't result in a parsing error
  | We changed the types mapping and had a small XML error in that file. But this didn't resulted in a parsing exception, the parsing just stopped at this line and our type mapping wasn't read (which puzzled us for quite a while ;-)):
  | 
  | 
  |   |   <type name="..." class="..." variable-class="...EntityVariable"> <!-- end tag was missing! -->
  |   |   <type name="serializable" class="serializable" 
  |   |   converter="org.jbpm.pvm.internal.type.converter.SerializableToBytesConverter" 
  |   | variable-class="org.jbpm.pvm.internal.type.variable.BlobVariable" />
  |   | 
  | 
  | Now every Serializable process variable was rejected...
  | 

Indeed a 'nice to have' feature ... should be easy to catch and log.

"camunda" wrote : 
  | 3. Bind e.g. integer value to EventListener field by expression
  | This didn't work, and I don't know how to get it to work:
  | 
  | 
  |   |    <custom class="de...jbpm.NoopActivity" g="83,61,143,50" name="xxx">
  |   |       <on event="start">
  |   |             <event-listener class="de.....SomeEvenetListener">
  |   |                   <field name="programm"><int  value="#{programm}"/></field>
  |   |             </event-listener>
  |   |       </on>
  |   |       <transition g="14,-11" name="ok" to="b"/>
  |   |    </custom>
  |   | 
  | The only possibility with expressions seems to be the  which results in a field type doesn't match problem:
  | 
  |   |    <custom class="de...jbpm.NoopActivity" g="83,61,143,50" name="xxx">
  |   |       <on event="start">
  |   |             <event-listener class="de.....SomeEvenetListener">
  |   |                   <field name="programm"><object expr="#{programm}"/></field>
  |   |             </event-listener>
  |   |       </on>
  |   |       <transition g="14,-11" name="ok" to="b"/>
  |   |    </custom>
  |   | 
  | 

The first code snippet should indeed work. Probably a bug.

"camunda" wrote : 
  | 4. Should be possible to set Subprocess Key by expression
  | If you start a nw sub process instance, this normally has no special key, thus a key is created for it. It would be really convinient, if the main process could influence the sub process key by an expression (e.g. "#{execution.key}.SubXX.#{someUniqueVariableForIt}). maybe this need some more thoughts (what in case the key is not unique? ...?), but I think it could get handy in lot of situations.
  | 

I've heard this request from someone else too. Besides have an easier overview with multiple subprocesses, what other benefits do you see?

"camunda" wrote : 
  | 7. Signavio
  | by the way, using the Signavio Editor for a already running process results in a lot of attributes beeing removed when saving with Signavio. It should be somehow the default, to keep everything, it doesn't know. I think I remember a discussion, that this is pretty hard to implement. But I think it is crucial for real live use cases. At least for use cases I have in mind for Business-/-Alignment. But maybe we can discuss that in the next meeting in Berlin.
  | 

I agree. I got the same feedback from a meeting with real-life users. Also, the other way around (from Eclipse -> Signavio) doesn't always work well regarding coordinates, it seems.

"camunda" wrote : 
  | 8. Support EJB3 Entities as process variables
  | I think this is a pretty important feature, since a lot of projeects start with EJB3 today. Since Tom fixed a bug in the binding code, I think I can go ahead with that. Will post something as soon I had time to work on it again. If anybody else putting effort into this, please let me know!
  | 

The idea is to have a native activity for EJB3 invocations. If im correct, it was scheduled for 4.3.


View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4261517#4261517

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4261517


More information about the jbpm-dev mailing list