我在JavaEE 8.2应用服务器中使用来自WildFly 7的上下文依赖注入CDI1.1框架
我想在超类的@PostConstruct之后初始化子类
所以我做了一些这样的事情
// case 1: it's working but it's not simple to understand
public class A {
@PostConstruct
protected void init() {
System.out.println("A");
afterInit();
}
protec
我们使用CDI和CMT (容器管理事务)连接到web应用程序中的数据库,并标记从前端调用的方法,这些方法需要:
@Transactional(value=TxType.REQUIRES_NEW)
这将创建一个新的CDI事务,但是,如果发生异常,执行此代码块或从此方法调用的任何其他代码块,则将引发错误消息:
javax.transaction.TransactionalException: Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during commi
我尝试在CDI类中使用@Transactional方法,而不是EJB:
@javax.inject.Named
// fails @javax.enterprise.context.ApplicationScoped
// fails @javax.enterprise.context.SessionScoped
// works @javax.ejb.Singleton
// works @javax.ejb.Stateless
public class SomeClass {
@javax.persistence.PersistenceContext
private Ent