실행중인 Spring 3 웹 응용 프로그램이 있습니다. 모든 콩은 올바르게 주입되고 모든 것이 제대로 작동합니다 (모든 웹 서비스 호출이 제대로 작동하고 있습니다).스프링 빈을 스레드에 삽입하는 방법
응용 프로그램을 확장하는 동안 시작할 수있는 스레드를 추가해야했습니다. &은 웹 서비스를 통해 중지되었습니다.
스레드에서 일부 스프링 빈을 주입해야합니다. 이 beens는 @Service로 주석 된 서비스입니다.
<context:component-scan base-package="<package>">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
을하지만 (봄을 주입하지 않습니다) 그들은 항상 '널 (null)'인 스레드에서 콩 (@Resource를 사용)를 주입 할 때 내의 ApplicationContext에서 콩 성분 검사를 통해 감지됩니다. 스레드가 시작되었지만 초기화하는 동안 실패합니다.
나는 또한 코드에서 ApplicationContext를로드하여 그들에게 주입 시도 : 사람이 어떻게 스레드에서 콩을 주입하는 어떤 생각을 가지고 있습니까
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:*applicationContext.xml");
if(applicationContext.containsBean("BeanName")) {
beanObject = (BeanClass) applicationContext.getBean("BeanName");
} else {
//Exception
}
(응용 프로그램 컨텍스트는 'SRC/메인/자원'에 있습니다) ? 또는 스레드에 빈을 삽입 할 수 있습니까?
미리 감사드립니다.
[가능한 복제본] (http://stackoverflow.com/a/1377740/248082). 이 대답을 바탕으로 커스텀 클래스는'Thread'를 확장하고 있습니다. – nobeh