大家帮我看下,这个错误是我在部署流程定义文件的时候的错误,
我的部署流程源码
// 部署流程定义
public void desploy(){
// 通过jbpm的配置文件创建jbpmContext工厂,并通过工厂创建一个jbpmContext实例。
JbpmConfiguration jbpmCfg = JbpmConfiguration.getInstance("jbpm.cfg.xml");
JbpmContext jbpmContext = jbpmCfg.createJbpmContext();
// 通过资源文件载入工作流程定义
InputStream input = this.getClass().getResourceAsStream("/processdefinition/processdefinition.xml");
ProcessDefinition pd = ProcessDefinition.
parseXmlInputStream(input);
try{
// 部署流程定义
jbpmContext.deployProcessDefinition(pd);
}catch(RuntimeException e){
// 如果出现异常,则回滚
jbpmContext.setRollbackOnly();
throw e;
}finally{
// 如果没有出现异常,则保存后关闭,否则回滚后关闭
jbpmContext.close();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JbpmTest jt = new JbpmTest();
jt.desploy();
}
运行时候出的错误
11:43:42,453 ERROR JDBCExceptionReporter:78 - Unknown column 'processdef0_.DESCRIPTION_' in 'field list'
11:43:42,453 ERROR GraphSession:156 - org.hibernate.exception.SQLGrammarException: could not execute query
Exception in thread "main" org.jbpm.JbpmException: couldn't find process definition 'processdefinition.xml'
at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:158)
at org.jbpm.db.GraphSession.deployProcessDefinition(GraphSession.java:67)
at org.jbpm.JbpmContext.deployProcessDefinition(JbpmContext.java:173)
at com.ibm.qjy.test.JbpmTest.desploy(JbpmTest.java:27)
at com.ibm.qjy.test.JbpmTest.main(JbpmTest.java:43)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2223)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
at org.jbpm.db.GraphSession.findLatestProcessDefinition(GraphSession.java:154)
... 4 more
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'processdef0_.DESCRIPTION_' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3176)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1153)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1266)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 13 more
Unknown column 'processdef0_.DESCRIPTION_' in 'field list'
未知列名称processdef0_.DESCRIPTION_
processdefinition.xml无法执行.是字段错误吧,检查一下部署文件
processdefinition.xml路径不对