`
aguest1151
  • 浏览: 14306 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

手动启动JobExecutorServlet

阅读更多

start JobExecutorServlet by manual

使用Jbpm的朋友对JobExecutorServlet不会陌生。
我在web.xml中进行了如下配置
 <servlet>
  <servlet-name>JobExecutorServlet</servlet-name>
  <servlet-class>org.jbpm.job.executor.JobExecutorServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>JobExecutorServlet</servlet-name>
  <url-pattern>/jobexecutor</url-pattern>
 </servlet-mapping>
这样,当Tomcat启动时,JobExecutorServlet也会自动启动。
load-on-startup的值可以设置成1,2,3或-1,表示启动顺序,如果是-1的话表示不启动。
JobExecutorServlet 自动启动给我带来了一些麻烦,导致正常应用系统启动不起来或者错误。其中一个原因就是我在Jbpm的Job中放置了一些代码,这些代码会调用应用系统中的 某些javabean,因为应用系统启动没有JobExecutorServlet快,就导致了错误。
刚开始,我总是在启动tomcat的同时去启动应用系统(向浏览器发送请求),如果迅速的话可以避免错误,但是如果慢的话,可能就会产生错误。

后来,想想,能不能手动启动JobExecutorServlet呢?等我需要的时候在启动它。回答是肯定的。

JbpmConfiguration.getInstance().startJobExecutor();
这个地方必须使用JbpmConfiguration,而不是自己创建的jbpmConfiguration对象或实例,要不然将不会有任何现象。
记得要注释掉web.xml中的JobExecutorServlet配置。

分享到:
评论
1 楼 rking0228 2010-07-28  
你指的是jbpm3吗

相关推荐

Global site tag (gtag.js) - Google Analytics