2016-07-26 1 views
0

sqlserver-databaseをエンドポイントとして使用してラクダルートを作成しようとしています。 OSGiでデータソースを統合する一般的な方法は、それらをOSGiサービスとしてエクスポートすることです。sqljdbc4をOSGiサービスとしてエクスポート

私はH2メモリ内のデータベースを使用して、サービスとして正常にエクスポートしました。私はSQL Serverで同じことをしようとしたが、いくつかの問題が発生しました。

私は、SQL ServerのJDBCドライバをダウンロードし、そのように私の地元のMavenリポジトリに.jarファイルを追加しました:

$ mvn install:install-file -Dpath=<path-to-jar> 
    -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0.2206 
    -Dpackaging=jar 

私は、その後のpom.xmlを作成することにより、OSGiのバンドルでの.jarをラップするために進んでそのよう:

<?xml version="1.0" encoding="utf-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.microsoft</groupId> 
    <artifactId>sqljdbc4-osgi-bundle</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <name>SQL Server JDBC Driver</name> 
    <packaging>bundle</packaging> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.felix</groupId> 
       <artifactId>maven-bundle-plugin</artifactId> 
       <version>2.3.7</version> 
       <extensions>true</extensions> 
       <configuration> 
        <instructions> 
         <Embed-Dependency>*</Embed-Dependency> 
         <_exportcontents> 
          com.microsoft.sqlserver.jdbc.* 
          , microsoft.sql.* 
         </_exportcontents> 
        </instructions> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>com.microsoft.sqlserver</groupId> 
      <artifactId>sqljdbc4</artifactId> 
      <version>4.0.2206</version> 
     </dependency> 
    </dependencies> 
</project> 

私は正常ので、私は私のサービスの青写真を作成するために、先に行きKarafにバンドルをインストールすることができました210

今、青写真を/ deployにコピーしても何も起こらず、バンドルはインストールされず、ログには何も格納されません。私がH2データソースに対して同じことをしたときに、バンドルがインストールされました。

私は深く、この問題に関する任意のヘルプをお願い申し上げますJBossのヒューズ6.2.1、ラクダバージョン2.15.1およびKaraf 2.4.0

を使用しています。

+0

kluafのblueprint.xmlがバンドルとして表示されていますか? –

+0

@ChristianSchneider、H2データソースの場合はyesですが、SQL Serverの場合はありません。私はドライバーを正しくラッピングするのに苦労したかもしれないとは思いますが、わかりません。 – noMad17

+0

wrap:mvn:protocol –

答えて

1

pax-jdbcを見てみましょう。

https://ops4j1.jira.com/wiki/display/PAXJDBC/Create+DataSource+from+config https://ops4j1.jira.com/wiki/display/PAXJDBC/Pooling+and+XA+support+for+DataSourceFactory

それは普遍的な方法でデータベースにアクセスするためのOSGi仕様からDataSourceFactoryを使用しています。また、pax-jdbc-mssqlというmssqlを適合させるためのkaraf機能もあります。

基本的に、設定ファイルだけを使用してmssql用のデータソースを作成することができます。あなたはそれのための青写真を作成する必要はありません。

関連する問題