Apache felix无法将dbcp2作为捆绑加载

问题描述 投票:0回答:1

我创建了一个OSGi捆绑包,该捆绑包使用apache commons dbcp2创建数据库连接池。我正在使用apache felix gogo作为运行时来启动我的捆绑包。我已经将多个其他外部库加载到apache felix中,没有任何问题:

此处的图片(不能发表):https://i.gyazo.com/c779ccaba20e3fa327d61a621748d8dc.png

但是每次我尝试启动包中要求的dbcp2包时,都会出现以下错误:

此处的图片(不能发表):https://i.gyazo.com/ac7b673e63b9e6ad764af2e6adddb19a.png

[我发现有一些Apache mixservice捆绑包可用,但是它包含dbcp 1.4,我需要dbcp 2.5.0或更高版本。

需要做什么才能使apache felix能够将dbcp2加载为其他项目所需的库?

osgi jdbc-pool dbcp
1个回答
0
投票

您在错误中看到的是dbcp捆绑包要求版本> = 1.1.0的javax.transaction软件包。这不是捆绑包中的错误。这仅意味着您需要在OSGi容器中提供此软件包。

通常,您将安装提供该软件包的捆绑软件。在这种情况下,软件包来自jre,系统捆绑包应将其导出。

取决于您如何启动felix,导出系统软件包的方式有所不同。例如,如果使用bndtools,则在bndrun文件中执行此操作。参见Enroute microsevice example

对于普通的felix,请参见参数“ org.osgi.framework.system.packages.extra”。

在此示例中,javax.transaction包已导出(在其他示例中)。

© www.soinside.com 2019 - 2024. All rights reserved.