我想知道,为什么不使用会话 Bean 而不是消息驱动 Bean?

如果您可以从 EJB 调用远程方法,那么为什么还要使用消息驱动 Bean(这比会话 Bean 更难开发)来发送/接收消息呢?

消息驱动 Bean 在哪些场景中变得有用?

有帮助吗?

解决方案

我想知道,为什么不使用会话 Bean 而不是消息驱动 Bean?

嗯,它们的用途不同,消息驱动 bean 允许 Java EE 应用程序异步处理消息。

如果您可以从 EJB 调用远程方法,那么为什么还要使用消息驱动 Bean(这比会话 Bean 更难开发)来发送/接收消息呢?

因为 MDB 为您提供异步和松散耦合,这是您在某些情况下可能想要/需要的:

  • 对于长时间运行的工作
  • 当资源并不总是可用时
  • 当你想要并行处理时

顺便说一句,我个人一直认为 MDB 是最容易开发的 Enterprise Bean。

消息驱动 Bean 在哪些场景中变得有用?

往上看。

也可以看看

其他提示

消息驱动bean听JMS队列的异步不像实体/会话bean。

这不会阻止服务器资源作为处理发生只有当消息已到达队列中。

除了Java的论坛和网站的负载,维基百科有一个很好的一套usecases MDB的地方派上用场

http://en.wikipedia.org/wiki/Enterprise_JavaBean#Message_driven_beans

这两种服务于不同目的。

1),如果你想使用它只是远程方法的用法就用会话Bean

2),但如果性反应/未造成事宜中,但后来的消息是母校给你,然后去JMS,因为它是在创建队列,使工作和设置信息。但性能比较问题将在那里。

如果u需要有只方法使用那么就使用会话bean,因为它是重量轻的豆。和它给良好的性能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top