我使用Wildfly 10 Deltaspike一起,並具有持續性的實體問題。當我嘗試刷新它或者堅持引用它的另一個實體時,問題會在稍後出現。當我嘗試刷新它時,我得到指示實體未被管理的異常。如果我試圖堅持引用它的另一個實體,那就是當我得到指示該實體處於瞬態狀態的異常時。Wildfly - deltaspike - 交易沒有提交?
我使用JTA和實體應該保存它的另一種方法調用前面已經提交。
我一直在使用容器管理事務和Bean管理事務嘗試。關於這一點,似乎只有apache-deltaspike.properties文件有改變的任何影響。我也手動啓用了事務攔截器,但我不認爲這是有所作爲的,因爲它啓用或不顯式激活它在beans.xml中。 @Transactional註解似乎並不實際提交事務(我使用各種參數來測試它,我會與預期不同的異常,但只是去同一個)。
@Transactional(Transactional.TxType.REQUIRES_NEW)
//@Transactional(Transactional.TxType.NEVER)
@Loggable
protected void startSession() {
entity = new Entity("something");
LOGGER.warn("entity:" + entity);
entityRepository.saveAndFlushAndRefresh(entity);
LOGGER.warn("end - entity:" + entity.getId());
}
日誌報表顯示的ID爲0,未設置。現在,如果我查詢的順序,我看到它是在189被打了那麼多次......
實際的例外是當我嘗試這樣做:
entityRepository.refresh(entity);
這時候,我得到的表示實體未被管理的異常。正如我所指出的,我可以看到事務攔截器根據日誌被激活。
任何想法?