問題タブ [rmiregistry]
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 経由で接続できるサービス オブジェクトがあります。現在、私はこれをやっています:
サーバ
クライアント
サーバー上のレジストリの用途は、1 つのサーバー オブジェクトにリンクするという 1 つのみです。私はサーバー上でこれを行うのと同じくらい良いかもしれないと考えました:
しかし、クライアントからサーバー オブジェクトに接続するにはどうすればよいでしょうか。
java - RMI サーバーが停止しますか?
RMI サーバーを実行し続けるにはどうすればよいですか? 現在、バインドしてオブジェクトを作成してから終了します..
私は単にこのクラスを実行しています。私はrmicなどを実行しませんでした..
強制的に実行し続けるにはどうすればよいですか?
java - java:rmiregistryのセットアップ
を使用していましたが、これには問題があります。つまり、それを呼び出すプロセス内で実行されるため、複数のJVMを使用している場合、レジストリを開始したJVMがクラッシュすると、すべてのLocateRegistry.createRegistry()
レジストリが停止します。 JVM。
したがって、rmiregistry(または何か?)を使用して、RMIルックアップ/バインディングを実行するプロセスをサーバーJVMから分離する必要があるようです。
これを実行しようとしましたが、実行しようとするとこのエラーが発生しますRegistry.rebind()
。
私は何が間違っているのですか?私はこの例外をグーグルで検索しました。これはRMIコードベースと関係がありますが、ここでは本当に迷っています。問題がrmiregistry
コマンドにある場合、何をすべきかを指示するためのコマンドラインオプションは何ですか?サーバーのJVMに問題がある場合、何をする必要がありますか?
java - rmi登録の問題
親愛なるスタックオーバーフローユーザー。
RMIレジストリの問題をたくさん読んで、問題を解決しようとしましたが、成功しませんでした。だからここに私のケースがあり、誰かが少なくとも少し私を助けてくれることを願っています。
私は学校のプロジェクトのためにマルチプレイヤーのパックマンを作っています。java RMIを使用する必要があるため、3つの素敵なjarファイルを作成しました。モノをリモートサーバーに公開し、マップなどのようなものをロードするメインクラスを含む(のみ)サーバー。いくつかの素敵なフォームを表示するスイングジャンクを含むクライアント。そして3番目にすべてのpacmanコードを含むライブラリ。
サーバーをローカルで起動すると、rmiregistryが起動し、ゲームがサーバーにバインドされます(もちろんセットアップ後)。次に、クライアントをそれに接続して、うまくプレイできます。すべてが機能し、ローカルのrmiregisteryに接続しているView Clientを起動して、ゲームオブジェクトを適切に取得できます。その後、サーバーから独立してレジストリを起動し、プログラムを完全に実行しました。私のラップトップ(127.0.0.1ではない)のIPを介しても、正常に機能しました。レジストリのクラスパスを設定しなかったことに注意してください。
その後、サーバーに移動しました(2008)。クラスパスなしでそこでrmiregistryを開始し、server.jarをそれに接続しようとしましたが、失敗しました。(..spelクラスの例外が見つかりませんでした)クラスパスを修正しました....効果がありません....新しいコンソールを開いて新しいレジストリを開始し、pacman.jarをc:\にコピーして、サーバーを実行しました.jar with -Djava.rmi.server.codebase = c:\ paramether ....効果がない...次にセキュリティマネージャーを設定します...(System.setSecurityManager(new RMISecurityManager());
)そして以下を含むポリシーを作成しgrant {permission java.security.AllPermission;};
、サーバーを使用してサーバーを実行しました.jar -Djava.rmi.server.codebase = c:-Djava.security.policy =server.policy...これも効果はありません。
私は同じ例外を受け取り続けます:
問題が何であるかについて誰かが何か手がかりを持っていますか?そしてそれを修正する方法は?
java - RMI ClassNotFoundException
rmiregistry に問題があります。以下のエラーが表示されます:
確認したところ、クラスはクラスパスに存在します。
LinuxでJava 1.6を使用しました。はじめましrmiregistry 6667
た。誰かがこのエラーに遭遇しましたか?
java - RMI:クライアントのクラッシュを確認する
Java-RMIを使用して単純なクライアント/サーバーアプリケーションをプログラミングしています。サーバーをシャットダウンするために、すべてのクライアントがいつ死んだのか知りたいのですが。Webで調査を行った結果、サーバーにUnreferencedインターフェイスを実装させ、unreferenced()メソッドを定義できることがわかりました。しかし、これは機能していないようです。これは、サーバーがRMIレジストリにバインドされているためだと思います。RMIレジストリはおそらく参照を保持しています。
私の場合、すべてのクライアントがクラッシュしたときに通知を受け取る方法を誰かが知っていますか?
ありがとう
java - RMI レジストリの問題: 「file:」URL スキームを使用してコードベースにバインドすると、rmiregistry によって意図しない例外が発生する場合がある
Java Update 1.6.0_29 の背景については、まずこの記事の「RMI Registry Issue」の一節を参照してください。
私が正しく理解していれば (私はドイツ人です)、更新により rmiregistry にバグが発生し、コードベースの file: pattern が機能しなくなります。
IE では、1.6.0_29 では次のものが機能しなくなります。
現在、file: 構文のコードベースを持つ機能を使用しています。これを機能させるための回避策を知っている人はいますか?
注:いいえ、ローカル Web サーバーまたは ftp サーバーを開始する必要はありません。
アップデート:
Naming.bind では、次の例外がスローされます。
java - rmiregistry のヒープ サイズの設定
RMI レジストリのヒープ サイズを設定したい。それはJavaまたは他の形式に似ていますか
java - 特定のポートで実行されている rmiregistry を閉じるには?
私はJava RMIに取り組んでいます。ポート 2028 で rmiregistry を実行しても問題はほとんどありません。これは、テスト プログラムを実行するために既にそのポートを使用しているためです。他のポートを使用してプログラムを実行できますが、知りたいのですが、特定のポートで実行されている rmiregistry を閉じるにはどうすればよいですか?
java - java.RMI ソケット作成の詳細は?
私はドキュメントを見て、テストし、デバッグしました...しかし、困惑したままです。スタックオーバーフローの時間!ステージを設定してから、エラーを説明します。
バックグラウンド
クライアント、サーバー、および rmiregistry がすべて localhost に一緒に存在する場合に正常に動作する RMI クライアント/サーバーのセットアップがあります。そこで、rmi.server.logCalls トレースをオンにして (以下では RegistryTrace と呼びます)、serverHost で rmiregistry を起動します。サーバー コードの重要な部分:
サーバーを起動すると、rebind() 呼び出しが成功することがわかります (RegistryTrace を見ると)。また、Naming.list() によって生成されたリストを見ると、「//serverHost.local:1099/project」が含まれていることがわかります
クライアントを起動すると、Naming.lookup() が正常に完了します。
RegistryTrace を見ると、この lookup() クエリがサーバー側に到達していることを確認できます。
最初の RMI でのエラー
しかし今:私の次のステートメントはサーバーのメソッドの1つを呼び出そうとします
IllegalArgumentException を生成します。
私はこれを Java ソースから java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod() への呼び出しまでたどりました。
その後、ソース トレースでそれを失います。(sun.rmi.server.UnicastRef などのソースの可用性に関する話を知っている人はいますか?) 残りのトレースでは、RMI がソケットを作成できないように見えますか?
このコードの多くの部分がよりきれいになると確信しています。任意の提案をいただければ幸いです。また、これを jar ファイルのディストリビューションに変換する必要があるので、今すぐ java.rmi.server.codebase に指定した方が簡単でしょうか?
提案をありがとう、リク