我目前正在学习 EJB 2+ 的基础知识。在Java EE 7 The Big Picture一书中提到:
会话 bean 通常通过远程接口访问(尽管我们将看到,在某些情况下不需要远程接口),而消息驱动 bean 只有一个 bean 实现类。
根据上面的陈述,调用消息驱动 bean (MDB)就像通过 a调用远程会话 bean remote interface
一样,它的服务器端接口是用@Remote
注解完成的,似乎是不可能的。
例如,如果远程 EJB 容器上有一个MDB :
@Remote
@MessageDriven(mappedName="jms/HelloQueue")
public class HelloMDB implements MessageListener {
public void onMessage(Message msg) {
//implementation
}
}
问题:上面提到的 MDB 是否可以完全由远程客户端直接和以编程方式调用。例如,通过 JNDI?