В настоящее время я изучаю основы EJB 2+. В книге Java EE 7 The Big Picture упоминалось:
Доступ к сеансовым компонентам обычно осуществляется через удаленный интерфейс (хотя, как мы увидим, бывают случаи, когда удаленный интерфейс не требуется), в то время как компоненты, управляемые сообщениями, имеют только класс реализации компонента.
Основываясь на приведенном выше утверждении, вызов компонента, управляемого сообщениями (MDB), аналогичен вызову удаленного сессионного компонента через remote interface, интерфейс которого на стороне сервера выполняется с аннотацией @Remote. , кажется невозможным.
Например, если в удаленном контейнере EJB есть MDB:
@Remote
@MessageDriven(mappedName="jms/HelloQueue")
public class HelloMDB implements MessageListener {
public void onMessage(Message msg) {
//implementation
}
}
Вопрос: может ли MDB, упомянутая выше, вызываться удаленным клиентом напрямую и программно, например. через JNDI?