我创建了一个jBPM项目,选择添加一个包含人工任务管理的默认示例。我通过以下指令更改了方法JBPMHelper.startTaskService()
:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.jbpm.task");
TaskService taskService = new TaskService(emf,SystemEventListenerFactory.getSystemEventListener());
MinaTaskServer server = new MinaTaskServer( taskService );
Thread thread = new Thread( server );
thread.start();
但是当我尝试执行这个简单的例子时,我得到了这个错误
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: org.jbpm.task] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
at com.sample.ProcessMain.main(ProcessMain.java:24)
Caused by: org.hibernate.HibernateException: 'hibernate.dialect' must be set when no Connection avalable
at org.hibernate.dialect.resolver.DialectFactory.buildDialect(DialectFactory.java:107)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:134)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
我知道当我输入ant start.demo
时,我得到了所有的工具(jboss 7,eclipse,h2),但是人工任务没有启动。控制台中的消息是未完成
start.human.task:
[javac] C:\jbpm-5.2.0.Final-installer-full\jbpm-installer\build.xml:647:
warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last;
set to false for repeatable builds
[java] Task service registered usergroup callback ...
[java] Task service started correctly!
[java] Task service running ...
发布于 2012-02-28 23:46:37
使用安装程序启动任务服务似乎工作正常(当您看到"Task service running ...“它正确启动了)。注意,这是一个在命令中运行的普通Java进程,因此它不会返回,它将保持活动状态,并在该控制台中显示日志信息。关闭命令提示符(或按Ctrl-C)将终止任务服务。从jBPM 5.2开始,您还可以使用可以部署到应用程序服务器的war来将任务服务作为应用程序服务器上的服务运行。
关于您收到的另一个错误,似乎在持久性配置文件中缺少'hibernate.dialect‘属性。您只是尝试执行生成的示例,还是修改了它(如果是,原因/方式)?
克里斯
发布于 2012-03-20 00:39:53
有时,当我使用ant start.demo命令启动服务器时,部署会失败。您可以在dir: jboss-as-7.0.2.Final\standalone\deployments中检查war文件是否正确部署。例如,如果部署了jbpm控制台,您应该有如下部署文件: jbpm-gwt-console.war.deployed。有时,服务器无法部署其中的一个。在这种情况下,只需删除失败的部署文件并重新启动即可。在大多数情况下,问题都为我解决了。
猎人
https://stackoverflow.com/questions/9480396
复制相似问题