使用Oracle ojdbc的Servicemix

时间:2019-06-28 10:58:53

标签: oracle apache-servicemix

我想在项目中直接使用jdbc进行服务组合。 我尝试使用以下方式安装ojdbc7.jar

捆绑包:安装包装:文件:F:/tmp/ojdbc7.jar

开始后我得到 264 |活跃80 | 0 | wrap_file_F__tmp_ojd bc7.jar

我的代码是:

try (final Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl2", "bla", "bla")) {

            String sql = "Insert INTO message values('" + fall.getMessageid() + "','" + fall.getXml() + "')";
            final Statement statement = con.createStatement();
            statement.executeUpdate(sql);
        } catch (Exception e) {
            String msg = "Error while trying to persist Fall with msgid " + fall.getMessageid();
            log.error(msg, e);
            throw new AdvisException(msg, e);
        }

我明白了 java.sql.SQLException:找不到适用于jdbc:oracle:thin:@localhost:1521 / orcl2

的驱动程序

我是否必须添加一些额外的配置?

编辑:

我认为我必须以某种方式将已安装的捆绑软件导入MANIFEST.MF

问题1:

我已经声明了依赖项

<dependency>
        <groupId>com.oracle</groupId>
        <artifactId>oracle-jdbc</artifactId>
        <version>6.0.0</version>
    </dependency>

并使用

<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.3</version>
<extensions>true</extensions>
<configuration>
    <instructions>
        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
        <Import-Package>*</Import-Package>
        <Private-Package>de.iteos</Private-Package>

    </instructions>
</configuration>

但是ojdbc6不会显示导入内容:

Import-Package: javax.jws,javax.xml.bind,javax.xml.bind.annotation,javax
 .xml.bind.annotation.adapters,javax.xml.datatype,javax.xml.namespace,ja
 vax.xml.parsers,javax.xml.transform,javax.xml.transform.stream,javax.xm
 l.ws,javax.xml.xpath,org.apache.activemq,org.apache.activemq.camel.comp
 onent,org.apache.camel;version="[2.16,3)",org.slf4j;version="[1.7,2)",o
 rg.w3c.dom,org.xml.sax

为什么?

问题2: 安装后捆绑软件的名称可能不兼容 我该如何更改?

1 个答案:

答案 0 :(得分:0)

我已经通过将ojdbc驱动程序复制到 apache-servicemix-7.0.1 \ lib \ ext