2015-11-19 53 views
2

我正在使用Java註釋創建Spring Batch應用程序。我有@EnableBatchProcessing註釋,所以我沒有明確定義JobRepository或JobRepositoryFactory。直到今天,當我開始獲得「ORA-08177:無法序列化訪問此事務」錯誤時,這工作正常。使用@EnableBatchProcessing指定JobRepository隔離級別

如何更改JobRepository上的隔離級別,我不創建或交互?

回答

2

「如何更改JobRepository上的隔離級別,我不創建或與之交互?」總之,你沒有。您需要自己創建它,方法是擴展DefaultBatchConfigurer並覆蓋createJobRepository方法以提供您自己的定製實例。

+0

感謝您的快速響應。 – cneff

+0

(嘆息,我**憎恨**進入添加評論,而不是放入cr/lf中。)繼續我正在嘗試**的內容:但爲了實際設置隔離級別,我有在'JobRepositoryFactoryBean'上做到這一點。爲了使用它來創建一個'JobRepository',我必須在工廠bean上設置'dataSource',該工具bean是'DefaultBatchConfigurer'專用的。所以我將不得不重寫'setDataSource'並保留自己對'dataSource'的引用。我假設我也應該**刪除**'@ EnableBatchProcessing'註釋,因爲現在我正在擴展'DefaultBatchConfigurer'。正確? – cneff

+0

'@ EnableBatchProcessing'使用'BatchConfigurer',所以你不想刪除它。另外,是的,您需要重寫setDataSource或在自己的'BatchConfigurer'中自動引用單獨的引用。 –