1

tomcat 7 に guvnor をデプロイしました。次に、BRMS の周りにラッパー Web サービスをデプロイする必要があります。Web サービスは spring-ws であり、@Autowired kbase 依存性注入を使用します。kbase は spring-context XML で (リテラルではない) として構成されます。

<drools:resource id="xxx" source="http://localhost:8080/guvnor/.../<package>/LATEST

問題は、Tomcat が最初に Web サービスをロードすることです。これは、guvnor URL がまだアップしていないため、初期化に失敗します。

これを回避するには、最初に tomcat の起動と共に guvnor のみを起動し、次に WS war を webapps フォルダーにコピーします。これは機能しますが、毎回行うのは面倒です。

最善のアプローチは何ですか?

このスレッドを見たことがありますが、このコンテキストで機能するかどうかはわかりません: Is there a way to enforce a deployment order in tomcat6?

4

1 に答える 1

0

これに対処するために、次の方法を試しました。

  1. Tomcat は、起動時に両方のサービスを起動します。Web サービスの初期化は失敗しますが、Tomcate 管理インターフェイスを使用して Web サービスを手動で起動します。
  2. スクリプトを使用して上記と同じことを行い、遅延後に Web サービスを起動します。
  3. drools パッケージの初期化を変更して、再試行ロジックとともに構成ファイルを介してではなく、 drools APIを介してロードするようにします。

これらはすべて機能しますが、製品コードの最後のオプションを保持します。

于 2012-09-10T06:25:04.257 に答える