問題タブ [rmi]

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.

0 投票する
4 に答える
838 参照

java - JBoss よりも簡単な方法で、コンテナ セッション管理を使用して Java で POJO RPC を実行

現在、私は Java で POJO の RPC を実行する方法しか知らず、非常に複雑な EJB/JBoss ソリューションを使用しています。

RMIまたは本格的なオブジェクトをシリアル化してネットワーク経由で送信できるものを使用して、同様の機能をより薄いレイヤー(Java EEコンテナーの内外)で提供するより良い方法はありますか?

私は現在、HTTP/JSON シリアライゼーションには興味がありません。

編集: 明確にするために: 古い EJB 2.1/JBoss 4 ソリューションを、コンテナー レベルで管理しやすいものに置き換えようとしています。データベースを完全に制御する必要があります (かなり複雑な SQL を非常に簡単に使用できる iBATIS を使用する予定です)。

  • ルックアップ/データ変更メソッドの呼び出し (自動魔法のシリアライゼーションがここに入る)。
  • 透過的なセッション制御 (認証/承認)。私はまだこれを達成する方法を見なければなりません。

もちろん、両方のアイテムが全体として機能する必要があります。資格情報を持たないユーザーにはアクセスを許可しないでください。

私は Web アプリケーションを作成するのがあまり好きではないので、POJO のみを管理し、いくつかのレポートを作成し、コンテナからメソッドを呼び出す GUI (Swing または SWT) を作成する予定です。シリアル化をできるだけ簡単にしたい。

0 投票する
10 に答える
3949 参照

java - Java RMI リソース

私は現在、Java RMI を広範囲に使用するプロジェクトに取り組んでおり、Java RMI に関する優れたリソースを誰かが知っているかどうか疑問に思っていました。

私が現在見つけている資料で抱えている問題は、通常はかなり古くなっている (Java 1.3 など) か、半分完成していることです。喜んで本を購入したいのですが、Amazon で見ると、すべての本は 7 年ほど前のものです。

したがって、誰かが優れたリソース、本、または優れた実装例を知っている場合は、それらについて聞くことに非常に興味があります.

0 投票する
1 に答える
3725 参照

java - JUnit および RMI アプリ、RMI レジストリのベスト プラクティス

RMI クライアント アプリケーション用の一連のシステム統合テストを作成しようとしています。JUnit 3.8.2 で RMI サーバーを起動し、それらのテストを実行したいと考えています。誰かがこれをしましたか?

メインのpojoで次のようなものを使用しています:

これをjunitテストに変換して、レジストリが1回だけ起動され、レジストリが実際に起動した場合にのみテストが実行されるようにする最良の方法は何ですか? メインからのすべてのテスト コードを含む 1 つのテスト メソッドを含むテスト クラスを作成することは避けたいと考えています。

また、テストを書くときは何に注意すればよいですか? RMI テストの落とし穴はありますか?

0 投票する
4 に答える
1826 参照

java - Java webstart と RMI を混在させるには?

RMI を使用する webstart アプリケーションを配布したいと考えています。

アプリケーションを配布しているWebサイトもRMIサーバーなので、ユーザーにRMIサーバーのアドレスを聞くのは避けたいです。

さらに、ビルド時にサーバーのアドレスがわからないため、アドホック構成でアドレスを JNLP に追加するか、実行時にアドレスを指定する必要があります。これは好ましい方法です: そうすることは可能ですか?

0 投票する
9 に答える
61020 参照

java - rmi サーバーを実行中、classnotfound

こんにちは、クラスをネーミング サーバーにバインドする Java アプリケーションを実行しようとしていますが、常に ClassNotFoundException が発生します。

まず、レジストリを開始します。

rmiレジストリ

次に、Eclipseからサーバーを実行しようとしましたが、このエラーが発生しました

java.rmi.ServerException: サーバースレッドで RemoteException が発生しました。ネストされた例外は次のとおりです: java.rmi.UnmarshalException: 引数の非整列化エラー。ネストされた例外は次のとおりです。 sun.rmi.transport.Transport$1.run(Transport.java:159) で java.security.AccessController.doPrivileged(Native Method) で sun.rmi.transport.Transport.serviceCall(Transport.java:155) で sun.rmi .transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)、sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)、sun.rmi.transport.tcp.TCPTransport$ConnectionHandler で。run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang .Thread.run(Thread.java:619)、sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)、sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)、sun.rmi. server.UnicastRef.invoke(UnicastRef.java:359) で sun.rmi.registry.RegistryImpl_Stub.rebind(不明なソース) で progInternet2008.Pozzobon.tesi.Slave.main(Slave.java:54) 原因: java.rmi. UnmarshalException: 引数の非整列化エラー。ネストされた例外: java.lang.ClassNotFoundException: progInternet2008.commons.NominabileFactory at sun.rmi.registry.RegistryImpl_Skel.

