Допоможіть новачкові з Naming в Java EE 5

Доброго цілий час доби!
У мене є величезне прохання допомогти розібратися з Naming в Java EE 5. Як він здійснюється через JNDI у спеуіфікації 1.4 я знаю, таким чином у мене все працює. Проблема полягає в тому, що мені необхідно створити naming за допомогою анотацій.
програма, яку я написала, становить облік робочого дня.
Почитавши, зрозуміла, що це реалізується через Dependency Injection, але так і застрягла.
Чи не могли б ви мені вказати покроково, що я маю робити?!
З повагою hestia!
p.s. яка саме інформація від мене потрібна.




За тиждень можна впоратися, якщо працювати багато. Станеш якщо не експертом, то дуже добре знатимеш.
з цим я згодна, але проблема в тому, що застрала на одному місці.
з чого мені просто почати?!
Додано пізніше:правильніше буде сказати:
у чому різниця між JNDI у EJB 3.0 та JNDI у EJB 2.x
та як імплементувати в EJB 3.0

у чому різниця між JNDI у EJB 3.0 та JNDI у EJB 2.x


Але тепер достатньо зробити так:
Це все саме з цієї книжки.

у чому різниця між JNDI у EJB 3.0 та JNDI у EJB 2.x
добре, якщо мої питання не конкретні, то спробую докладніше.
існує SLSB, якому я задаю mappadName, він імплементує remoteInterface.
у тестовому клієнті намагаюся зробити на нього запит за допомогою @EJB
Додано пізніше:приблизно так виглядає мій тест
Додано пізніше:у мене всього один SLSB


я діяла за цим прикладом 2.1
зробила, як ви й порадили
метод, що викликається, виглядає так
причому ArbeitszeitErfassung є RemoteInterface'ом

щось ці приклади мені більше ejb2 нагадують більше. не користуйтеся книжкою - поставте NetBeans 5.5.1 із Sun App сервером. там дуже зрозумілі приклади у нього вбудовані.
для ejb3 я забув що таке контексти та JNDI. це просто не потрібні, якщо програми працюють на одному сервері.

щось ці приклади мені більше ejb2 нагадують більше. не користуйтеся книжкою - поставте NetBeans 5.5.1 із Sun App сервером. там дуже зрозумілі приклади у нього вбудовані.
для ejb3 я забув що таке контексти та JNDI. це просто не потрібні, якщо програми працюють на одному сервері.


встановила NetBeans 5.5, але він пропонує створити проект тільки в j2ee 1.4, у чому мені немає потреби, потрібно тільки в java ee 5, що порадите?
якщо там не правильно, то де правильно.


які саме мають бути xml файли, щоб створити мапінг? я думаю, що мені якогось бракує
або інакше, в J2EE 1.4 InitialContext прописується ручками, як я розумію в Java EE 5 він нікуди не зник, просто це робиться десь в іншому місці. питання де саме? є це місце анотацією або це xml файл?


задеплоєні, після того як я промучалася якийсь час, я зробила jndi так само як і в j2ee 1.4, таким чином все працює, але в 5 версії не виходить. а мені необхідно зробити саме у 5 версії.
допоможіть хоч хтось.
у мене вже голова навколо від усього цього йде

Не знаю, допоможе це тобі чи ні, наведу код з нашої програми, що працює під JBoss 4.2.0 (EJB3).
прикладвикористання одного SLSB з іншого:
Коннект до сервера з клієнтської програми:
Додано пізніше:Якщо потрібно звернутися з довільного коду _на_сервере_, тобто. з тієї ж Java-машини, де піднято SLSB, то не потрібно передавати контексту параметри при ініціалізації, досить просто викликати:

Не знаю, допоможе це тобі чи ні, наведу код з нашої програми, що працює під JBoss 4.2.0 (EJB3).
Приклад використання одного SLSB з іншого:
Коннект до сервера з клієнтської програми:
Якщо необхідно звернутися з довільного коду _на_сервере_, тобто. з тієї ж Java-машини, де піднято SLSB, то не потрібно передавати контексту параметри при ініціалізації, досить просто викликати:
дякую за цю підказку. таким чином я вже перебувала і воно працює.
Після прочитання низки книг, я зрозуміла, що те саме можна зробити за допомогою dependency injection. робила все тому, що стояло в туторіумах, але чомусь не працює. вискакувало весь час вилучення.
причому робила так само, як було описано вище, тому я і не можу зрозуміти в чому справа. не може бути такого. що в когось працює, а в мене немає. значить чогось не вистачає, питання чого?
у вашому прикладі, ви сідаєте всі властивості руками. потім ініціалізує контекст і через lookup викликаєте те, що необхідно. я робила точно також. таким чином все чудово працює. моє завдання зробити все це через анотації і повністю все здійснити на базі ejb3.

Я може, звичайно, трохи не те скажу. Але судячи з логіки inject повинен хтось вміти здійснювати. У разі виклику із сервера це контейнер. У випадку клієнта, хто? На клієнті по-любому потрібно прописувати параметри контексту і це не обійдеш.
ЗИ:ЇЇ не знаю, просто логічно подумав.
Додано пізніше:А якщо не подобається в коді, пропишіть в *.properties файлі

у вашому прикладі, ви сідаєте всі властивості руками. потім ініціалізує контекст і через lookup викликаєте те, що необхідно. я робила точно також. таким чином все чудово працює. моє завдання зробити все це через анотації і повністю все здійснити на базі ejb3.
Хм, взагалі-то весь приклад чиста на ejb3 Щось я не наздоганяю, що конкретно ти хочеш зробити? Що означає "де саме здійснюється InitialContext"? Чи не хочеш на клієнті передавати параметри в конструкторі? Тоді існує єдина альтернатива, про яку написавfixxer- покласти в classpath файл jndi.properties в якому будуть прописані ці параметри. На клієнті параметри контексту не можуть братися з анотацій.