Ich versuche eine Kamelroute mit einer SQL Server-Datenbank als Endpunkt zu erstellen. Ich habe verstanden, dass die gängige Methode zur Integration von Datenquellen in OSGi darin besteht, sie als OSGi-Dienste zu exportieren.Export sqljdbc4 als OSGi-Dienst
Für Test- und Entwicklungszwecke habe ich eine H2 In-Memory-Datenbank verwendet und erfolgreich als Dienst exportiert. Als ich versuchte, dasselbe mit SQL Server zu tun, stieß ich jedoch auf einige Probleme.
ich die SQL Server JDBC-Treiber heruntergeladen und die .jar zu meiner lokalen Maven-Repository als solche hinzugefügt:
$ mvn install:install-file -Dpath=<path-to-jar>
-DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0.2206
-Dpackaging=jar
Ich ging zu wickeln die .jar in einem OSGi-Bündel dann durch einen pom.xml Schaffung so wie:
<?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>
ich in der Lage war, um erfolgreich das Bündel in Karaf zu installieren, damit dann ging ich weiter meinen Dienst Plan zu erstellen:
Nun, wenn ich den Blueprint nach/deploy nichts passiert passiert, wird kein Bündel installiert und nichts im Protokoll. Wenn ich dasselbe für die H2-Datenquelle gemacht habe, wurde ein Bündel installiert.
Ich verwende JBoss Fuse 6.2.1, Kamel-Version 2.15.1 und 2.4.0 Karaf
würde ich sehr dankbar über jede Hilfe zu diesem Thema.
Sehen Sie die Blueprint.xml als Bündel in Karaf? –
@ChristianSchneider, Für die H2 Datenquelle, ja, aber nicht der SQL Server. Ich denke, ich hätte es vermasselt, den Treiber korrekt zu verpacken, aber ich bin mir nicht sicher. – noMad17
Versuchen Sie, den ursprünglichen Treiber mit dem Umbruch zu installieren: mvn: protocol –