Приложение, над которым я сейчас работаю, должно войти в фазу перед выпуском.
На этом этапе компоненты приложения на стороне сервера должны быть развернуты на виртуальных машинах Amazon, тогда как приложение на стороне клиентаостается на компьютере пользователя.
Это приложение подключается к серверу, используя JNDI и RMI для вызова удаленных методов EJB.Это хорошо работает в localhost
и локальной сети.
Но при попытке подключиться к хосту Amazon приложение зависает в методе context.lookup.то есть контекст JNDI может быть получен с этого удаленного сервера, но поиск в этом контексте невозможен.
Что можно сделать, чтобы получить хорошую диагностику при сбое?
Есть лижурналы, которые могут быть сгенерированы для рукопожатия RMI / что угодно?
Есть ли способ на стороне сервера увидеть, действительно ли запрос проходит через Интернет к серверу?
Также обратите внимание, я 'мы уже включили использование публичного IP на моем сервере Glassfish ( с использованием рекомендованной процедуры Oracle ).
EDIT В соответствии с быстрым захватом TCP на сервере, кажется, что сервер получаетзапрос контекста клиента с внутренним адресом клиента, о котором он, конечно, не знает:
запрос
[3/27/2012 11:05:22 AM:169]
GIOP.......(................NameService....._is_a...................
NEO................ª.......(IDL:omg.org/SendingContext/CodeBase:1.0.
...........n........172.27.63.145.ܺ....¯«Ë........e................
........... ................... ... ...........&...............(IDL:
omg.org/CosNaming/NamingContext:1.0.
ответ
[3/27/2012 11:05:22 AM:171]
GIOP.......2............NEO................0.......(IDL:omg.org/Send
ingContext/CodeBase:1.0............ô........46.137.114.67.'5....¯
«Ë........d........................... ................... .........
.....&...........!...|...............$....f............10.241.42.208
.'6.@........g..............g........default...................g....
...........+IDL:omg.org/CosNaming/NamingContextExt:1.0..............
.......10.241.42.208.'5...M¯«Ë.... ...d... S1AS-ORB............Root
POA....TNameService............................... .................
.. ... ...........&......
(как прочитано с использованием вывода SmartSniff ASCII).
IP в запросе (172.27.63.145
) - это мой IP в локальной сети моей компании.Из того, что я понимаю о связи через itnernet, это должен быть публичный IP моей компании, нет?Как я могу сделать клиент Glassfish известным и использовать этот IP?