sql >> Databáze >  >> RDS >> Oracle

Spuštění ukázkové aplikace RMI

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

Používáte správce zabezpečení a ve svém souboru .policy jste toto oprávnění neudělili.

-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

Existuje několik problémů:

  • soubor:codebase nebude fungovat, pokud neurčuje sdílené umístění, které je pod tímto názvem viditelné pro klienta a registr. Tohle nevypadá jako jeden z nich.

  • musíte zkontrolovat, zda je to správný název souboru zásad

  • nepotřebujete na serveru ani správce zabezpečení nebo politiku, pokud si klient nenastaví vlastní kódovou základnu a nebude vám poskytovat třídy. To se v tomto příkladu nestane.

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

Překontrolujte toto jméno.

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

Samozřejmě, že ano. JVM jste dali příkaz kompilátoru. Použijte příkaz uvedený v tutoriálu. Soubory .java nepojmenováváte JVM.

Místo toho jste měli svou práci dvakrát zkontrolovat s výukovým programem. Špatně jste si přečetli tutoriál nejméně na dvou místech.

Také bych se zeptal, zda vůbec potřebujete funkci codebase. Začal bych tím, že bych to úplně odstranil, a bezpečnostní manažeři, a prostě to zprovoznil bez nich. Pro první projekt RMI je to příliš velká komplikace.




  1. Která je podřízená tabulka v Identifikačním nebo Neidentifikujícím vztahu?

  2. Spojení tabulek ze dvou databází pomocí codeigniter

  3. Jak převést celé číslo na sériové

  4. Jak vytvořit VARRAY jako člena bloku PL/SQL v databázi Oracle