2017-04-12 5 views
0

최대 절전 모드 5를 MSSQL 2012와 연결 중입니다.karaf 및 MS-sql이 작동하지 않습니다.

<hibernate-configuration> 
    <session-factory> 
    <property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:jtds:sqlserver://<ip>:<port>/<dbname></property> 
    <property name="hibernate.connection.username">testuser</property> 
    <property name="hibernate.connection.password">abc</property> 

    <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property> 


    </session-factory> 
</hibernate-configuration> 

I :이 내 hibernate.cfg 파일입니다

Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [net.sourceforge.jtds.jdbc.Driver] 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:229) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:183) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:139) 
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:78) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66) 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234) 
    ... 61 more 
Caused by: java.lang.ClassNotFoundException: Could not load requested class : net.sourceforge.jtds.jdbc.Driver 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:217) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)[:1.8.0_51] 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_51] 
    at java.lang.Class.forName0(Native Method)[:1.8.0_51] 
    at java.lang.Class.forName(Class.java:348)[:1.8.0_51] 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:226) 

: 나는 Karaf에 배치 때 자바 (main 메서드)와 연결을 성공적으로 얻을 수 있어요 나누었다, 그것은 나에게 오류를 제공합니다 다음과 같이 카라프에이 기능을 설치하십시오 :

여전히 오류가 있습니다. 저장소 (또한 Driver.class) 클래스가 포함되어 있지만 여전히이 오류가 발생합니다. 어떤 문제를 파악하는 데 도움이 될 수 있습니까 ?? 내가 뭘 놓치고 있니?

답변

1

일반적으로 OSGi에서 Driver.class를 사용하여 jdbc 드라이버를로드하면 작동하지 않습니다. 대신 OSGi 서비스로 DataSource를 제공하고 최대 절전 모드로 완전히 OSGi를 사용할 수 있도록 Aries JPA를 제공하려면 pax-jdbc-config을 사용해야합니다.

MS-SQL은 아직 사용하지 않았지만 pax-jdbc도 지원합니다. 그래서 일반적으로 효과가 있어야합니다.

전체 예제는 tasklist-ds을 참조하십시오.