2012-05-02 1 views
1

У меня JBoss 4.0.4.GA работает на экземпляре Linux Amazon EC2. Я подключаюсь к URL-адресу из моего браузера, который сопоставляется с JSP, который загружает апплет. Код апплета выполняет поиск JNDI для Session Bean. Ошибка, что я вижу на Java консоли моего браузера является:Поиск JNDI от Applet до JBoss на экземпляре EC2

Connection refused to host: 10.xxx.xxx.xxx 
nested exception is: 
    java.net.ConnectException: Connection timed out: connect 

т.е. мой апплет пытается подключиться к частной ф экземпляра, которая обречена на провал, конечно.

код [сокращениями] код, который выполняет поиск JNDI является:

System.setProperty(InitialContext.PROVIDER_URL, "jnp://<public ip of EC2 instance>:1099"); 
InitialContext ic = new InitialContext(null); 
Object o = ic.lookup("ejb/....MySessionBean"); 

Когда я включаю трассировку в Java Console, я могу видеть, что запрос делается на порт 1098 на внутренний IP:

network: Connecting http://<public ip>:1099/ with proxy=DIRECT 
network: Connecting http://<private ip>:1098/ with proxy=DIRECT 

Может ли кто-нибудь сказать мне, как получить это сообщение 1098 на внешнем IP-адресе?

ответ

1

Добавление -Djava.rmi.server.hostname = public-IP к запуску JBoss разрешило эту проблему.

Смежные вопросы