スプリング インジェクションを必要とする liferay 6.1.2 でスケジュールされたジョブを実行しています。
サンプルコード -
import com.liferay.portal.kernel.messaging.Message;
import com.liferay.portal.kernel.messaging.MessageListener;
import com.liferay.portal.kernel.messaging.MessageListenerException;
import java.lang.reflect.InvocationTargetException;
public class ScheduledJob implements MessageListener {
@Autowired
private SomeService service;
@Override
public void receive(final Message msg) throws MessageListenerException {
try {
service.someMethod();
} catch (final IllegalAccessException e) {
} catch (final InvocationTargetException e) {
}
}
}
注入されたサービスは、アプリケーション コンテキストを通じて初期化されず、常に null です。
Auowiring は、他のクラスでは問題なく機能します。ScheduledJob でのみ失敗します。
誰でも解決策を知っていますか?
ありがとう