![]() |
1
3
所以发生的事情是您不满足初始化EJB bean的要求。
CDI规范对构造函数有一些限制——要么没有参数,要么有一个
现在我们进入EJB规范,它需要一个bean上的无参数构造函数。
这应该在第章
现在,终于开始讨论这是否可行 -例如,您是否可以使用CDI构造函数注入来拥有EJB bean? 好吧,让我们来看一下CDI TCK,这是一组测试,所有实现和容器都必须通过这些测试才能声明它们实现了CDI。 在那里,我们可以看到 this bean 和 this test using it -所以是的,这可以工作,但您需要同时拥有两个构造函数。 |
![]() |
2
3
EJB会话bean的创建是由EJB容器完成的,但是它可以选择使用CDI提供EE资源注入,但是EJB解析被委托给容器。 https://docs.jboss.org/weld/reference/2.1.0.Final/en-US/html/ri-spi.html 说:
如果您对CDI和EJB是如何集成感兴趣的话。您可以看看weld ejb模块和weld集成的代码(glassfish代码) |
![]() |
3
2
EJB注册为CDIBeans。但首先,它们必须满足EJB规范的要求。 我想它只是通过提供no-args构造函数来工作。 |
![]() |
SkarabePL · Yii2依赖注入、配置和继承 7 年前 |