歡迎您光臨本站 註冊首頁

手動啟動JobExecutorServlet

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  使用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配置.


[火星人 ] 手動啟動JobExecutorServlet已經有279次圍觀

http://coctec.com/docs/java/show-post-60607.html