2

Tomcat の 2 つのインスタンスが実行されている Web サーバーが 1 つあります。各 tomcat インスタンスには、複数の Web アプリまたは Web サービスがあります。

2番目のTomcatサーバーで実行されているWebアプリケーションで、最初のTomcatサーバーのWebアプリケーションから関数を呼び出す(またはパラメータでイベントをトリガーする)最良の方法は何ですか. たとえば、パラメーター付きの URL を使用した呼び出しの場合、この呼び出しは安全で、サーバーの外部からアクセスできないようにする必要があります。

サーブレット コンテキストの取得について読んだことがありますが、これは別の tomcat インスタンスで可能ですか? これは、同じインスタンスで実行されている webapps でのみ可能であると考えています。

これは私の問題に対して少し大きすぎるため、CORBA、RMI、またはSOAPを使用したくありません...それが私が考えていることです:)

コード例は大歓迎です。ありがとうございました!

4

3 に答える 3

0

ServletContext同じコンテナ内でのみ有効で、2 つの JVM 間で共有することはできません。あなたが求めていることを行うための最も簡単な方法は、2 つのコンテナー間でさまざまな RPC を使用することです。RMI は特にやり過ぎではないようです。もう 1 つの通常のアプローチは、単純な HTTP Web サービス (小文字の "s" に注意) であり、受信コンテナーでロジックを呼び出します。

于 2013-08-08T08:57:03.460 に答える
0

これには、Spring の HTTPInvoker が最適です。Java インターフェイスを使用できます。各インスタンスのコードは、呼び出しがリモートであることを認識する必要はありません。Java メソッドを呼び出すだけです。

セキュリティのために、(Tomcat 内でサーブレットを使用する代わりに) 別のポートで Sun HTTP サーバーを使用し、localhost でのみリッスンすることができます。

こちらをご覧ください

http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/remoting.html#remoting-httpinvoker

于 2013-08-08T09:09:01.990 に答える