sql >> データベース >  >> RDS >> Oracle

サンプルRMIアプリケーションの実行

    ComputeEngine exception:
    java.security.AccessControlException: access denied ("java.net.SocketPermission" "127.0.0.1:1099" "connect,resolve")
    

    セキュリティマネージャを使用していて、.policyファイルでその権限を付与していません。

    -Djava.security.manager -Djava.rmi.server.codebase=file:/Users/name/Documents/workspace/PiComputationRM/src/compute/compute.jar -Djava.security.policy=/Users/name/Documents/workspace/PiComputationRM/server.policy
    

    そこにいくつかの問題があります:

    • ファイル:コードベースは、その名前でクライアントとレジストリに表示される共有の場所を指定しない限り、機能しません。これはそれらの1つのようには見えません。

    • それがポリシーファイルの正しい名前であるかどうかを確認する必要があります

    • クライアントが独自のコードベースを設定し、クラスを提供する場合を除いて、サーバーにセキュリティマネージャーやポリシーは必要ありません。この例ではそれは起こりません。

    -Djava.security.policy=/Users/name/Documents/workspace/PiComputationRM/client.policy
    

    この名前を再確認してください。

    java -Djava.security.policy="server.policy" src/engine/ComputeEngine.java
    
    Error: Could not find or load main class src.engine.ComputeEngine.java
    

    もちろんそうしました。 JVMにコンパイラコマンドを与えました。チュートリアルで提供されているコマンドを使用します。 .javaファイルにJVMという名前を付けません。

    代わりに、チュートリアルに対して作業を再確認する必要がありました。少なくとも2か所でチュートリアルを読み間違えました。

    また、コードベース機能が本当に必要かどうかも疑問です。私はそれとセキュリティマネージャを完全に削除することから始め、それらなしでそれを動作させるだけです。最初のRMIプロジェクトにとっては複雑すぎます。




    1. PostgreSQL-HTMLエンティティを置き換えます

    2. mysqlのダンプとインポートの高速化

    3. SQL ServerでSAアカウントを無効にする(T-SQLの例)

    4. コマンドが同期していません。このコマンドを今すぐ実行することはできませんSQL