배치 배치에서 종속성 주입에 문제가 있습니다.Java EE - 배치 릿에 종속성 삽입
@Named
public class SimpleBatchlet extends AbstractBatchlet {
@Inject
protected StorageService storageService;
...
public String process() throws Exception {
storageService.doSomething(); // this throws a null pointer exception
}
}
@Named
public class LocalFileStorageService implements StorageService {
public void doSomething() {
}
}
나는 beans.xml을 META-INF와 WEB-INF에 넣고 제거하는 데 아무런 도움이되지 않았습니다. 콩의 범위를 싱글 톤 (singletons)으로 변경하려고 시도했습니다. BatchRuntime을 사용하여 작업을 시작하는 메소드에서 @Schedule 주석을 사용하여 배치 작업을 호출하거나 시작합니다.
나는 이것이 작동해야한다는 것을 알고 있기 때문에 간단한 것을 놓치고 있어야합니다. 실제 사용하는 콩의 범위는 달라야 할 수도 있지만, 내가하려는 것은 콩 범위가 문제라고 생각하지 않지만 다른 설정 문제입니다.
또한 StorageService가 1 개만 구현되어 있음에 유의해야합니다.
귀하의 질문에 명확하지 않은 것은 무엇이 효과가 있고 그렇지 않은 것은 무엇입니까? 어쩌면 당신은 그것을 바꿔서 예제 코드 –
을 제공해야합니다. 잘하면 이것이 도움이 될 것입니다. – Walter