| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > ejb3.0 application |
| Автор: mhalion 16.4.2009, 17:59 | ||||||||
Создаю в eclipse "EJB Project", создаю простую табличку и entuity к ней:
Создаю local и remote интерфейсы:
Делаю bean на этих интерфейсах:
Т.е. всё это создаю в "EJB Porject". Далее если мне нужно сделать веб-приложение, я создам, например, "Dinamic Web Project" и в сервлете буду работать Remote-интерфейсом.
И т.д. Но я не могу найти как использовать ejb в рамках обычного приложения! Я использую jboss-5.0.1.GA. Можно кинуть пример или ссылочку. |
| Автор: MisterCleric 17.4.2009, 09:11 | ||||
| Доброе утро. Да ты знаешь - точно также. Просто InitialContext нужно передать определенные свойтсва:
Только здесь два таких момента: 1. Твое клиентское приложение должно знать в своем CLASSPATH об ITestBeanRemove 2. TestBean.RemoteJNDIName не есть корректно. Так как придется еще в CLASSPATH клиентского приложения ложить еще и сам бин. Перенеси определения JNDI в интерфейсы И еще такое: странно, что оно вообще с такими JNDI именами даже в сервлете работает. Я наблюдал такое, что если не указать
то JBOSS его генерит как: имя ЕАР + / + имя класса Имплементации + /remote или /local Под каким именем(именами) задеплоил этот бин у тебя? что пишет в консоли? |
| Автор: mhalion 20.4.2009, 08:53 |
| "Под каким именем(именами) задеплоил этот бин у тебя? что пишет в консоли?". Вот: +- TestBean (class: org.jnp.interfaces.NamingContext) | +- local (class: Proxy for: ejbbase.interfaces.ITestBeanLocal) | +- remote-ejbbase.interfaces.ITestBeanRemove (class: Proxy for: ejbbase.interfaces.ITestBeanRemove) | +- remote (class: Proxy for: ejbbase.interfaces.ITestBeanRemove) | +- local-ejbbase.interfaces.ITestBeanLocal (class: Proxy for: ejbbase.interfaces.ITestBeanLocal) Вот ещё вопрос: Как правильно запустить проект как обычное приложение? Это должен сделать сам сервер с помощью каких-то листнеров? |
| Автор: xaoc2 30.4.2009, 00:11 | ||
Кстати,..... чтобы не дублировать код:
|