Я создал очень простой EJB3-компонент с состоянием, но не могу получить к нему удаленный доступ.Я получаю:
Причина: javax.naming.NamingException: ошибка разрешения ejb ref для удаленного бизнес-интерфейсаcom.s9120.ejb.Calculator [Исключением корня является java.lang.ClassNotFoundException: com.s9120.ejb.Calculator]
У меня есть 1 компонент и 1 интерфейс.Похоже, интерфейс не развернут (я использую GlassFish): Вот код:
package com.calc.ejb;
import javax.ejb.Remote;
@Remote
public interface Calculator {
public Double multiply(Double multiplier, Double multiplicand);
public Double divide(Double dividend, Double divisor);
public Double add(Double addend, Double augend);
public Double subtract(Double minuend, Double subtrahend);
public void saveToMemory(Double number);
public Double retrieveFromMemory();
}
Bean:
package com.calc.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateful;
/**
* Session Bean implementation class CalculatorBean
*/
@Stateful
@Remote(Calculator.class)
public class CalculatorBean implements Calculator{
/* Implementation */
}
Доступ к нему:
context = new InitialContext();
Calculator calculator = (Calculator) context.lookup("java:global/Zad3_s9120/CalculatorBean");
Должен ли я сделать некоторые шаги, чтобы сделать интерфейс доступным для сессионного компонента?Я добавляю его из Eclipse с помощью меню сервера «Добавить и удалить».