2010-08-09 2 views
0

Я создаю приложение с EJB и Spring 3. У меня есть три модуля maven - пружинные банки, баннер EJB и веб-часть. В веб-части я хочу называть мой сеанс сеанса EJB. А вот код этого:Интеграция EJB3 с пружиной

@Controller 
public class IndexController { 

@EJB 
PaymentRemote paymentRemote; 
} 

Я также файл контекста приложения, с содержанием:

<jee:local-slsb id="paymentRemote" jndi-name="ejb/myBean" 
    business-interface="net.learntechnology.ejb.PaymentRemote"/> 

и

<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"> 
<property name="alwaysUseJndiLookup" value="true"/> 

В моем модуле EJB I имеют интерфейс:

@Local 
public interface PaymentRemote { 
} 

К сожалению, когда я развернуть его на JBoss как 5 я получаю следующее сообщение об ошибке:

Error creating bean with name 'paymentRemote': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: ejb not bound. 

Я видел много примеров в сети и все настроены так. Я застрял в этом ... Может ли кто-нибудь помочь мне в этом? Я был бы более чем благодарен!

+0

Конечно, во всех * Удаленные имена должны быть локальными, я забыл переименовать его. – Agata

+0

Вы уверены, что EJB развернут? Пойдите в JBoss JMX Console, найдите объект 'JNDIView' и вызовите его метод' list'. Если ваш EJB присутствует на 'ejb/myBean', он должен появиться здесь. – skaffman

+0

Хм теперь есть такой объект в этой консоли. Это объясняет ошибку, но как мне ее связать, чтобы я мог вызывать сеанс EJB из моего контроллера? – Agata

ответ

1

Для JBOSS собственно картина: приложение-имя /боба/удаленный или локальный

1

Поскольку мой комментарий оказался ответ, я буду перефразировать ....

Убедитесь что EJB фактически привязан к JNDI под именем, которое вы ожидаете. Сообщение об ошибке предполагает, что это не так.

В JBoss, на консоли JMX, найдите объект JNDIView и вызовите его метод list. Если ваш EJB присутствует на ejb/myBean, он должен появиться здесь. Если нет, найдите его под другим именем и привяжите его.

Смежные вопросы