問題タブ [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.
apache-flex - スプリングオブジェクトのリモート処理でのResultEventイベントの発生
フレックスリモーティングを学ぼうとして、これに出くわしました
ここで、flexServiceはリモートJavaオブジェクトです..上記の関数呼び出しでは、ResultEvent.RESULTが発生するときに誰でも助けてくれます。ASドキュメントのResultEventについて調べると、次のように記載されています。
RPC操作が正常に結果を返したことを示すイベント
したがって、私の推測では、flexService.getRulesメソッドがオブジェクトのリストを正常に返すときにResultEventが発生します。ここで、flexServiceは、オブジェクトのリストを返すgetRules関数を持つリモートクラスFlexServiceのオブジェクトです。動作します..また、eventListenerをオブジェクトのリストに追加する方法を1つのplzで教えてもらえますか
PS:私はSpringをバックエンドとして使用しています
java - Java構成BeanとしてのSpringHttpRemotingクライアント
XmlApplicationContext
Springをからに移行しようとしていますAnnotationConfigApplicationContext
(詳細:Javaベースのコンテナ構成)。
すべてが完璧に機能しますが、HttpInvokerクライアントを作成する方法がわかりません。XML構成は次のとおりです。
Java構成はどのように見えるべきですか?このファクトリービーンはまだ必要ですか?この構成方法を使用すると、このラッパーなしでクライアントをインスタンス化できるはずです。
これは(どういうわけか)私には気分が悪い:
spring - Http Invoker は、サービス エンドで構成されたアスペクトを呼び出さない
私は適切に構成された http インボーカーのセットアップがあり、動作状態にあります。認証には、基本的にさまざまな基準 (Web コンテキスト、ユーザー名 pwd など) に基づいてスレッド ローカルに認証ビットを追加する AOP を使用します。
そして今、問題。コールがサービス終了時に受信されると、私のサービスは認証ビットを確認します。慎重にデバッグしたところ、それぞれのアスペクトが呼び出されていないことに気付きました。
認証ビットをスレッドローカルに追加するアスペクトの関連コードを次に示します。
そして、これが呼ばれるサービスメソッドです。
ローカルセットアップで呼び出される「provision()」メソッドを作成すると、アスペクトが呼び出されます。しかし、このメソッドが http-invoker 経由で呼び出された場合、呼び出されませんか? この問題をエレガントに回避するにはどうすればよいですか? (私は認証ピースを provision() メソッドに追加するという1つの解決策を持っていますが、それは私のテスト能力とSRPを妨げています.
java - RmiProxyFactoryBean + Autowired(必須=false)
java -jar A.jar
私は 5 つのプロジェクトを持っています。そのうちの 4 つは、 etc と 1 つの Web アプリケーション (E)を使用してコンソール (A、B、C、D など) で実行されます。Web アプリケーションは、A、B、C、および D の組み合わせが実行されているいくつかの分離されたサーバーにデプロイされています。
Web アプリケーションの Spring 構成ファイルにはRmiProxyFactoryBean
、プロジェクト A、B、C、D のそれぞれに 1 つずつ、4 つの宣言があります。これらのプロジェクトにはそれぞれ 1 がありRmiServiceExporter
ます。
私の問題は、プロジェクト (AD) の 1 つが実行されていない場合、Web アプリケーションが起動時に例外をスローすることです。@Autowired(required=false)
これらのサービスを使用してコントローラーで使用しようとしましたが、役に立ちませんでした。RmiProxyFactoryBean
それを機能させるには、Web アプリのスプリング ファイルを編集して、実行されていないプロジェクトをコメント アウトする必要があります。ビーンを取得しようとするように指示する方法はありますか?RmiProxyFactoryBean
それが失敗した場合でも心配する必要はありませんrequired=false
。
私の設定は現在次のようになっています:
と
spring - プロトコルの切り替え、Springを使用したプレゼンテーションからビジネスへのEJBへのリモート呼び出し
私は以前のプロジェクトでSpringDIとIOCを幅広く使用してきました。新しいプロジェクト要件に従って、次のようにプロジェクトを設定する必要があります。
- ビジネスプロジェクト(Javaプロジェクト)
- 共通プロジェクト(Javaプロジェクト)
- プレゼンテーションプロジェクト(Webプロジェクト)
ビジネスとプレゼンテーションは、共通のレイヤーを伝達/使用します。ただし、ビジネスとプレゼンテーションは異なるアプリサーバーにデプロイされ、ビジネスとプレゼンテーション間の通信はhttpベースではありません。プレゼンテーションは、iiopプロトコルを介してビジネスを呼び出します。つまり、プレゼンテーション(Webプロジェクト)からビジネス(Javaプロジェクト)を呼び出しているときに、プロトコルの切り替えが発生します。
さまざまなアプリケーション層を設定するために、次のようにしました。
ビジネスプロジェクトでは、SPRINGの依存性注入機能と通常のOOPS手法を使用して、すべてのビジネスロジックメソッドとDAOメソッドをファサードオブジェクトにカプセル化しました。
次に、EJBを使用してファサードオブジェクトを公開し、プレゼンテーション層からejb jndiを呼び出し、EJB呼び出しを行ってファサードオブジェクトを取得します。
私は知る必要がある :
EJB(単純なステートレスセッションBean EJB 2.1)を作成し、Springを使用して公開するにはどうすればよいですか?
Springを使用してEJBにアクセスするにはどうすればよいですか?(スプリングを使用して同じものを露光したかどうかは関係ありません)
春に同じ構成を行うための適切な/完全な例は(春の参照でも)見つかりませんでした。
このトピックでの助けは大歓迎です。
よろしくお願いいたします。
Jitendriya Dash Java / J2EE開発者、ムンバイ、インド。
java - EJB ベースのアプリケーションで Spring コンテキストをロードする
以下は状況です。
EJB プロジェクトであるビジネス層があります。実際、作成される EJB は 1 つだけです。この EJB は、EJB を呼び出す他のレイヤーにサービス クラスを公開する役割を果たします。このレイヤーにSpring(DI機能を使うため)を導入したいです。
私の懸念は、EJB が呼び出されるたびに、Spring コンテキストが何度もロードされないように、このビジネス層に Spring コンテキストをロードする最良の方法は何ですか?
(Web プロジェクトでは、contextLoaderListener で spring コンテキストを構成するよりも利点があり、アプリケーションの起動時に一度だけ読み込まれます)
次の理由により、同じレイヤーに春を含めることを考えました。
- すべての DAO およびサービス クラスの依存関係を構成し、必要に応じてそれらを挿入します。
- ビジネス層で休止状態の春のサポートを使用するには。
- プロパティをクラスに注入して同じものをシミュレートすることにより、単体テストを容易にします。ビジネスクラス/メソッドをテストするために、他のレイヤーを何度も実行する必要はありません。
- ロギングおよびメソッド レベルの監査に AOP (アスペクト指向プログラミング) を使用できるようにするため。
EJB プロジェクトで Spring コンテキストをロードするための最良の方法を提案するのを手伝ってください。また、アプリサーバーに同じものをロードできる場合に代替手段があるかどうかも知りたいです(Webスフィアアプリサーバーを使用しています)。
よろしくお願いいたします。
ジテンドリヤダッシュ
java - .getClass()を使用するときにコンストラクタにパラメータを渡す方法は?
そのコード行があり、そのバージョンで動作していました:
ただし、パラメーターをコンストラクターに送信したい:
それは私に例外をスローします:
値のクラスを取得するオブジェクトにパラメーターを送信するにはどうすればよいですか?
spring - Spring Remoting HTTP インボーカー - 例外処理
Spring の「HTTP Invoker」リモーティング ソリューションを使用して、DAO をさまざまなアプリケーションに公開していますが、単一のサーバーですべてのデータベースにアクセスしています。
これはうまく機能しますが、サーバーが HibernateSystemException などをスローした場合、Spring はそれをシリアル化し、ネットワーク経由でクライアントに送り返します。クライアントのクラスパスに HibernateSystemException が含まれていない (そしてすべきでない) ため、これは機能しません。
このような問題を回避するために、Spring Remoting がクライアントとサーバーの間で共通であると指定したもので私の例外をラップする方法があるでしょうか?
DAO が実行するすべての処理を try/catch でラップすることにより、サーバー コードでそれを実行できることはわかっていますが、これは明らかにずさんです。
ありがとう、ロイ
hessian - 1000個の要素を含むリストを返そうとするとHttpInvokerが詰まる
1000文字列のリストを返す小さなサービスクラスを作成しました。私はSpringHttpinvokerを使用してサービスを取得し、リストを読んでいます。リスト内の要素の数が100の場合、1000を試してみると、すべてうまくいきます。utillをフリーズします。接続がリセットされます。クライアント側は、同じマシン上にSpringランナーがあるJUnit 4クラスです。これは、Hessianでも同じです。 SpringRemotingクラスを使用するプロトコル。どちらもHTMLベースですが、これがRMIとJMS RMI(Spring remotingを介して)が同じサービスで正常に機能していることを確認できる唯一の接続です。サービスコード
マッピングサーバー側
クライアントマッピング
JUnitコード
何か案は ?