无法在ejb中注入内部玻璃鱼3

时间:2018-11-30 21:31:54

标签: cdi glassfish-3

您好,我必须从部署在其上的无状态ejb获取有关glassfish 3中运行域的一些信息。经过研究,我发现需要获取接口com.sun.enterprise.config.serverbeans.Config的实例。我试图使用CDI机制注入它,但没有成功。我还尝试注入org.glassfish.internal.api.Target类(内部具有注入的Config属性),甚至注入了扩展Target ..的自定义类。但是注入的变量始终为空

这是我的代码

META-INF / beans.xml(我读过Glassfish 3使用CDI 1.0)

<?xml version="1.0" encoding="UTF-8"?>
< beans xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" >
</ beans >

 import com.sun.enterprise.config.serverbeans.Config;
 import com.sun.enterprise.config.serverbeans.Domain;
 import org.glassfish.internal.api.Target;
 import javax.ejb.Stateless;
 import javax.ejb.LocalBean;

 @Stateless
 @LocalBean
 public class InfoBean {

   @Inject(name = ServerEnvironment.DEFAULT_INSTANCE_NAME) //default-instance-name
   private Config config;

   @Inject 
   Target targetUtil;

   @Inject
   private DomainInspector inspector;
   ...
}

 import org.glassfish.internal.api.Target;
 import com.sun.enterprise.config.serverbeans.Config;
 import javax.enterprise.inject.Default;

 @Default
 public class DomainInspector extends Target {

    private Config config;

    public DomainInspector() {
      super();
      config = getConfig("server");
    }

    public Config getConfig() {
      return config;
    }    

 }

我该怎么办?我想念什么?如何在无状态ejb中获取Config实例?我想避免使用JMX,因为如果EJB部署在容器中,EJB应该能够访问它。而且也不想建立一个其参数稍后可以更改的连接

0 个答案:

没有答案