使用代码在OSGi环境中运行时增强

时间:2014-09-12 09:50:12

标签: osgi openjpa osgi-bundle persistence.xml openjpa-maven-plugin

问题: 1. JPA类/实体使用相同的持久性单元在Bundle 1和Bundle 2中 2. Bundle 3试图访问Bundle 1和Bundle 2中的类(DB API抽象的包装API)。 3.运行时增强无效。

所以我打算做的是使用Code增强JPA实体,在捆绑3出现之前,Bundle 1中的这些实体可以得到增强。 我计划这样做,因为运行时增强功能没有完成,捆绑包3出现了。这导致DB API(Bundle 3 API)失败,因为未创建表。

1 个答案:

答案 0 :(得分:1)

我们在以前的openjpa和OSGi项目中遇到了同样的问题。幸运的是,OpenJPA支持编译时增强,可以通过openjpa maven插件完成,如下所述:http://openjpa.apache.org/enhancement-with-maven.html

还有一个eclipse maven连接器,它支持IDE内部的运行时增强,如果你想使用远程部署,这非常舒服。 http://openjpa-maven-connector.googlecode.com/svn/trunk/