1

現在、Spring 2.5.6 と mule 2.2.1 を実行しているアプリケーションがあります。Spring 3.2 を使用するようにアプリをアップグレードすることを決定し、Spring セキュリティも 3.1 にアップグレードしました。Mule 2.2.1 は構成などに spring 2.5.6 を使用することを理解しています。コードをリファクタリングし、プロジェクト全体をビルドする必要がありました。しかし、アプリケーションをデプロイしてサーバーを起動した後、通常の 30 秒ではなく約 6 秒でサーバーが起動し、どのサービスも読み込まれていないことに気付きました。残念ながら、何日も調査を行った後、Spring ログや Mule ログを含むどのログにもエラーがないため、すべてが失敗した場所を見つけることができません。私の質問は、これらを一緒にプレイすることは可能か、それともこれを機能させることを忘れるべきかということです。

私はこの投稿http://lifeinide.blogspot.com/2012/07/spring-3-and-mule-2-initialized-by.htmlを読み、これらの指示に従いましたが、それでも機能しませんでした。Mule は、エラーなしで正常に起動したと言っていますが、どのサービスにもアクセスできます。何か助けはありますか?ありがとう

4

3 に答える 3

1

ポインターをありがとう@genjosanzo。この問題をよりよく掘り下げ、最終的に機能させるのに役立ちました。

@mtanzania、Mule 2.2.1 を Spring 3.2.x リリースで動作させる必要があるなど、同様のニーズがありました。Mule 3 へのアップグレードには、例外処理戦略、RabbitMQ Mule トランスポートなどの Mule 拡張機能の書き直しが含まれていたため、Mule 3 へのアップグレードは除外されました。これを機能させるには、モジュールから 3 つの Java ファイルを書き換え/更新する必要があります。

groupId:org.mule.modules
artifactId:mule-module-spring-config
version:2.2.1

からの実装:

groupId:org.mule.modules
artifactId:mule-module-spring-config
version:3.4.0

具体的には、次のクラスを更新/アップグレードする必要があります: MuleBeanDefinitionDocumentReader.java、MuleApplicationContext.java、および SpringXmlConfigurationBuilder.java

これらの更新されたバージョンでは、次のように MuleContext を引き続き作成できます。

SpringXmlConfigurationBuilder springConfigBuilder = new   SpringXmlConfigurationBuilder(muleConfigPaths);
MuleContext context = new DefaultMuleContextFactory().createMuleContext(springConfigBuilder)

変更された実装はここにあります: Trooper のMuleとこれを使用するサンプル クラスはここにあります: Trooper Mule コンテナ

于 2013-11-15T05:58:36.850 に答える
0

FWIW、@regunathbからの上記の回答は正しいです。これら 3 つのクラスでのパッチ適用は機能します。ただし、mule-module-spring-config のこれらのクラスの 3.4 バージョンはそのままでは機能しないことに注意することが重要です。@regunathb が GitHub に投稿したクラスの修正バージョンを取得する必要があります。そうしないと、3.4 と 2.2.1 の間でさまざまな非互換性が発生します

于 2014-12-03T14:49:22.823 に答える
0

Mule は、いくつかの内部 Spring API を使用して Mule 構成を解析し、対応する Bean を作成します。

このため、アップグレードは spring 3.0.x で機能する可能性がありますが、Spring 3.1.x で何かが壊れていることは確かです (つまり、このコードは下位互換性を維持するために導入されています)。

ラバもアップグレードしてみませんか?2.2.x 構文のほとんどは引き続きサポートされており、新しい Mule バージョンでは多くの新機能が導入されています。

于 2013-01-18T22:54:50.970 に答える