自動配線された注釈が機能しません。Timertask または run メソッドに問題があるに違いないと思いました。私の他のクラスは正常に動作しています(つまり、Autowire アノテーションは genericService を問題なく初期化します)が、このクラスでは genericService の値は null です。アイデアはありますか?
public class UsersUpdateTask extends TimerTask {
@Autowired
GenericService genericService;
@Override
public void run() {
//genericService.save() gives null pointer.
}
}
私のapplicationContext定義;
<bean id="usersUpdateTask" class="myPackage.UsersUpdateTask">
</bean>
<bean id="genericLogger" class="utilPack.Logger">
</bean>
<bean id="genericService" class="servicePack.GenericService">
このクラスは完全に機能しています。
public class Logger implements Serializable {
@Autowired
private GenericService genericService; //works fine
.....
}
UsersUpdateTask の run メソッドを呼び出す別のクラスのメソッドがあります。
public void updateUsersList(){
timer.schedule(new UsersUpdateTask(), 1000, 60*60*1000);
}