問題タブ [spring-remoting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 動的リモート サービスの場所 - Spring で注入する方法は?
私は現在、作業中のプロジェクトの分散サービス アーキテクチャに取り組んでいます。基本的に、私たちは 200 台以上のマシンを管理しています。これらの各マシンには、特定の方法でマシンとやり取りできるサービスのインスタンスが実行されています。
センターには、これら 200 の同一のサービスと対話する必要がある制御アプリケーションがあります。これを実現するために、Spring Remoting を介して RMI を使用することを望んでいました。これにより、リモート サービスを @Autowire で @Controller に接続し、ローカル サービスのように例外伝播を使用して処理できます。将来的には、フックを介したトランザクション/セキュリティ コンテキストの伝播が可能になります。
これは、Spring 構成でリモート サービスをハードコーディングできる単一のマシン上の単一のサービスには最適ですが、どのサービス (別名、どのマシン) を話したいかを動的に選択する方法がわかりません。実行時にそのリモートサービスを「Spring」の方法で利用できるようにします。
これをデータベース テーブルから動的に構成し、同じテーブル情報を使用してサービス ルックアップを実行しながら、依存性注入を利用できるようにしたいと考えています。
ある種のサービス ルックアップを実行できる何らかのサービス マネージャーを注入することを考えましたが、他の誰かがこの (または同様の) 問題をエレガントに解決してくれることを期待していました。
ハードコーディングされた単一のサービス インスタンスの例は次のようになります。
最初の XML スニペットはマシン サービス自体にあり、Spring に RMI 経由で公開するように指示します。
2 番目の XML スニペットは、公開されたサービスにアクセスできるようにするクライアント (制御アプリケーション) にあります。
動的にしようとしているのは、構成の 2 番目のビットです。ご覧のとおり、このサービス プロキシを作成するには、Bean の作成時にサービス URL を知る必要があります。サービス URL は、どのマシンと話したいかによって、200 以上のバリエーションのうちの 1 つになります。私が話しているサービスは同じインターフェースですが、現在の要求コンテキストに応じて、実行時までどのマシンかわかりません。
java - Tomcat の RMI Spring
RMI サーバー アプリケーションと RMI クライアント アプリケーションがあります。どちらも Spring Remoting で構成されています。クライアントをJavaアプリケーションとして実行すると、サーバーに接続して正常に実行されます。
Tomcat で実行されている Spring MVC アプリケーションに RMI Client .jar を追加したいと考えています。Web アプリケーションをデプロイすると、次のようになります。
RMIサーバーには私が持っています
RMI クライアントには springRMI.xml があります。
と
Web アプリで、RMI クライアントの jar 依存関係を追加し、Spring コンテキストを構成します。
java - spring httpinvokerserviceexporter クライアントは同じフレームワーク上にある必要がありますか?
申し訳ありませんが、私は春が初めてで、httpinvokerserviceexporter について質問があります。チュートリアルに従って、基本的なセットアップを行いました。
動作するかどうかをテストするために、URL を実行し、http://localhost:8080/hello_spring/hello.htm
glassfish サーバーから次のスタックトラックを取得しました。
このエラーは、Spring 対応の Java アプリケーションではなく、ブラウザを使用したことが原因ですか?
java - 春のリモーティングマッピングURL
特に春のリモーティングのチュートリアルに従いましたがHttpInvokerServiceExporter
、クライアントとサーバー(ファクトリービーン)の両方のセットアップに問題はありません。
質問は、Spring MVCを使用していることに気づきましたが、各インターフェイスは特定のURLにマップされています
問題は、サービスインターフェイスに複数のメソッドがある場合、これらのインターフェイスメソッドのそれぞれをURL自体にマップすることは可能ですか?
spring - SpringHttpInvoker を WSO2 ESB と統合しますか?
複数の Spring HttpInvoker サービスがあり、それらを WSO2 ESB と統合したいと考えています。私はESBの作業に本当に慣れていないので、誰でも私を助けることができますか?
これらすべてを WSO2 ESB に統合し、WSO2 ESB からの単一の呼び出しインターフェイスを持ちたいと考えています。
java - ヘッセ行列を介してSpringremotingで転送される場合、BigDecimal値は常にゼロです。
SpringのHessian関数を介してBigDecimal値を返すリモートメソッドを呼び出すと、常にゼロが返されます。メソッドを直接呼び出すか、プレーンなヘッセサーブレット(Spring以外)を使用して正常に機能します。
これを修正するために何ができるでしょうか?
サーバー側(Tomcat 7)
web.xml:
remoting-servlet.xml:
メソッドを呼び出すサービスクラス:
クライアント側
Spring構成-applicationContextHessian.xml:
コンソールアプリケーションテスト:
編集:使用されたライブラリはSpring3.2とHessian4.0.7でした
java - Spring の Hessian Remoting を使用したクライアント側の基本的な HTTP 認証
クライアント側には、次のSpring Beanがあります。
そして、次のように Hessian Web サービスを呼び出しています。
これは、サーバー側で Spring Security を有効にするまで問題なく機能します。その後、予想されるエラーが発生します - 「サーバーが HTTP 応答コードを返しました: 403」。
では、クライアント側でユーザー名とパスワードを構成するにはどうすればよいですか?
java - SpringでのHessianWebサービス呼び出し間のHTTPセッションの維持
Spring Remotingのドキュメントに従ってサービスを設定しましたが、クライアントアプリケーションでは、セッション関連のデータをサーバーに保存するのと同じHTTPセッションを再利用しながら、サービスメソッドを呼び出します(クエリを実行する代わりにすべての呼び出しでそのデータ)。
これは可能ですか?
クライアント側のスプリングサービス構成:
現在、呼び出されるすべてのメソッドは新しいセッションIDを生成します。
spring - RMI Service Exporter と HttpInvoker の違いは?
RMI Service Exporter と HttpInvoker の違いは何ですか?
RMI は、基礎となる通信技術として RMI を使用し、インボーカー標準の http ポストを使用することを知っています。注目に値する他の違いはありますか?
java - Spring HTTP呼び出し側は、次の要求を処理する前に1秒間待機します
セクション20.4のhttp://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/remoting.htmlで説明されているように、Springhttp呼び出し側の例を設定しました。
複数のサービス呼び出しを続けて実行する場合(forループを参照)、サーバーは4ミリ秒未満でメソッドを処理しますが、単一の呼び出しの間は1秒です。
何か案は。
ステファン
ここで設定と呼び出し: