我想讓我的jBPM項目持久化。所以我用這個tutorial。 起初,我導入了所有需要的額外罐子(根據網站)。 我還添加了mysql-connector-java-5.1.20-bin.jar
,因爲我想使用mysql作爲持久性存儲。jBPM持久性:無法構建EntityManagerFactory
之後,我添加了 「狀態」 代碼到我的項目:
KnowledgeBase kbase = readKnowledgeBase(name);
StatefulKnowledgeSession ksession = null;
JBPMHelper.startH2Server();
JBPMHelper.setupDataSource();
if(ProcessManager.sessionId == -1){
ksession = JBPMHelper.newStatefulKnowledgeSession(kbase);
ProcessManager.sessionId = ksession.getId();
}
else {
ksession = JBPMHelper.loadStatefulKnowledgeSession(
kbase,
ProcessManager.sessionId);
}
然後我加入到resources/META-INF
文件jBPM.properties
:
persistence.datasource.name =的jdbc/jBPM的-DS
persistence.datasource.user =測試
persistence.datasource.pas劍=測試
persistence.datasource.url = JDBC:MySQL的://本地主機:3306/helpme
persistence.datasource.driverClassName = com.mysql.jdbc.Driver
persistence.enabled =真
persistence.persistenceunit.name = org.jbpm.persistence.jpa
persistence.persistenceunit.dialect = org.hibernate.dialect.MySQLDialect
如果我現在運行始終存在以下異常(上ksession = JBPMHelper.newStatefulKnowledgeSession(kbase);
)項目:
javax.persistence.PersistenceException:[PersistenceUnit:org.jbpm.persistence.jpa]無法建立的EntityManagerFactory
造成的:org.hibernate.HibernateException:無法找到數據源
產生的原因:javax.naming.NameNotFoundException:名稱JDBC是不是在這方面的約束