RMI Java チュートリアルを読みましたが、まだ機能しませんでした...

VM引数として、私はこれを設定しました:

-Djava.rmi.server.codebase=file:${workspace_loc}/progInternet2008

私を助けてください

(私は Java 6 を使用しています)

0 投票する
5 に答える
995 参照

java - RMIで送信するオブジェクトのサイズを測定するにはどうすればよいですか?

アプリケーションでパフォーマンスの調整を行っていますが、RMIを介して送信するオブジェクトのサイズを測定する良い方法を知りたいと思います。

目的は、私のオブジェクトをよりスリムにすることです。

0 投票する
4 に答える
7323 参照

java - ファイアウォールの背後にあるアプレットクライアントでRMIを使用するにはどうすればよいですか?

ファイアウォールの背後にあるアプレットクライアントでRMIを使用するにはどうすればよいですか?

ファイアウォールで保護されたサーバーとファイアウォールで保護されたアプレットクライアントでRMIを使用するにはどうすればよいですか?(もし可能なら)

RMIサーバーがポート1099を使用していることを知っています(デフォルトでは、これは構成可能です)。ただし、この後、通信には別のランダムポートに新しいソケットが必要になります。また、理論的には私の問題を解決するはずのRMIoverHTTPトンネリングのプロキシをクライアントに設定できることも知っています。しかし、それを機能させることはできません(XPクライアントで環境プロパティを設定しようとしましたが、Internet Explorerはそれらを無視し続けます)。

0 投票する
2 に答える
496 参照

java - Eclipse 内からクライアントを実行する際の問題

Eclipse 内から Java クライアントを実行して、RMI を使用してサーバー アプリに接続すると、例外が発生します: java.io.StreamCorruptedException: 無効なタイプ コード: 01

これはEclipse内からのみ発生し、他の場所(IntelliJ、コマンドラインなど)では発生しません。

誰が何が起こっているのか知っていますか?

0 投票する
2 に答える
8599 参照

multithreading - java.lang.OutOfMemoryError: Java ヒープ領域が原因で RMI スレッドが終了する

私はコンプベースのアプリケーションに取り組んでいます。このアプリケーションでは、相互に提供する RMI サービスを介して相互に通信する n 個のコンテナーがあります。特定の時点で、コンテナーに接続されている 1 つの RMI スレッドがメモリ不足エラーのために接続を失っていますが、コンテナーに接続されている他のすべての RMI スレッドは正常に動作しています。

エラーのスタック tarce は次のとおりです。

この例外を表示するには、RMI 固有のログを有効にする必要がありました。この問題は、この終了したスレッドの各 RMI 呼び出しがコンテナーのヒープにデータを追加するために発生します。そしてある時点で、そのサイズは超過します。

皆さんへの私の質問は、コンテナーのヒープ サイズでメモリが不足している場合、他のスレッドが機能しているのはなぜですか? 何かアイデアがあれば教えてください。

0 投票する
8 に答える
5934 参照

java - Java - 分散プログラミング、RMI?

私はここで問題を抱えています。さまざまな交通シミュレーション モデルの統合を可能にするフレームワークを構築することを目指しています。この統合は、シミュレーション間でのリンク接続、リンク コスト、および車両の共有に基づいています。

分散シミュレーションを行うために、「コーディネーター」 (スター トポロジー) を用意する予定です。参加しているすべてのシミュレーションは、単純に登録され、コーディネーターとのみ対話します。次に、コーディネーターは、各シミュレーション間のさまざまなタスクの実行を調整します。

分布の問題の簡単な例は、1 つのシミュレーションが道路などの特定のオブジェクトを「担当」している場合です。そしてもう一つは、他の道路の「担当」です。ただし、これらの道路は相互接続されています (したがって、これらのシミュレーション間の同期が必要であり、データを交換したり、メソッドをリモートで呼び出したりできる必要があります)。

私は RMI を見てきましたが、このタスクに適していると考えています。(オーバーワイヤ シグナリング規則を作成しなければならないことを抽象化するため)。

これは正気ですか?ここでの問題は、シミュレーション間の明示的な同期を確保するために、シミュレーション参加者がデータ ストレージの一部を「コーディネーター」に集中させる必要があることです。さらに、一部のシミュレーションでは、他のシミュレーションのコンポーネントまたはメソッドが必要になる場合があります。(したがって、RMIを使用するという考えです)。

私の基本的なアプローチは、「コーディネーター」に巨大な RMI レジストリーを実行させることです。また、すべてのシミュレーションは、レジストリ内のすべてを検索するだけで、各ステップで正しいオブジェクトが使用されるようにします。

この道を進むためのヒントはありますか?