@Local
public interface EJBA{
// declares a method 'validate'
}
@Stateless
public class EJBABean implements EJBA{
// implements the method 'validate'
}
class Model{
@EJB
private EJBA ejbA;
public void doSomething(){
ejbA.validate();
}
}
Теперь, если я сделаю следующее из метода execute класса действий Struts 1.2
new Model().validate();
ejbA для модели равно нулю, в результате чего NullPointerException . Вопрос похож на this , но в моем случае я запускаю клиентский код (модель), а также bean-компонент на самом сервере JBoss 6.1 Final. Модель и EJB находятся в отдельном файле jar, а классы действий - в файле war. Оба из них упакованы в файл ear.
Если я использую поиск по контексту, используя [ear-name] / EJBABean / local , я могу получить к нему доступ. Что я делаю не так?