問題タブ [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.
java - 単一のRMIレジストリを使用する
現在取り組んでいるプロジェクトにRMIを使用していて、複数のホストから単一のRMIレジストリにバインドしたいと考えています。
しかし、そうしようとすると、次のようなエラーが発生します
java.rmi.AccessException:Registry.Registry.bindは許可されていません。origin/192.168.0.9は非ローカルホストです
私はグーグルでそうしましたが、RMIはデフォルトでリモートホストのバインドを停止しているようですが、これをオーバーライドまたはバイパスする方法はありますか?
この問題を回避する方法について誰かが提案をいただければ幸いです。別のポリシーファイルを使用してセキュリティマネージャーをオーバーライドしようとしましたが、どれも機能していないようです。
java - 最も近い RMI サーバーにルーティングする方法は?
私の質問の続きで、クライアント サーバー アーキテクチャ アプリケーションのパフォーマンスを向上させる方法
集中型データベースといくつかのスレーブ サーバー データベース構成を維持することにしました。スレーブ データベースとマスター データベース間のレプリケーションにSymmetric DSを使用する予定です。各サーバー データベース構成は、クライアントの近くにインストールされます。理想的には、明らかな理由から、クライアントからのリクエストを最も近いスレーブサーバーデータベースにルーティングする必要があります。サーバーへの接続に RMI を使用しているため、現在利用可能な製品/API があるかどうかを知りたいのですが、これで解決できますか?
上記以外のソリューションは高く評価されています:)
注: クライアント コードのリファクタリングは間違いなく 1 つの代替手段ですが、アプリケーションが非常に大きいため、大きなリスク (既存のコードが破損する可能性がある)、時間と費用がかかります。
java - 別のネットワーク上にある場合のJBossUnknownHostException
ネットワーク間でJBossを動作させるのに少し問題があります。簡単な概要として、開発ネットワーク(これをDEVと呼びます)とクライアントネットワーク(たとえば、CLIENT!)があります。これらはファイアウォールを介して接続されています。開発ネットワークでは、サーバーは192.168.100.50として知られ、クライアントネットワークでは10.0.100.50として知られています。両方のネットワークのDNSは、DNS(sqlserver.dev.net)によって関連するIPを解決します。
sqlserverは2つのサービスを提供します。1つは.NETWebサービスを介して、もう1つはJBossを介して提供されます。DEVネットワークでクライアントを実行する場合、両方のサービスが正常に機能します。CLIENTネットワーク上では、.NETサービスのみが機能します。
次のコードでContextLookupを実行しようとすると、JBossクライアントはUnknownHostExceptionをスローします。
例外は次のとおりです。
ルート例外はjava.rmi.UnknownHostException:不明なホスト:SQLserver
問題は、クライアントがドメイン名なしで「sqlserver」に接続しようとしていることであることが確認できます。これは、クライアントのホストファイルに「sqlserver」を追加することでテストされており、正常に機能します。さらに、「SQLserver」のスペルは興味深いものです。これは、Windowsホストがホスト名を報告する方法であり、DNSに格納される方法ではないためです。私の推測では、クライアントが最初の接続を確立すると、JBossはクライアントに将来「SQLserver」に接続するように指示しますが、これはクライアントが解決できません。
次のシステムプロパティをsqlserverのFQDNに設定しようとしました。
jgroups.bind_addr
bind.address
java.rmi.server.hostname
誰かアイデアはありますか?
java - 2つのクラス間で双方向のRMIを使用することは可能ですか?
異なるJavaプログラムで実行されている2つのクラス(AとB)間でいくつかの情報を共有したいと思います。通信プロトコル全体を作成する代わりに、その目的のためにjava組み込みのrmiクラスを使用したいと思います。現在、クラスBは、クラスAに属するメソッドをリモートで実行できます。クラスA内で同じ「接続」を使用してクラスBのメソッドを呼び出すことはどういうわけか可能ですか?そうでなければ、私はおそらく2番目のrmiサービスを実装する必要があります...
BR、
マーカス
java - サーバーへの Java RMI 接続
非常に単純な rmi クライアント/サーバー アプリケーションがあります。「rmiregistry」アプリケーションは使用しませんが、これを使用してサーバーを作成します。
クライアント部分は次のとおりです。
ここに魅力的な問題があります。サーバーとクライアントの両方が私の (プライベート) ローカル ネットワークで実行されている場合、アプリケーションは完全に機能します。サーバーを公開サーバーに配置するとすぐに、アプリケーションが 1 分間ハングし、次のエラーが表示されます。
私が考える重要な点は、クライアント (私のプライベート ネットワークで実行されている) が自分自身に接続できないことです(私のアドレスは 192.168.xy で、xy は他の数字ですが、実際のエラー メッセージには私の IP アドレスがそこにリストされていることが示されています)
公共のインターネットで rmi サーバーを強制終了すると、すぐに "接続がホストへの接続を拒否しました: abcd") メッセージが表示されるので、少なくともサーバー側で何かが機能していることがわかります。
助言がありますか?
編集: これをもう少し明確にするために: 192.168.xy はクライアント アドレス、abcd はサーバー アドレスです。スタックトレースは、クライアントがクライアントに接続できないことを示しています。
java - デフォルトの RMI ポートの変更 (Java)
デフォルトの RMI ポート (1099) を変更するにはどうすればよいですか。JVM パラメータまたはコーディングによるものである可能性がありますが、問題ではありません。ありがとう。
java - rmi over ssl/tls、発信者を安全に識別する方法はありますか?
呼び出されたメソッド (サーバー側) の実行中にメソッド呼び出し元を安全に取得する方法はありますか?
サーバーのプロパティを介して到達可能なクライアント文字列があることは知っていますが、それは「弱すぎ」ませんか? クライアント証明書の所有者などを取得する方法はありますか?
ヒントをいくつか教えてください。その後すぐに RTFD します ;)
前もって感謝します
java - RMI が接続されている/接続可能かどうかを確認するにはどうすればよいですか?
RMI ポートが使用可能かどうか、またはビジーかどうかを知りたいです。接続できない場合に例外がスローされることはわかっていますが、「接続に失敗しました」というメッセージを表示してプロセスを停止するために、それを制御したいと考えています。(私はEclipseで作業しています)。どうすればそれができますか?
java - netbeans で rmic を使用する
netbeans 6.5 で rmi サーバー コードを作成しました。server_stub クラスを作成できるように、netbeans 6.5 で rmic を使用するにはどうすればよいですか?