だから私は大まかにAmdatu JPAビデオチュートリアルに従っていましたが、ほとんど機能しました...
一見問題ないように見えますが、DataSource サービスだけが解決されておらず、その理由がわかりません。登録されているようです。では、これをデバッグするにはどうすればよいでしょうか。これをデバッグする方法があるはずですよね? 開始すると、メッセージログに次のように記録されます。
[CM Configuration Updater (Update: pid=org.amdatu.jpa.datasourcefactory.dd8bf61e-01b1-4732-9b0c-bba96e1f5aff)] DEBUG org.amdatu.jpa.datasourcefactory - ServiceEvent REGISTERED - [javax.sql.DataSource] - org.amdatu.jpa.datasourcefactory
「dm」の出力:
[5] org.amdatu.jpa.datasourcefactory
org.osgi.service.cm.ManagedServiceFactory(service.pid=org.amdatu.jpa.datasourcefactory) registered
org.osgi.service.log.LogService service optional available
javax.sql.DataSource(validationQuery=SELECT 1,name=ManagedDS,driverName=postgresql,serviceName=ManagedDS) registered
org.osgi.service.log.LogService service optional available
org.osgi.service.jdbc.DataSourceFactory (osgi.jdbc.driver.class=org.postgresql.Driver) service required available
javax.transaction.TransactionManager service required available
上記の出力は、DataSource が登録されていることを意味するはずですよね?
[31] org.amdatu.jpa.extender
org.amdatu.jpa.extender.PersistenceBundleManager() registered
org.osgi.service.log.LogService service optional available
javax.persistence.spi.PersistenceProvider service required available
active (Meta-Persistence=*) bundle optional available
java.lang.Object(bundle=32) registered
org.osgi.service.log.LogService service optional available
org.amdatu.jpa.extender.PersistenceBundleManager service required available
org.amdatu.jpa.extender.PersistenceUnitInfoImpl@7175ee92 unregistered
javax.persistence.spi.PersistenceProvider (javax.persistence.provider=org.eclipse.persistence.jpa.PersistenceProvider) service required available
javax.sql.DataSource (name=ManagedDS) service required unavailable
それ以降の DataSource に依存するものはすべて明らかに解決されていません
javax.persistence.EntityManager service required unavailable
だから私が得られないのは、なぜ DataSource がそこで解決されないのですか? 確認したところ、プロパティ名 = ManagedDS で登録されているようですが、Felix DS を初めて使用するので、ここで何が起こっているのかよくわかりません。
これも追加してみました
@ServiceDependency(filter="(name=ManagedDS)")
private volatile DataSource ds;
私のサービスの1つですが、それも解決できません。これに関してご協力いただきありがとうございますが、私が最も感謝しているのは、これを自分でデバッグして解決する方法です。