【问题标题】:Injecting EJB3 / CDI / JSF beans in console application for testing / experimentation purposes在控制台应用程序中注入 EJB3 / CDI / JSF bean 以用于测试/实验目的
【发布时间】:2012-10-28 17:58:14
【问题描述】:

有没有办法注入 EJB3 / CDI / JSF bean(如果最后一个类别有意义的话)并使用各自的注解而不必使用 Java EE 容器? IE。在普通的旧 static void main 类型控制台应用程序中?

原因可能是出于实验/测试/行为解密目的。

【问题讨论】:

    标签: java jsf ejb cdi


    【解决方案1】:

    EJB3、CID 和 JSF 在 Java EE 容器上运行:GlassFishJBossIBM WebSphere Application Server 等等。请注意,Tomcat 不是 Java EE 容器,它是 Servlet/JSP 容器。

    另一方面,控制台项目运行在 Java SE 容器上,这是一个简单的 JRE 安装。如果您尝试下载 Java Platform, Enterprise Edition 6 SDK,您会注意到它是 GlassFish 发行版。

    如果您想要/需要使用这些技术进行概念验证,您应该创建一个简单的 Web 项目并将其部署在任何 Java EE 容器上。 IMO 我会推荐 JBoss AS 7,因为它在部署上是轻量级的(注意:如果我错了,人们可以纠正我)。

    【讨论】:

    • EJB 和 JSF 肯定不会在 SE 环境中运行,但是 Weld 和 Open WebBeans 都在 SE 中运行。对于测试,是的,您需要使用容器。 JBoss AS7 很棒,TomEE 也很棒,看看 Arquillian。
    • @LightGuard 我刚刚检查了 Arquillian,看起来很有希望用于 EJB 测试。很好理解!
    • @LightGuard 请注意,添加到 EJB 3.1 的 Embedded EJB Container API 用于在 Java SE 中运行 EJB
    • @David 你是对的。我忘记了嵌入式容器 :) 但是,JSF 在 EE 领域之外运行仍然存在问题。
    猜你喜欢
    • 2015-04-15
    • 2013-05-08
    • 2014-02-28
    • 2016-08-02
    • 2011-05-12
    • 2019-08-17
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    相关资源
    最近更新 更多