2012-01-16 4 views
0

У меня есть jboss и tomcat, установленные на одном компьютере (с jboss 6 с портом 8080 и tomcat 7 с портом 8090), и я пытаюсь использовать JNDI-поиск из tomcat для получения ejb-запросов в JBoss. Я проверил свои EJB-компоненты с помощью консоли jmx, чтобы убедиться, что они доступны. Я обозначал им быть @Remote и в JMX консоли этих EJBs являются, как строения aaaServiceRemote/дистанционного bbbServiceRemote/дистанционным и т.д.tomcat JNDI loking up remote EJB

Я мой кот, я поставил свою заявку войны, которая состоит в сервисном локатор и при запуске приложения локатор службы пытается найти EJB и терпит неудачу. Я поставил jnp-client и jboss-all-client jar файлы, скопированные из папки jboss/client в tomcat/lib. Я поместил файл jndi.properties в каталог webapp tomcat, состоящий из следующих записей.

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
java.naming.provider.url=localhost:1099 
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 

, кажется, что кот пытается найти EJBs в JNDI контексте не контекст удаленного JBoss JNDI.

любая помощь по тому, как этот удаленный поиск может быть включен, пожалуйста.

ответ

1

похоже, что ваш файл jndi.properties не читается правильно. Вы пытались выяснить, передаются ли эти свойства объекту InitialContext при создании первого поиска JNDI?

Что показывает отладка?

+0

Спасибо за ответ Mark Код определения услуги не работает в (T) ctx.lookup («aaaServiceBean/remote»); при отладке в tomcat Я выполнил поиск jndi внутри самого jboss, где использовал вышеупомянутые настройки jndi.properties. но я чувствую, что, поскольку мы вызываем удаленный jboss из tomcat, jndi.properties также нужно изменить. что-то вроде 'code' env.put (Context.PROVIDER_URL, " corbaloc: iiop: [email protected]: 2809/NameService "); 'code' – Sanath

+0

он бросает NamingException, (javax.naming.NameNotFoundException) – Sanath

+0

Я попытался с помощью кода без jndi.properties где инициализируются свойства и создали контекст и получил ошибку «СИЛЬНЫЙ: WSSERVLET11: не удалось parse runtime descriptor: java.lang.ClassCastException: javax.naming.Reference нельзя отнести к com.MyBean ' – Sanath