我最近刚开始使用JBoss' Wildfly 8.1和activiti框架。
我创建了两个项目,一个是我的bpmn.xml文件,另一个是服务任务的类:
Process:
-src/main/
-impl.java
-src/resources/
-diagrams
-myprocess.bpmn.xml
-config
-activiti-context.xml
另一个持有servlet
WebTest:
-src/main
-testServlet.java
-lib
-process.jar
在我的servlet中,我实现了init方法来获取Activiti processEngine:
@Override
public void init() throws ServletException{
super.init();
engine = ProcessEngines.getDefaultProcessEngine();
}
我构建Webtest.war文件并将其部署到
D:/path/to/workingdir/wildfly-8.1.0.Final/**standalone/deployments**/Webtest.war
然后我使用提供的standalone.bat启动Widlfly,它正确启动并部署到context / Webtest,到目前为止一直很好。
如果我现在访问localhos:8080 / Webtest / servlet我得到例外:
org.activiti.engine.ActivitiException:无法从spring配置资源vfs初始化流程引擎:/ D:/path/to/workingdir/wildfly-8.1.0.Final/ bin / content < / strong> /TEST-1.war/WEB-INF/ lib / process.jar / activiti-context.xml :null
错误:最后为null意味着无法访问该文件。当然它不能,没有bin /内容!
我现在的问题是:Widlfly在哪里可以看到bin / content?它显然能够找到配置文件本身,我从来没有告诉spring或activiti查看process.jar,所以应用程序在类路径中找到配置好...然后它继续从完全不同的方式读取文件位置不存在?
我不知道这是否有趣,但这是我的activiti-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"/>
</beans>
感谢任何帮助或提示!