在注入实体管理器之前调用 Bundle Activator
Call Bundle Activator Before Injecting Entity Manager
我有一个持久性包(有一个 Meta-Persistence
),它还有一个 Activator
class
当部署到 karaf
时,容器开始处理 persistence unit
&mapping files
等,然后调用 Activator
[= 的 start
方法26=]
我的问题是:有没有办法改变这种行为?让容器先调用方法?
编辑
我需要先调用激活器的原因:
我有一些 mapped entities
依赖于 jackson
,而 jackson
本身依赖于 spring
,发生的事情是,当 hibernate
加载 entities
时,它到达了一个自制的 class,它在没有 spring context
注入时阻塞。所以捆绑包永远处于 starting
状态
所以我认为一个可能的解决方案是利用 Activator
注入 spring context
谢谢
容器(或更准确地说是 Aries JPA)必须在启动包之前开始处理持久性单元。
原因是Aries JPA在某些情况下需要做load time weaving。这种编织必须在要编织的 类 被任何 bundle 第一次加载之前完成。所以唯一安全的时间是在 bundle 被解析之后。
我有一个持久性包(有一个 Meta-Persistence
),它还有一个 Activator
class
当部署到 karaf
时,容器开始处理 persistence unit
&mapping files
等,然后调用 Activator
[= 的 start
方法26=]
我的问题是:有没有办法改变这种行为?让容器先调用方法?
编辑
我需要先调用激活器的原因:
我有一些 mapped entities
依赖于 jackson
,而 jackson
本身依赖于 spring
,发生的事情是,当 hibernate
加载 entities
时,它到达了一个自制的 class,它在没有 spring context
注入时阻塞。所以捆绑包永远处于 starting
状态
所以我认为一个可能的解决方案是利用 Activator
注入 spring context
谢谢
容器(或更准确地说是 Aries JPA)必须在启动包之前开始处理持久性单元。
原因是Aries JPA在某些情况下需要做load time weaving。这种编织必须在要编织的 类 被任何 bundle 第一次加载之前完成。所以唯一安全的时间是在 bundle 被解析之后。