Spring dm Server OSGi 環境内で EclipseLink JPA を動作させようとしています。
Spring Enterprise Bundle Repository からダウンロードされた関連するフレームワークとライブラリには、次のものがあります。
- dm サーバー 1.0.2.SR02
- AspectJ ランタイム 1.6.3
- AspectJ ウィーバー 1.6.3
- スプリング フレームワーク 2.5.6.A
- Eclipse の持続性 1.1.0
- Javax 持続性 API 1.99.0
EclipseLink JPA をセットアップするために、 PetClinic-1.5.0の例で示されたのと同じ構造に従いました。遅延フェッチが有効になるまで、すべてが機能します (プロキシされたオブジェクトが必要です)。
遅延フェッチが有効になると、次のエラーは、読み込み時間の織り込みが正しく機能していないことを示しています。
---- (読みやすくするために切り捨てられています)
例外 [EclipseLink-60] (Eclipse Persistence Services - 1.1.0.r3634): org.eclipse.persistence.exceptions.DescriptorException 例外の説明: メソッド [_persistence_setcustomer_vh] または [_persistence_getcustomer_vh] がオブジェクト [net.fractech で定義されていません。 .fds.backoffice.Job]. 内部例外: java.lang.NoSuchMethodException: net.fractech.fds.backoffice.Job._persistence_getcu stomer_vh() マッピング: org.eclipse.persistence.mappings.OneToOneMapping[顧客] 記述子: RelationalDescriptor(net.fractech.fds.backoffice.J ob --> [データベーステーブル(JOBS)])
これは、_persistence_getcustomer_vh() および _persistence_setcustomer_vh() メソッドが Job ドメイン オブジェクトに自動的に組み込まれていないことを示しています。
質問
1.) load-time-weaving が実際に機能しているかどうかを判断するにはどうすればよいですか? さらに、どの負荷時間ウィービング エージェントとウィーバーが開始されたかをログに記録するにはどうすればよいですか? このウィーバーにスイッチを渡してデバッグ情報を出力させるにはどうすればよいですか?
<context:load-time-weaverspectj-weaving="on" /> で load-time-weaving を開始したと思います
2.) 多くの検索により、dm サーバーを使用する場合、-javaagent パラメーターを jvm に渡す必要がないことが明らかになりました。これは正しいです?
3.) com.springsource.org.eclipse.persistence;version="[1.1.0,1.1.0]";import-scope: をアサートすることにより、別のバンドル内のドメイン オブジェクトが Eclipse 永続性クラスにアクセスできることを保証しました。 =application を eclipselink バンドルに追加し、PAR 内のすべてのアプリケーション バンドルを含めます。Spring dm Server で EclipseLink JPA を有効にするために必要なその他の構成はありますか?