Не могу найти (lookup) бин в JNDI из сервлета
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Не могу найти (lookup) бин в JNDI из сервлета... Expand / Collapse
Автор
Сообщение
22.05.2007 22:39
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.05.2007 20:20
Сообщ.: 662, Visits: 5 795
Использую glassfish.

Диплою EAR, содержащий ejb.jar с единственным бином и web.war с единственной JSP в корне того самого EAR'а.

Вот кусочек кода в JSP:


LocalTheSlsbHome home = (LocalTheSlsbHome)new InitialContext()
.lookup(LocalTheSlsb.class.getName());
LocalTheSlsb slsb = home.create();
slsb.log(msg);


А вот содержимое sun-ejb-jar.xml:


<sun-ejb-jar>
<enterprise-beans>
<ejb>
<ejb-name>TheSlsbEJB
<jndi-name>gft.LocalTheSlsb
<pass-by-reference>false
<bean-pool>
<steady-pool-size>0
<resize-quantity>1
<max-pool-size>1
<pool-idle-timeout-in-seconds>10
</bean-pool>
</ejb>
</enterprise-beans>
</sun-ejb-jar>


Приложение успешно диплоится, но пытаясь запустить JSP, получаю такой stack trace:


[#|2007-05-22T18:52:50.989+0400|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=httpWorkerThread-8080-1;_RequestID=d9128647-95e4-49a4-9451-00e52ad550de;|StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
javax.naming.NameNotFoundException: gft.LocalTheSlsb not found
at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:203)
[ the rest is skipped... ]
|#]


Кто-нибудь знает, что не так? Кто не прав: я или glassfish?

Спасибо!
Сообщ. #913573
23.05.2007 0:25
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.03.2008 23:02
Сообщ.: 2 077, Visits: 21 402
s glassfish ne rabotal no est takoe oshushenie chto ejb ne vidny iz wara. Eto Local ili Remote?
Сообщ. #913575
23.05.2007 0:38
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.03.2008 23:02
Сообщ.: 2 077, Visits: 21 402
escho odin vopros a chto uzhe he hado v descriptore ukazivat?:)
Сообщ. #913576
23.05.2007 0:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.03.2008 23:02
Сообщ.: 2 077, Visits: 21 402
sorry vspilil:)
eto ne tot descriptor vi pokazali:)

Posmotrite zdes mozhet pomozhet:)
https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html
Сообщ. #913577
23.05.2007 15:03
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.05.2007 20:20
Сообщ.: 662, Visits: 5 795
Это local. FAQ почитал. Спасибо, mishgun.

Задница получается. Я ж ленивый. Я не хочу вписывать в каждый сервлет reference на все бины, которые он (сервлет) использует. Как удобно положить local interface в JNDI's global namespace, и брать его оттуда.

Я вот думаю, может как-нибудь можно автоматически их прописывать. В Java EE 5 какой-то injection появился. Может он позволит мне пребывать в лени и дальше...
Сообщ. #913590
29.05.2007 20:02
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.03.2008 23:02
Сообщ.: 2 077, Visits: 21 402
Может малость поздновато но всё таки

http://www.caucho.com/resin-3.0/ejb3/tutorial/stateless/index.xtp

Там есть как делать injection
Сообщ. #913743
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, mishgun, pl

Время GMT +3:00, Сейчас 5:31