0

アプリケーションからデータをストリーミングするには、複雑な Spring 定義のセットアップでサービスをアプリケーションにロードする必要があります。

残念ながら、springmodule.xml でデータが定義されていなくても、Spring はアプリケーション内の既存のコンポーネントに連鎖反応を起こしています (やや心配です)。

影響を受けるコンポーネントは Axis2 (または JibX) であると思われます。メッセージを書き込もうとしているポートの読み取りに関しては、それ自体はエラーを出していません-スプリングが関与していない場合は正常に機能し、メッセージが返されます。ハングしてから時間-アウト。

したがって、可能であれば、Spring-Context を起動し、必要なコンポーネントを作成し、Spring コンテキストからそれらを抽出してから、Spring-Context を閉じて、他のコンポーネントへのこの影響が及ばないようにしたいと考えています。Spring を使用したら、Spring を取り除く以外はすべて機能します。

ApplicationContext を ClassApplicationContext (またはそれが呼び出されたもの) にキャストし、.stop() と .close() を呼び出してみました。

しかし、それは問題を解決しません。

これを行う方法がわかっている場合は、別の JVM またはランタイムで SpringContext を喜んで開始します。または、それがもっともらしい場合は、既存のアプリケーションとの対話を停止するだけで済みます (Spring がロードされているかどうかを検出し、存在する場合はそこから何かを探し、その後何かを壊します)

これは、同じプログラムで 2 つの完全に別個のスプリング コンテキストをロードしたい場合と同様の問題であるに違いありません。

申し訳ありませんが、これはとりとめのないことを知っています

4

1 に答える 1

1

実際の問題は、System.getProperties().put( ... ) が Spring 自体ではなく、Spring を書いた人によって呼び出されたことであることが判明しました。

コンポーネントに必要なこれらのシステム プロパティ「フック」の 1 つは、アプリケーションの他の部分で Axis2 にフックし、それを別のプロキシ ポートに送信して、本来のプロキシ ポートをオーバーライドし、接続されていないときのポート。

于 2013-02-15T10:58:13.847 に答える