小编use*_*984的帖子

控制EJB 3.1中的CDI启动

我是这里的新手,也是CDI世界的新手,我在工作中得到的第一项任务就是找到一种控制CDI上传的方法.

我们同时使用EJB 3.1CDI 1.0,因为它们是由不同的容器控制的,我们可以控制何时和以何种顺序EJB管Bean将达到使用@Startup@Singleton标注.

但是@Inject我在我的类中声明的CDI bean因为CDI容器尚未启动而变为空.

我已经尝试了好几天来寻找解决方案,而我在这里找到的解决方案没有用(仍然是空的).

我们正在使用Java EE 6并在WebSphere Application Server 8上运行该应用程序.

请问,如果你能帮我找到一种方法来控制内部和不管EJB的CDI上传?

这是一个示例代码:

import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;

@Singleton
@Startup
public class BaseStartupLoader{


/**
 * Default constructor. 
 */
@Inject @MyStartup
BaseStartUp myStartup;

private static Logger m_logger = LoggerFactory.getLogger(BaseStartupLoader.class);
public BaseStartupLoader() {

}

@PostConstruct
public void init(){

    String applicationName = null;

    try {

            applicationName = myStartup.getClass().getName();
            myStartup.load();

    } catch (IllegalAccessException e) {
        m_logger.error("Faild to load data …
Run Code Online (Sandbox Code Playgroud)

java java-ee cdi java-ee-6 ejb-3.1

5
推荐指数
2
解决办法
5886
查看次数

标签 统计

cdi ×1

ejb-3.1 ×1

java ×1

java-ee ×1

java-ee-6 ×1