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

працює

Доброго цілий час доби!

У мене є величезне прохання допомогти розібратися з Naming в Java EE 5. Як він здійснюється через JNDI у спеуіфікації 1.4 я знаю, таким чином у мене все працює. Проблема полягає в тому, що мені необхідно створити naming за допомогою анотацій.

програма, яку я написала, становить облік робочого дня.

Почитавши, зрозуміла, що це реалізується через Dependency Injection, але так і застрягла.

Чи не могли б ви мені вказати покроково, що я маю робити?!

З повагою hestia!

p.s. яка саме інформація від мене потрібна.

java

java

допоможіть

допоможіть

За тиждень можна впоратися, якщо працювати багато. Станеш якщо не експертом, то дуже добре знатимеш.

з цим я згодна, але проблема в тому, що застрала на одному місці.

з чого мені просто почати?!

Додано пізніше:правильніше буде сказати:

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

та як імплементувати в EJB 3.0

naming

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

допоможіть

новачкові

Але тепер достатньо зробити так:

Це все саме з цієї книжки.

naming

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

добре, якщо мої питання не конкретні, то спробую докладніше.

існує SLSB, якому я задаю mappadName, він імплементує remoteInterface.

у тестовому клієнті намагаюся зробити на нього запит за допомогою @EJB

Додано пізніше:приблизно так виглядає мій тест

Додано пізніше:у мене всього один SLSB

java

допоможіть

я діяла за цим прикладом 2.1

зробила, як ви й порадили

метод, що викликається, виглядає так

причому ArbeitszeitErfassung є RemoteInterface'ом

naming

щось ці приклади мені більше 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, що порадите?

якщо там не правильно, то де правильно.

naming

java

які саме мають бути xml файли, щоб створити мапінг? я думаю, що мені якогось бракує

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

працює

працює

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

допоможіть хоч хтось.

у мене вже голова навколо від усього цього йде

працює

Не знаю, допоможе це тобі чи ні, наведу код з нашої програми, що працює під JBoss 4.2.0 (EJB3).

прикладвикористання одного SLSB з іншого:

Коннект до сервера з клієнтської програми:

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

naming

Не знаю, допоможе це тобі чи ні, наведу код з нашої програми, що працює під JBoss 4.2.0 (EJB3).

Приклад використання одного SLSB з іншого:

Коннект до сервера з клієнтської програми:

Якщо необхідно звернутися з довільного коду _на_сервере_, тобто. з тієї ж Java-машини, де піднято SLSB, то не потрібно передавати контексту параметри при ініціалізації, досить просто викликати:

дякую за цю підказку. таким чином я вже перебувала і воно працює.

Після прочитання низки книг, я зрозуміла, що те саме можна зробити за допомогою dependency injection. робила все тому, що стояло в туторіумах, але чомусь не працює. вискакувало весь час вилучення.

причому робила так само, як було описано вище, тому я і не можу зрозуміти в чому справа. не може бути такого. що в когось працює, а в мене немає. значить чогось не вистачає, питання чого?

у вашому прикладі, ви сідаєте всі властивості руками. потім ініціалізує контекст і через lookup викликаєте те, що необхідно. я робила точно також. таким чином все чудово працює. моє завдання зробити все це через анотації і повністю все здійснити на базі ejb3.

допоможіть

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

ЗИ:ЇЇ не знаю, просто логічно подумав.

Додано пізніше:А якщо не подобається в коді, пропишіть в *.properties файлі

працює

у вашому прикладі, ви сідаєте всі властивості руками. потім ініціалізує контекст і через lookup викликаєте те, що необхідно. я робила точно також. таким чином все чудово працює. моє завдання зробити все це через анотації і повністю все здійснити на базі ejb3.

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