如果我在没有指定taskExecutor的情况下使用Sprint-Batch来读取Json文件,它工作得很好,但是如果指定了taskExecutor,它就不能正确读取。用SynchronizedItemStreamReader Package 可以解决线程安全问题,但不能用JacksonJsonObjectReader Package 。所以我想知道是否有线程安全的JacksonJsonObjectReader类可以使用
taskExecutor
SynchronizedItemStreamReader
JacksonJsonObjectReader
lmvvr0a81#
JacksonJsonObjectReader的典型用法是将其用作JsonItemReader中的委托。因此,如果将JsonItemReader Package 在SynchornizedItemStreamItemReader中,则不需要同步对象读取器(因为将同步整个read方法)。
JsonItemReader
SynchornizedItemStreamItemReader
read
现在,如果您想在此设置之外使用JacksonJsonObjectReader,您需要自己对其进行同步。此类不是线程安全的。
1条答案
按热度按时间lmvvr0a81#
JacksonJsonObjectReader
的典型用法是将其用作JsonItemReader
中的委托。因此,如果将JsonItemReader
Package 在SynchornizedItemStreamItemReader
中,则不需要同步对象读取器(因为将同步整个read
方法)。现在,如果您想在此设置之外使用
JacksonJsonObjectReader
,您需要自己对其进行同步。此类不是线程安全的。