Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0.0
-
Fix Version/s: 3.0.1
-
Component/s: Modules: BPM / Rules
-
Labels:None
-
Environment:
Windows XP SP3 32bit
Sun JDK 1.6.0_21
JBoss AS 5.1.0
-
User impact:High
-
Configuration:
-
Log Output:
-
Similar Issues:None
Description
The initialisation of a jbpm connector is not correctly handled when a reference to the already-initialized jBPM ProcessEngine is injected by Spring by reference through the attribute "processEngine-ref" of the connector.
In class org.mule.transport.bpm.jbpm.JBpmConnector, the method createBpms()
@Override
protected BPMS createBpms() throws Exception
{
return (BPMS) ClassUtils.instanciateClass(JBPM_WRAPPER_CLASS, configurationResource, processDefinitions);
}
should be replaced by
@Override
protected BPMS createBpms() throws Exception
{
BPMS bpms = null;
if (processEngine ==null)
{
bpms = (BPMS) ClassUtils.instanciateClass(JBPM_WRAPPER_CLASS, configurationResource, processDefinitions);
}
else
{
bpms = (BPMS) ClassUtils.instanciateClass(JBPM_WRAPPER_CLASS, processEngine);
bpms.setProcessDefinitions(processDefinitions);
}
return bpms;
}
Otherwise, Mule is trying to initialise the connector afterwards with an inexistent applicationContext.xml file when the method ((org.mule.api.lifecycle.Initialisable)bpms).initialise() is called and a org.mule.api.lifecycle.InitialisationException is then thrown.
Activity
Bertrand Gillis
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Attachment | mule-transport-bpm.zip [ 12997 ] |
Daniel Feist
made changes -
| Fix Version/s | Bug Backlog [ 10522 ] | |
| Assignee | Travis Carlson [ tcarlson ] | |
| Priority | To be reviewed [ 6 ] | Major [ 3 ] |
Travis Carlson
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Travis Carlson
made changes -
| Status | In Progress [ 3 ] | Closed [ 6 ] |
| Fix Version/s | 3.0.1 [ 10877 ] | |
| Fix Version/s | Bug Backlog [ 10522 ] | |
| Resolution | Fixed [ 1 ] |
tcarlson
08/Nov/10 11:33 AM
View full commit
Recorded merge of revisions 20003-20004,20019 via svnmerge from
https://svn.codehaus.org/mule/branches/mule-3.0.x
........
r20003 | tcarlson | 2010-10-25 22:59:13 -0300 (Mon, 25 Oct 2010) | 1 line
MULE-5114 Upgrade to jBPM 4.4
........
r20004 | tcarlson | 2010-10-26 11:17:56 -0300 (Tue, 26 Oct 2010) | 1 line
MULE-5114 Upgrade to jBPM 4.4
........
r20019 | tcarlson | 2010-10-27 12:34:13 -0300 (Wed, 27 Oct 2010) | 1 line
MULE-5111 Initialisation of a jbpm connector is not correctly handled with an already-initialized jBPM ProcessEngine
........
git-svn-id: https://svn.codehaus.org/mule/branches/mule-3.x@20121 bf997673-6b11-0410-b953-e057580c5b09
| Transition | Time In Source Status | Execution Times | Last Executer | Last Execution Date | |||||
|---|---|---|---|---|---|---|---|---|---|
|
27d 11h 7m | 1 | Travis Carlson | 25/Oct/10 06:40 PM | |||||
|
1d 15h 54m | 1 | Travis Carlson | 27/Oct/10 10:35 AM |
This list may be incomplete, as errors occurred whilst retrieving source from linked applications:
- Repository mule on http://foo.bar/ failed: Error in remote call to 'FishEye 0 (http://foo.bar/)' (http://foo.bar) [AbstractRestCommand{path='/rest-service-fe/changeset-v1/listChangesets/', params={expand=changesets[-21:-1].revisions[0:29], comment=MULE-5111, p4JobFixed=MULE-5111, rep=mule}, methodType=GET}] : java.net.UnknownHostException: foo.bar
The method setProcessDefinitions() is not available in interface org.mule.transport.bpm.BPMS.
So to solve this issue the method should be replaced by the following code:
@Override protected BPMS createBpms() throws Exception { Jbpm jbpm = null; if (processEngine ==null) { jbpm = new Jbpm(configurationResource, processDefinitions); } else { jbpm = new Jbpm((ProcessEngine)processEngine); jbpm.setProcessDefinitions(processDefinitions); } return (BPMS)jbpm; }@Override protected BPMS createBpms() throws Exception { Jbpm jbpm = null; if (processEngine ==null) { jbpm = new Jbpm(configurationResource, processDefinitions); } else { jbpm = new Jbpm((ProcessEngine)processEngine); jbpm.setProcessDefinitions(processDefinitions); } return (BPMS)jbpm; }