バッチ ジョブで spring-retry ライブラリを使用しようとしており、@EnableRetry
注釈を追加しようとしています。これは、プロキシされ@Configuration
ている spring-batch ライブラリ Bean のように見えるため、アプリケーションが失敗していることをドキュメントが示唆しているためです。@Autowired
@Configuration
@EnableBatchProcessing
@EnableRetry
@Import({SpringBatchConfiguration.class, School192ClientConfiguration.class })
public class SchoolJobConfiguration { .. }
例外:
原因: org.springframework.beans.factory.BeanNotOfRequiredTypeException: 'jobRegistry' という名前の Bean は、タイプ 'org.springframework.batch.core.configuration.JobRegistry' であると予想されますが、実際にはタイプ 'com.sun.proxy.$ でしたProxy130'
以下を別のクラスに追加しました。
@Retryable(value = School192ClientException.class, maxAttempts = 3, backoff = @Backoff(delay = 2000))
@Override
protected void doReadPage() {
私の質問は、なぜこの Bean ( jobRegistry
) がプロキシされているのですか? (私は AOP の経験があまりありません)。
spring-boot
バージョンを使用してい1.5.3.RELEASE
ます。