私は奇妙な/奇妙な行動を経験しています。私はJavaEEを使用したWebアプリであるプロジェクトに取り組んでいます。これは、Eclipselink2.3永続性サービスを使用してGlassFish3.1.1にデプロイされます。すべてがEclipse、Windows 7 Professional 64ビット、JDK +JVM64ビット上にあります。
使用するビジネスオブジェクトを取得します。まず、対応するエンティティを設定します。メソッドの呼び出しまではすべて問題ありません。この中でデバッグすると、エンティティが突然nullになります。
この呼び出しの前に、エンティティがインスタンス化されます。
コードは次のとおりです。
// get my entity
tramiteProxy = ejbTramiteFactory.getEntity(tramite);
// get corresponding business thru factory
IRegistrableInLiquidador registrableInLiquidadorBusiness = (IRegistrableInLiquidador) ejbTramiteFactory.getCBusiness(tramiteProxy);
// invoke business
// up to here everything is fine, you can inspect business variable and it shows correct, entity is instantiated as expected
registrableInLiquidadorBusiness.registrarNovedadInIntegrador();
registrableInLiquidadorBusiness
次に、ビジネスオブジェクト( )内でデバッグを行います。
// Here if one checks the entity it became null !!!
public void registrarNovedadInIntegrador() throws CException {
try {
CIntegradorBusiness ejbIntegradorBusiness = CCTX
.getEJB(CIntegradorBusiness.class);
// Here's the problem: getEntity() returns null, the entity of this business object became *magically* null
ejbIntegradorBusiness.registrarNovedad(getEntity(),null);
} catch (Exception e) {
throw new CException(1, e);
}
}
オブジェクトエンティティは、このビジネスの父で宣言された変数であり、そこから拡張されることを付け加えなければなりません。
だから私は他に何を試すべきかわかりません。私は、これに関係するコードのすべての行を調べて、無駄な間違いを見つけました。
次のステップは、おそらくEclipselinkソースをダウンロードしてデバッグし、舞台裏で何が起こっているかを確認することですが、これと関係があるかどうかさえわかりません。
アドバイスをいただければ幸いです。