@Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        ReflectionUtils.doWithMethods(bean.getClass(), recurringJobFinderMethodCallback);
        return bean;
    }
@Test
    void beansWithMethodsUsingJobContextAnnotatedWithRecurringIntervalAnnotationWillAutomaticallyBeRegistered() {
        // GIVEN
        final RecurringJobPostProcessor recurringJobPostProcessor = getRecurringJobPostProcessor();

        // WHEN
        recurringJobPostProcessor.postProcessAfterInitialization(new MyServiceWithRecurringIntervalJobUsingJobContext(), "not important");

        // THEN
        verify(jobScheduler).scheduleRecurrently(eq("my-recurring-job"), jobDetailsArgumentCaptor.capture(), eq(new Interval("PT10M")), any(ZoneId.class));

        final JobDetails actualJobDetails = jobDetailsArgumentCaptor.getValue();
        assertThat(actualJobDetails)
                .isCacheable()
                .hasClassName(MyServiceWithRecurringIntervalJobUsingJobContext.class.getName())
                .hasMethodName("myRecurringMethod")
                .hasJobContextArg();
    }