提交 51439b9f 编写于 作者: G gnt

[ACT-227] The ProcessEngineFactoryBean can not be reused outside of a spring context

Also improve the factory to register the created ProcessEngine in the ProcessEngines class
上级 911e7f01
......@@ -23,6 +23,7 @@ import javax.sql.DataSource;
import org.activiti.engine.HistoryService;
import org.activiti.engine.IdentityService;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.impl.ProcessEngineImpl;
import org.activiti.engine.impl.cfg.IdGenerator;
......@@ -67,6 +68,7 @@ public class ProcessEngineFactoryBean implements FactoryBean<ProcessEngine>, Dis
public void destroy() throws Exception {
if (processEngine != null) {
ProcessEngines.getProcessEngines().remove(processEngine.getName());
processEngine.close();
}
}
......@@ -81,6 +83,7 @@ public class ProcessEngineFactoryBean implements FactoryBean<ProcessEngine>, Dis
initializeJPA();
processEngine = (ProcessEngineImpl) processEngineConfiguration.buildProcessEngine();
ProcessEngines.getProcessEngines().put(processEngine.getName(), processEngine);
if (deploymentResources.length > 0) {
autoDeployResources();
......@@ -111,7 +114,9 @@ public class ProcessEngineFactoryBean implements FactoryBean<ProcessEngine>, Dis
}
protected void initializeExpressionManager() {
processEngineConfiguration.setExpressionManager(new SpringExpressionManager(applicationContext));
if (applicationContext != null) {
processEngineConfiguration.setExpressionManager(new SpringExpressionManager(applicationContext));
}
}
private void initializeJPA() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册