Xpoint
   [напомнить пароль]

Не могу найти (lookup) бин в JNDI из сервлета

Метки: [без меток]
2007-05-22 21:31:44 [обр] Данис Тазеев aka Danissimo(27/27)[досье]
сообщение промодерировано

Использую 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</ejb-name>
            <jndi-name>gft.LocalTheSlsb</jndi-name>
            <pass-by-reference>false</pass-by-reference>
            <bean-pool>
                <steady-pool-size>0</steady-pool-size>
                <resize-quantity>1</resize-quantity>
                <max-pool-size>1</max-pool-size>
                <pool-idle-timeout-in-seconds>10</pool-idle-timeout-in-seconds>
            </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?

Спасибо!

спустя 11 дней [обр] GRAy(14/259)[досье]
Сделайте дамп namespac`а в glassfidh`е. Если вашего бина там нет, значит возникли какие-то проблемы при его регистрации и/или инициализации. Если так, то смотрите в лог выше - в то место где происходит начальная загрузка вашего приложения. Не мешало бы привести ещё кусочек вашего дескриптора EJB и WAR - возможно просто неправильно указаны ссылки.
ИМХО, использование в именовании бинов точку идёт в разрез с моим опытом общения с JNDI реестром и , может быть даже рекомендациями Sun.
Powered by POEM™ Engine Copyright © 2002-2005