有没有一种方法可以使用Spring Batch 5默认配置并使用Jackson序列化器?

0yycz8jy  于 2023-10-20  发布在  Spring
关注(0)|答案(1)|浏览(186)

我正在迁移到Spring Batch 5,但在迁移过程中遇到了问题。Spring Batch 5更改了默认的序列化程序。根据这个文档,你需要确保Jackson序列化器在你的类路径上,以便能够利用它。但是,它没有指定如何启用序列化程序的使用。
This documentation表示你可以使用@EnableBatchProcessing注解,在其他地方我发现你可以扩展DefaultBatchConfiguration类来调整这个配置。但是Sping Boot 文档不鼓励这样做,并指出这将导致Sping Boot 回退配置。
当我使用@EnableBatchProcessingDefaultBatchConfiguration时,我们的作业不再像以前那样启动(我使用--spring.batch.job.name参数)。
有没有一种方法可以使用Sping Boot 3提供的默认配置并使用Jackson序列化器,而无需完全接管Spring Batch的配置?问题是,我有历史数据利用Jackson串行器/并行化器,不再可以处理的升级。

czq61nw1

czq61nw11#

Sping Boot 3不提供在不完全控制Batch配置的情况下自定义序列化器的功能(即通过使用@EnableBatchProcessing或扩展DefaultBatchConfiguration)。
你可以要求这个功能,我会支持它。
同时,您可以在应用程序上下文中将序列化器定义为bean,并告诉Spring Batch通过@EnableBatchProcessing(executionContextSerializerRef="yourJacksonSerializer")或扩展DefaultBatchConfiguration并重写getExecutionContextSerializer来使用它。
我在Spring IO here上谈到了这一点。

相关问题