i have a task that needs to be executed at frequent intervals of time(every 5 min.) so i have been using scheduler-service.xml of jboss to do that. declaration of this class in scheduler-service is as follows.
now, my scheduled implementation(PollingThread) needs to access spring related beans. i have declared a private variable of spring bean inside PollingThread and it is not instatiating that and is giving null pointer exception while accessing spring related bean. so this should be passed as paramter in one of application context.
how can I inject spring bean inside polling thread. should i delcare polling thread as one bean in spring application context and pass spring bean to it.
If I declare it in spring application context, am i not technically declaring them in two places and it is getting created twice?
Please suggest .
The PollingThread will be instantiated by the JBoss MBean scheduler and will have no access to Spring or any of your other application components. It's upto you to set/get them appropriately from within the Schedulable. So instead of maintaining that as a field in the PollingThread, you can instead get hold of the UploadVideoService Spring bean instance from within the perform method by somehow getting access to the Spring's application context. I don't however have experience in Spring, so I don't know how you can do that.