CDI 1.1:@Observes @Initialized(TransactionScoped.class) 应该工作吗?
CDI 1.1: Is @Observes @Initialized(TransactionScoped.class) supposed to work?
CDI 1.1:@Observes @Initialized(TransactionScoped.class)
应该工作吗?
@ApplicationScoped
public class MyClass {
public void processConversationScopedInit(@Observes
@Initialized(TransactionScoped.class) Object payload) {}
public void processConversationScopedDestroyed(@Observes
@Destroyed(TransactionScoped.class) Object payload) {}
}
它是 CDI 1.1 中的标准作用域,但在此处的列表中明显缺失:
http://www.next-presso.com/2014/06/you-think-you-know-everything-about-cdi-events-think-again/
我似乎无法让它在 TomEE 7.0.5/OpenWebBeans 中工作,我很好奇这是否只是规范中的疏忽。谢谢!
@TransactionScoped
是 不是 标准范围,它不是由 CDI(或者,CDI impls)实现的。它 comes from JTA 并且还有他们的包 - javax.transaction
.
话虽如此,它的行为应该与所有其他 @NormalScope
上下文一样,因此应该触发 @Initialized
事件供您观察。虽然请注意 CDI spec only recommends this 说:
Portable extensions are encouraged to fire an event with qualifier @Initialized(X.class) when a custom context is initialized, and an event with qualifier @Destroyed(X.class) when a custom context is destroyed, where X is the scope type associated with the context. A suitable event payload should be chosen.
我自己还没有尝试过,但我敢打赌这适用于大多数最新的实现。再一次,你在 CDI 1.1 中,现在已经很古老了。
是的,因为它不是必需的,并且可能会增加大量开销,使用已经提供的请求范围事件可以避免,因此未将其添加到 tomee。
当你开始从 javax.* 实现一些没有规范的东西时的问题是用户会认为它是可移植的,但实际上是错误的,所以最好尽可能尊重规范恕我直言。
CDI 1.1:@Observes @Initialized(TransactionScoped.class)
应该工作吗?
@ApplicationScoped
public class MyClass {
public void processConversationScopedInit(@Observes
@Initialized(TransactionScoped.class) Object payload) {}
public void processConversationScopedDestroyed(@Observes
@Destroyed(TransactionScoped.class) Object payload) {}
}
它是 CDI 1.1 中的标准作用域,但在此处的列表中明显缺失:
http://www.next-presso.com/2014/06/you-think-you-know-everything-about-cdi-events-think-again/
我似乎无法让它在 TomEE 7.0.5/OpenWebBeans 中工作,我很好奇这是否只是规范中的疏忽。谢谢!
@TransactionScoped
是 不是 标准范围,它不是由 CDI(或者,CDI impls)实现的。它 comes from JTA 并且还有他们的包 - javax.transaction
.
话虽如此,它的行为应该与所有其他 @NormalScope
上下文一样,因此应该触发 @Initialized
事件供您观察。虽然请注意 CDI spec only recommends this 说:
Portable extensions are encouraged to fire an event with qualifier @Initialized(X.class) when a custom context is initialized, and an event with qualifier @Destroyed(X.class) when a custom context is destroyed, where X is the scope type associated with the context. A suitable event payload should be chosen.
我自己还没有尝试过,但我敢打赌这适用于大多数最新的实现。再一次,你在 CDI 1.1 中,现在已经很古老了。
是的,因为它不是必需的,并且可能会增加大量开销,使用已经提供的请求范围事件可以避免,因此未将其添加到 tomee。
当你开始从 javax.* 实现一些没有规范的东西时的问题是用户会认为它是可移植的,但实际上是错误的,所以最好尽可能尊重规范恕我直言。