小编Nem*_*max的帖子

在glassfish上执行资源注入时出错

这是我的问题:我正在学习Java EE开发,我想使用Ejb构建WebApplication.首先,我尝试在同一台机器上进行开发,在glassfish域上创建EJB模块,并通过在同一台机器上但在不同域上运行的Web应用程序访问它:一切正常.由于我的WEB-ING文件夹中的glassfish-web.xml的定义,我能够使用glassfish 3.1从webapp访问EJBmodule:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
  <ejb-ref>
    <ejb-ref-name>ejb/FirstBeanRemote</ejb-ref-name>
    <jndi-name>corbaname:iiop:127.0.0.1:3700#java:global/EJBModule/FirstBean!ejb.FirstBeanRemote</jndi-name>
  </ejb-ref>
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)

在此之后,我想改变实验,使用不同的机器为ejb模块和webapp.首先,我在debian机器上安装了glassfish 3.1并部署了我的模块,包括所需的接口.在部署中没有返回任何错误,所以我继续启动域,并且所有似乎都正常工作.在server.log中,我复制了EJB FirstBean的可移植jndi名称:

Portable JNDI names for EJB FirstBean: [java:global/EJBModule/FirstBean, java:global/EJBModule/FirstBean!ejb.FirstBeanRemote]
Run Code Online (Sandbox Code Playgroud)

所以现在在使用Netbeans的另一台机器上(在Windows 7下),我创建了与前一个相同的webapp,只需用这种方式更改glassfish-web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
  <ejb-ref>
    <ejb-ref-name>ejb/FirstBeanRemote</ejb-ref-name>
    <jndi-name>corbaname:iiop:192.168.1.110:3700#java:global/EJBModule/FirstBean!ejb.FirstBeanRemote</jndi-name>
  </ejb-ref>
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)

我确定Ip(我的局域网中的静态)和端口(我在glassfish上创建一个默认域).问题来了.当我启动webapplication时,我收到错误:

com.sun.faces.mgbean.ManagedBeanCreationException: An error occurred performing resource injection on managed bean prova
    at com.sun.faces.mgbean.BeanBuilder.injectResources(BeanBuilder.java:211)
    at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:103)
    at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
    at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
    at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
    at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116) …
Run Code Online (Sandbox Code Playgroud)

dependency-injection ejb glassfish

5
推荐指数
0
解决办法
848
查看次数

标签 统计

dependency-injection ×1

ejb ×1

glassfish ×1