Earlier this code worked fine:
@Component
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
class CustomTraceableExecutorServiceImpl implements ExecutorServiceProvider {
@Qualifier(value = "defaultExecutorService")
private final ExecutorService executorService;
@Qualifier(value = "scheduledTimeoutExecutorService")
private final ScheduledExecutorService scheduledExecutorService;
private final Tracer tracer;
private final SpanNamer spanNamer;
@Override
public ExecutorService get() {
return new TraceableExecutorService(executorService, tracer, new TraceKeys(), spanNamer);
}
@Override
public ScheduledExecutorService getScheduled() {
return new TraceableScheduledExecutorService(scheduledExecutorService, tracer, new TraceKeys(), spanNamer);
}
}
But now TraceableExecutorService
constructor takes TraceableExecutorService(BeanFactory beanFactory, final ExecutorService delegate)
so i need to change code to sth like:
@Component
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
class CustomTraceableExecutorServiceImpl implements ExecutorServiceProvider {
@Qualifier(value = "defaultExecutorService")
private final ExecutorService executorService;
@Qualifier(value = "scheduledTimeoutExecutorService")
private final ScheduledExecutorService scheduledExecutorService;
//@Qualifier(value = "defaultBeanFactory")
@Autowired
private final BeanFactory beanFactory;
//@Qualifier(value = "scheduledBeanFactory")
@Autowired
private final BeanFactory scheduledBeanFactory;
@Override
public ExecutorService get() {
return new TraceableExecutorService(beanFactory, executorService);
}
@Override
public ScheduledExecutorService getScheduled() {
return new TraceableScheduledExecutorService(scheduledBeanFactory, scheduledExecutorService);
}
}
The issue i have is about BeanFactory
i don't know how to create it?
I don't have any xml
file that i could use.
As i read here: what are the different ways of creating beanfactory object?
We can create this BeanFactory
by:
1. BeanFactory fac=new ClassPathXmlApplicationContext("Spring-Config.xml");
2. Resource res=new Classpathresource("Spring-Config.xml");
BeanFactory fac=new XmlBeanFactory(res);
How can i create it simply if i don't have any xml
file? I just want that my code was compatible with the older version (SpringBoot 1.5 version).