When I run TaskJob I am getting null pointer exception because Spring doesn't autowiring serviceJob service. Is new thread causing this problem because Spring autowired mysqlService without any problem?
public class TaskJob implements Runnable {
@Autowired
private ServiceJob serviceJob;
String name;
String source;
public TaskJob(String name, String source) {
this.name = name;
this.source = source;
}
public void run() {
serviceJob.run();
}
}
@Service
public class ServiceJob extends BaseJob{
@Autowired
private MysqlService mysqlService;
public void run(){
....
}
}
@Service
public class MysqlService {
...
}
My applicationContext.xml;
<context:component-scan base-package="cm.*" />
And my classes are;
cm.tasks.jobs.TaskJob
cm.jobs.ServiceJob
cm.services.MysqlService;
EDIT: TaskJob instanciated with;
TaskJob taskJob = new TaskJob(name, source);
Thread taskThread = new Thread(taskJob);
taskThread.start();