我在使用企业java bean部署lift应用程序时遇到了问题。这里有一个简单的例子:
@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 )
}
}
NullPointerException与bean.a
在线,所以这意味着bean
还没有被很好地初始化。为什么?
发布于 2010-08-02 06:37:39
不支持Lift,但@EJB标准上只可用于servlet、过滤器、上下文侦听器、jsf托管bean、EJB、webbeans和其他Java组件。注JSP类,由于它们的动态生成/编译,没有资格使用@EJB,而必须改为查找EJB,即使它们在运行时在技术上被视为servlet。
作为注入的替代方案,您可以使用lookup。如果您在JavaEE6服务器中,任何Java代码都可以通过其标准的" java :global“JNDI名称查找EJB。
https://stackoverflow.com/questions/3381716
复制相似问题