0

我有一个动态 Web 项目,它使用相当复杂的消息(通过 Web 服务传递)根据消息类型处理消息数据。该应用程序可以处理十五到二十种不同的消息类型。作为消息处理的一部分,大约有四十种不同的实体类型被持久化。

作为替代方案,我想到在架构上每种消息类型都可以由一个单独的 EJB 处理,一个 EJB 接收消息。我假设 EJB 背后的概念之一是它们针对“单一”功能。它是否正确?或者,EJB 的功能有多“复杂”?我的整个应用程序可以放在一个通用 EJB 中吗?

我想,这些问题实际上只是哲学设计问题,但任何评论/建议都可以帮助我加深对应用程序架构的理解。

4

1 回答 1

1

你的问题有点不准确。有些事情是 EJB 不应该做,例如自己创建新线程(它必须使用 Java EE 框架来做到这一点),但本质上 EJB 可以做任何你让它们做的事情,而且它们不一定针对单一功能。复杂性也没有固有的限制。

通常,EJB 旨在为应用程序域中的特定区域执行业务逻辑。您可以使用多种方法创建一个 EJB,每个方法处理一种消息类型,或者为每种消息类型创建一个单独的 EJB,或者为一组消息类型创建单独的 EJB……选项是无穷无尽的。

于 2012-10-17T08:14:20.910 回答