繁体   English   中英

是否可以在不是 WEB 应用程序的应用程序上使用 JBoss SEAM?

[英]Is it possible to use JBoss SEAM on an application that is not a WEB application?

我的意思是,是否可以在仅通过远程 EJB、Web 服务或 MDB 等提供功能的后端应用程序中使用 seam? (蚂蚁因此没有 http session 或请求)。 在这种情况下使用 Seam 有意义吗?

如果是这样,它是如何启动的? 由于在 web 上下文中,在文件“web.xml”中声明了一个侦听器,因此在所描述的场景中,Seam 是在哪里启动的?

不,SEAM 是基于 JSP 的,它需要一个 servlet/JSP 引擎和一个 web 容器。 这既不可能也不可取。

创建一个独立于用户界面的基于服务的后端确实是一个非常好的主意。 您可以使用 EJB 或 Hibernate 来完成此操作。 但你不需要 SEAM。

Seam 绝对不是基于 JSP 的。 它可以说是以 JSF 为中心,但您也可以将 Wicket 或 GWT 用于您的用户界面。

基于 Seam 的仅后端应用程序是可能的,在我看来,如果您计划使用一些 Seam 功能,例如安全性、RESTEasy 集成、在 web 服务和 MDB 设施中使用依赖注入的能力,那么它是非常有意义的。

关于第二个问题,即如何启动它,在 Seam2 中您必须定义一个虚拟战争模块,其中包含启动和关闭所需的过滤器。 在基于 CDI 的 Seam3 中,您也许可以避免它。

在 EJB 3 世界中,您已经拥有良好的依赖注入、事务管理机制,EJB 具有明确定义的生命周期。 所以我不认为 Seam 对 EJB 非常有用,除非您想将 EJB 与 web 技术混合使用,例如 JSF、Wicket 等——在这种情况下,您将受益于 Seam 的统一组件 Z20F35E630DAF49DFA4C3 您将拥有 Seam 的 DI 和资源管理机制,它抽象出 EJB、Servlet、JSF 的方法之间的差异。

Seam 的主要观点是无缝集成不同的(主要是网络)技术。

这就是为什么我认为单独使用 EJB 没有多大意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM