Я пытаюсь развернуть пакет jboss5 bean project на сервере jboss7. Другой разработчик уже внес некоторые изменения, которые код может работать на jboss7, например, поместить в проект jboss-deployment-structure.xml.Проблемы с EJB 3.1
Я создал две фасоли, одну в проекте A (BeanA) и одну в проекте B (BeanB). BeanA должен искать BeanB. . Я всегда получаю «Нет EJB найденного с интерфейсом типа 'de.foo.soa.foobar.al.BeanB' для связывания de.foo.soa.foobar.ba.ProjectB/BeanB
Bean B:
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
@Stateless
@LocalBean
public class NumSrvLocalBean {
public String testNumSrv() {
return "numsrv works";
}
}
Компонент А делает:
@EJB private NumSrvLocalBean numSrvLocalBean;
private String numSrvLocalBean_path = "java:module/NumSrvLocalBean!de.foo.soa.foobar.al.NumSrvLocalBean";
ctx = new InitialContext();
numSrvLocalBean = (NumSrvLocalBean) ctx.lookup(numSrvLocalBean_path);
Я также добавил правильную зависимость от JBoss-развертывания-structure.xml:
<module name="deployment.ProjectB.jar" export="true"/>
Так everty вещь прекрасно для моего понимания, но я всегда получаю это исключение. Я создал свой собственный проект, назвав его проектом X. Там я могу найти любой Bean, который я хочу, из всех других проектов (около 15). Я не могу вводить в проект A любой bean-компонент вне проекта A. Но я могу добавлять компоненты в проект. Таким образом, должно быть что-то, что блокирует бобы внутри проекта.
У меня есть эти файлы в проекте A:
- jboss.xml
- JBoss развертывания-structure.xml
- MANIFEST.MF (стандарт, не заполненный)
- настойчивость. xml
- seam.properties
- ProjectA.properties (содержит wsdlUrl, поскольку этот проект также был настроен как проект XML-RPC)
Я с нетерпением ждет четыре ваших идей,
приветствия.
Я не уверен здесь, но AFAIK 'java: module' будет означать поиск в модуле _current_, поэтому вы можете искать BeanC из BeanA. Вам нужно будет добавить имя модуля в путь поиска. Посмотрите на консоль управления (порт 9990 по умолчанию) и проверьте связанные пути JNDI. – Thomas
Вы правы, но я также тестировал его с помощью «global: ..». То, что получилось: 15: 32: 38,953 ОШИБКА [stderr] (нить службы службы 1-5) javax.naming.NameNotFoundException: ProjectA/ProjectA! De.foo.soa.foobar.ba.BeanA - service jboss.naming .context.java.global.ProjectA. "BeanA! de.foo.soa.foobar.ba.BeanA" 15: 32: 38,955 ОШИБКА [stderr] (нить обслуживания 1-5) \t на org.jboss.as .naming.ServiceBasedNamingStore.lookup (ServiceBasedNamingStore.java:97) (и больше строк). – JeromeC
Исправьте меня, если я ошибаюсь, но я ничего не увижу в консоли управления, потому что нет никакой развернутой причины ошибки. – JeromeC