我想知道,为什么不使用Session Bean而不是Message Driven Beans?
如果你可以从EJB调用远程方法,那么为什么还要使用Message Driven Beans(比会话bean更难开发)来发送/接收消息呢?
Message Driven Beans在哪些场景中变得有用?
我想知道,为什么不使用Session Bean而不是Message Driven Beans?
如果你可以从EJB调用远程方法,那么为什么还要使用Message Driven Beans(比会话bean更难开发)来发送/接收消息呢?
Message Driven Beans在哪些场景中变得有用?
我想知道,为什么不使用Session Bean而不是Message Driven Beans?
嗯,它们没有用于相同的目的,消息驱动的bean允许Java EE应用程序异步处理消息。
如果你可以从EJB调用远程方法,那么为什么还要使用Message Driven Beans(比会话bean更难开发)来发送/接收消息呢?
因为MDB为您提供了异步和松耦合,这在某些情况下可能是您需要/需要的:
顺便说一句,我个人总是发现MDB是最容易开发的企业Bean。
Message Driven Beans在哪些场景中变得有用?
往上看。
消息驱动的bean侦听JMS队列 异步 与实体/会话bean不同。
这不会阻止服务器资源,因为只有当消息到达队列时才会发生处理。
除了大量的Java论坛和网站之外,维基百科还有一套很好的用例,其中MDB可以派上用场
http://en.wikipedia.org/wiki/Enterprise_JavaBean#Message_driven_beans
两者都有不同的用途。
1)如果你想将它用于远程方法,那么只需使用Session Bean
2)但是如果响应/结果不是主要的,但是后面的消息对你来说是主要的,那么就去创建队列以使其工作并设置消息。但性能问题将存在。
如果你需要只使用方法,那么只需使用Session bean,因为它是轻量级bean。它表现出色。