sql >> Databasteknik >  >> RDS >> Oracle

Köra ett exempel på RMI-applikation

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

Du använder en säkerhetshanterare och du har inte gett den behörigheten i din .policy-fil.

-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

Flera problem där:

  • en fil:kodbas kommer inte att fungera om den inte anger en delad plats som är synlig med det namnet för klienten och registret. Det här ser inte ut som en av dessa.

  • du måste kontrollera om det är rätt namn på policyfilen

  • du behöver inte ens en säkerhetshanterare eller policy på servern, såvida inte klienten ställer in sin egen kodbas och kommer att tillhandahålla klasser till dig. Det händer inte i det här exemplet.

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

Dubbelkolla detta namn.

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

Självklart gjorde du det. Du gav ett kompilatorkommando till JVM. Använd kommandot i handledningen. Du namnger inte .java-filer till JVM.

Du borde ha dubbelkollat ​​ditt arbete mot handledningen istället. Du har misstolkat handledningen på minst två ställen.

Jag skulle också ifrågasätta om du verkligen behöver kodbasfunktionen överhuvudtaget. Jag skulle börja med att ta bort den, och säkerhetscheferna, helt och hållet, och bara få det att fungera utan dem. Det är för mycket av en komplikation för ett första RMI-projekt.




  1. Oracle 19c-kompatibilitet med jdk7

  2. Kan inte ansluta till MySQL-servern på '127.0.0.1' (10061) (2003)

  3. Överkomplicerad oracle jdbc BLOB-hantering

  4. Välj underfråga som returnerar flera rader som sträng (en kolumn) i tabell (Oracle SQL)