karaf 上的 Apache camel blueprint MS SQL 数据源

Apache camel blueprint MS SQL datasource on karaf

我正在尝试使用 apache camel 访问 MS SQL 数据库。我正在使用 maven 作为一个包构建它并将它部署在 apache karaf.To 上这样做我在我的 blueprint.xml

中得到了以下内容
<bean id="dataSource" class="net.sourceforge.jtds.jdbcx.JtdsDataSource">
     <property name="url" value="" />
     <property name="user" value="paygate" />
     <property name="password" value="" />
</bean>

<service interface="javax.sql.DataSource" ref="dataSource">
    <service-properties>
        <entry key="osgi.jndi.service.name" value="jdbc/mssqlDatasource" />
    </service-properties>
</service>

但是现在我在我的 karaf 日志中得到以下内容

missing requirement [1374.6] osgi.wiring.package; (osgi.wiring.package=net.sourceforge.jtds.jdbcx)

这是在使用 'jdbc:create' 在 karaf 中创建数据源时也生成的 class。

为什么 karaf 找不到 class?

使用以下命令将 jtds jar 作为一个包安装:

install -s wrap:mvn: net.sourceforge.jtds /jtds/1.3.0 

更改版本号以匹配您的 jar 版本,这将解决问题。

是MSSQL数据源,

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
    <property name="url" value="jdbc:jtds:sqlserver://localhost:1433;databaseName=testdb"/>
    <property name="username" value="sa"/>
    <property name="password" value="root"/>
</bean>

那么你应该在karaf容器中安装dbcp和jtds依赖。它工作正常。