sqlserver-database를 끝점으로 사용하여 낙타 경로를 만들려고합니다. OSGi에서 데이터 소스를 통합하는 일반적인 방법은이를 OSGi 서비스로 내보내는 것입니다.OSGi 서비스로 sqljdbc4 내보내기
테스트 및 개발 목적으로 H2 메모리 내 데이터베이스를 사용하고이를 서비스로 성공적으로 내 보냈습니다. SQL Server에서 동일한 작업을 수행하려고했지만 몇 가지 문제가있었습니다. pom.xml 파일을 생성하여
$ mvn install:install-file -Dpath=<path-to-jar>
-DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0.2206
-Dpackaging=jar
내가 다음 OSGi에서 번들에 .JAR 포장 진행 :
가 나는 SQL Server JDBC 드라이버를 다운로드하고 같은 내 로컬 메이븐 저장소에 .JAR 추가 과 같이 :<?xml version="1.0" encoding="utf-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/1.0.0">
<bean id="dataSource" class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<property name="URL" value=<db-connectionString> />
<property name="user" value=<username> />
<property name="password" value=<pw> />
</bean>
<service id="dataSourceService" ref="dataSource" interface="javax.sql.DataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/myDb" />
</service-properties>
</service>
</blueprint>
,691,363 : 나는 성공적으로 Karaf에서 번들을 설치 할 수 있었다
<?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>
그럼 난 내 서비스 청사진을 만들 나서서210
이제는 청사진을 복사/배포 할 때 번들이 설치되지 않고 로그에 아무것도 표시되지 않습니다. H2 데이터 소스에 대해 동일한 작업을 수행 할 때 번들이 설치되었습니다.
나는이 문제에 어떤 도움을 주셔서 감사 깊이 것이다 JBoss의 퓨즈 6.2.1, 낙타 버전 2.15.1 및 Karaf 2.4.0
을 사용하고 있습니다.
karaf에서 blueprint.xml이 번들로 표시됩니까? –
@ChristianSchneider, H2 데이터 소스의 경우 예 (SQL Server는 아니지만). 나는 내가 올바르게 드라이버를 감싸고있는 것에 열중했을지도 모른다라고 생각한다. 그러나 나는 확실하지 않다. – noMad17
랩 : mvn : 프로토콜 –