首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 请教关于EJB3.0的依赖注入 [无满意答案结贴,结贴人:bet_fov]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bet_fov
    • 等级:
    发表于:2008-05-17 09:56:52 楼主
    最近在做EJB3.0的三层结构,表示层使用 Struts 框架,数据访问层是一系列无状态会话 bean 实现Data Access Objects ,服务层也是由无状态会话 bean组成并且通过依赖注入数据访问层的无状态会话 bean
    比如:
    @Stateless
    public class UserService implements UserServiceRemote {
    @EJB(beanName="UserFacade") //注入数据访问层的UserFacade Bean,UserFacade只有remote接口
    UserFacadeLocal local;

    public void say()
    {
    local.say();
    }
    }

    最后调试的时候发现local一直为null,请教究竟是什么原因呢?谢谢
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 11:05:041楼 得分:0
    ejb-jar.xml贴出来 看看吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 13:45:322楼 得分:0
    我也出现这种情况,local提示空指针异常,我用判断,他确不是空不真不知道怎么回事

    remote接口对象调用时正常,真不知道怎么回事了

    jboss.j2ee:jar=EJBLOCAL3.jar,name=HelloBean,service=EJB3
    javax.ejb.EJBException: Invalid invocation of local interface (null container)
    at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:77)
    at $Proxy1.sayHello(Unknown Source)
    at com.text.HelloTest.main(HelloTest.java:29)

    我用的开发工具是myEclipse+jboss+ejb3.0就是本地无状态会话BEAN出异常,是不是本地会话BEAN部署方法不对呀

    package session;

    import javax.ejb.Stateless;

    @Stateless
    public class HelloBean implements HelloBeanLocal, HelloBeanRemote {
    public String sayHello(){
    return "hello";
    }
    }


    上面的客户端代码打包成war 文件发布到jboss 中。如果你试图在独立的Tomcat 服务器中执行客户端代码(如何
    在独立的Tomcat 环境中调用EJB 请考照第二章:在独立的Tomcat 中调用EJB),你将获得如下例外:
    java.lang.NullPointerException
    org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:74)
    产生此例外的原因是,调用Local 接口的客户端与EJB 容器不在同一个VM(虚拟内存堆)。相对于发布到jboss
    deploy 目录下的客户端应用而言,他与EJB 容器运行在同一个VM。如果客户端与EJB 容器在不同的VM,只能
    通过其Remote 接口进行访问。

    这是我唯一知道的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 13:46:573楼 得分:0
    ejb3.0没有那个ejb-jar.xml文件呀
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lisl2003
    • 等级:
    发表于:2008-05-17 13:55:304楼 得分:0
    做个标记
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 14:09:525楼 得分:0
    不行不行不行,local就是提示NULL,一定这个部署方法和远程不一样,救救我呀
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bet_fov
    • 等级:
    发表于:2008-05-17 21:35:146楼 得分:0
    我使的是JBoss服务器,可能版本不完全支持依赖注入,现在换了个新版的,问题就解决了。哈哈
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved