[英]Call Bundle Activator Before Injecting Entity Manager
我有一个持久性捆绑包(具有Meta-Persistence
),它也有一个Activator
类
当部署到karaf
,容器会在调用Activator
的start
方法之前开始处理persistence unit
和mapping files
等。
我的问题是:有没有办法改变这种行为? 让容器首先调用该方法?
我首先需要激活器的原因:
我有一些mapped entities
依赖于jackson
,而jackson
本身依赖于spring
,发生的事情是,当hibernate
加载entities
,它到达了一个自制类,该类在没有注入spring context
会阻塞。 因此,捆绑包永远处于starting
状态
所以我虽然可能的解决方案是利用Activator
注入spring context
谢谢
容器(或更准确地说是Aries JPA)必须在开始分发包之前开始处理持久性单元。
原因是在某些情况下,Aries JPA需要进行加载时间编织。 这种编织必须在任何捆绑包第一次加载要编织的类之前完成。 因此,唯一安全的时间是在解决捆绑包之后。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.