EJB クラス - GetTransactionDataForMercury を定義しました。以下のサンプルコードを見つけてください。
@Stateless
@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
public class GetTransactionDataForMercury {
@EJB
private BusinessLocal business;
private Long historyId = null;
public GetTransactionDataForMercury(){
super();
}
public void getHistoryForMercury() {
try {
historyId = getConfigHistoryId("QueryDslConfig");
} catch (Exception exception) {
notifier.error("Error Occured -- > "+exception);
}
}
public Long getConfigHistoryId(String requestType){
notifier.info(" Processing QueryDslConfig " );
Long historyId = null;
BaseEntity entity = null;
Long transactionStartTime = null;
Long transactionEndTime = null;
ConfigEntity configEntities[] = null;
Query query = null;
try{
transactionStartTime = System.currentTimeMillis();
notifier.info(" Going to Query " );
notifier.info("Business object created : " + business);
List<BaseEntity> entities = business.query(new QueryFactory(requestType).create());
notifier.info(" No. of entities fetched " + entities.size());
historyId = Long.parseLong(configEntities[0].getConfigId());
notifier.info("History Id stored : " + historyId);
}catch(Exception exception){
transactionEndTime = System.currentTimeMillis();
notifier.error("Error Occured -- > "+exception.getMessage());
}
return historyId;
}
BusinessLocal は、EJB クラス (BusinessSLSB) によって実装される EJB インターフェースです。次の行で null エラーに直面しています。
notifier.info("Business object created : " + business);
EJB オブジェクトが null になる理由を知る必要がありますか? EJB クラス - GetTransactionDataForMercury の作成に問題はありますか?
提案してください!