啟動Tomcat。drools-jbrms會在Tomcat的bin目錄下新建repository目錄(包括很多子目錄),同時會報無法啟動的異常。異常資訊為Caused by: javax.jcr.RepositoryException: internal error: failed to read custom node type definitions stored in custom_nodetypes.xml: Premature end of file.: Premature end of file.
第1步
按照JBoss官方提供的文件處理
將下載後的jboss_jsf_libs.zip解壓到Tomcat的lib目錄下
第2步
啟動Tomcat。drools-jbrms會在Tomcat的bin目錄下新建repository目錄(包括很多子目錄),同時會報無法啟動的異常。異常資訊為Caused by: javax.jcr.RepositoryException: internal error: failed to read custom node type definitions stored in custom_nodetypes.xml: Premature end of file.: Premature end of file.
(注意,這裡我是在Tomcat/bin目錄下用startup.bat啟動的,如果不是這種方式repository的位置可能有所不同)
第3步
將本文提供的custom_nodetypes.xml覆蓋Tomcat下的bin/repository/repository/nodetypes的同名檔案。
第4步
重新啟動
原因:drools-jbrms包含的某些功能在Tomcat下有問題,生成custom_nodetypes.xml時沒有生成檔案內容,所以報錯。從網上查詢,最遲2007年就有人報這個問題了。看來JBoss的對於非JBoss應用伺服器的相容問題考慮不多。