でPostgreSQLのデータソースを設定するとき:NPE私はPAXのために、以下のデータソース設定ファイル持っ春分
osgi.jdbc.driver.class=org.postgresql.Driver
url=jdbc:postgresql://localhost:5432/demo
dataSourceName=demo-pg
user=demo
password=demo
をそれはKarafにデータソースを作成するには、しかし、Eclipseで、春分のOSGiランチャーを使用して、私はNPEを取得:
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:459)
at java.util.Properties.setProperty(Properties.java:166)
at org.postgresql.ds.common.BaseDataSource.setProperty(BaseDataSource.java:1030)
at org.postgresql.ds.common.BaseDataSource.setUrl(BaseDataSource.java:964)
at org.postgresql.osgi.PGDataSourceFactory.configureBaseDataSource(PGDataSourceFactory.java:65)
at org.postgresql.osgi.PGDataSourceFactory.createSimpleDataSource(PGDataSourceFactory.java:127)
at org.postgresql.osgi.PGDataSourceFactory.createDataSource(PGDataSourceFactory.java:149)
at org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.createDs(DataSourceRegistration.java:108)
at org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.<init>(DataSourceRegistration.java:63)
at org.ops4j.pax.jdbc.config.impl.DataSourceFactoryTracker.addingService(DataSourceFactoryTracker.java:42)
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
at org.ops4j.pax.jdbc.config.impl.DataSourceConfigManager.updated(DataSourceConfigManager.java:80)
at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)
at org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)
at org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1772)
at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:141)
at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:109)
at java.lang.Thread.run(Thread.java:745)
デバッガで検査したところ、プロパティPROTOCOL_VERSION
がnullであるため、エラーがスローされています。私は設定ファイルに変数を設定しようとしました:
protocolVersion=3
しかし、私はまだ同じエラーが発生します。
Equinox/EclipseランタイムでPostgreSQL DataSourceを設定するにはどうすればよいですか?
私は、PostgreSQLドライバのバージョン9.4から1200を使用しています:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1200-jdbc41</version>
</dependency>
それはより多くのように見えるがhttps://ops4j1.jira.com/browse/PAXJDBC-84 –
[OK]を...それが唯一のPostgreSQLのバージョンで問題になる可能性があります。 –
それはそうです。私はこれを答えとして書くべきかどうかはわかりません...でも、バグのあるバージョンをMavenリポジトリから削除すべきではありませんか? –