data class ExeEvent(val id: Long)
@Stateless
open class ExeManagerBean : IExeManagerBean {
@Inject
open val events: Event<ExeEvent>? = null
override fun listenTo(@Observes(during = TransactionPhase.AFTER_SUCCESS) exeEvent: ExeEvent) {
try {
//doWork
} catch (ex: Exception) {
logger.error("Fail. ex:$ex")
}
}
上部署應用程式:觀察注入私人最終誤差
16:38:56060 ERROR [org.jboss.msc.service.fail](MSC服務線程1-4)MSC000001:未能啓動服務jboss.deployment.unit。「pay.ear」.WeldStartService:服務jboss.deployment.unit中的org.jboss.msc.service.StartException。「bisys-pay-ear-worker.ear」.WeldStartService:啓動服務失敗 在org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1904) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker .RUN(ThreadPoolExecutor.java: 617) at java.lang.Thread.run(Thread.java:745) 引起:org.jboss.weld.exceptions.DefinitionException:WELD-000810:無法在最終字段上放置限定符:[EnhancedAnnotatedFieldImpl] @Inject private final ExeManagerBean.exeEvent
變量是開放的。對於EJB定義的變量,val工作成功 – Ant20