【问题标题】:lift with enterprise java beans使用企业 Java bean 提升
【发布时间】:2010-08-01 10:46:24
【问题描述】:

我在使用企业 Java bean 部署提升应用程序时遇到了麻烦。有一个简单的例子:

@Stateless
class TestEJB {
 def a = "hello"
}

object TestApi extends XMLApiHelper{
 @EJB
 private var bean:TestEJB = _
 def createTag(a:NodeSeq) = 
 def dispatch: LiftRules.DispatchPF = {
  case Req("test" :: Nil, "", GetRequest) =>
   () => PlainTextResponse( bean.a )
 }
}

bean.a 出现 NullPointerException,这意味着 bean 没有很好地初始化。为什么?

【问题讨论】:

    标签: java scala ejb-3.0 lift


    【解决方案1】:

    不支持提升,但@EJB 标准上仅可用于 servlet、过滤器、上下文侦听器、jsf 托管 bean、ejb、webbean 和其他 Java EE 组件。注意 JSP 类由于它们的动态生成/编译,不符合使用 @EJB 的条件,并且必须改为查找 EJB,即使它们在运行时在技术上算作 servlet。

    作为注入的替代方法,您可以使用查找。如果您在 Java EE 6 服务器中,任何 Java 代码都可以通过其标准的“java:global”JNDI 名称查找 EJB。

    【讨论】:

      猜你喜欢
      • 2011-01-28
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      相关资源
      最近更新 更多