2010-08-27 51 views
0

我将我的项目包装在OSGi包中(只需从Activator.start()调用我的第一个启动方法)。 在我的项目中,我使用ORM ActiveObjects和c3p0池。所有的项目依赖项(jar librarys)都在类路径中。如果我用c3p0运行我的项目,则需要大约5分钟才能查询数据库。没有c3p0它是正确的。 什么是问题? 非常感谢!c3p0循环和OSGi

回答

1

也许你的问题与OSGi特定的类加载机制有关。在OSGi中,依赖关系库不能位于平面java类路径中,而必须位于bundle类路径中。为此,我们通常为每个库创建一个捆绑版本,将库jar公开为OSGi“包”。

+0

也许你是对的。你能解释我怎么办?谢谢! – 2010-08-27 09:19:27

+0

这取决于您正在使用的OSGi运行时。但主要想法是创建一个包含库jar文件的OSGi包。然后将此文件添加到捆绑类路径并使用捆绑清单导出要从jar文件导出的包。这种“库”包不包含任何源代码,只是将一个jar库“包装”在一个包中。 – 2010-08-27 11:16:02