현재 큰 문제가 발생하고 도움을 주시면 감사하겠습니다.용접 : 스레드 J2EE 내부에 종속성 삽입
우선 J2EE 환경에서 다음과 같은 문제가 발생합니다. 스레드를 직접 관리해서는 안되지만 불행히도 EJB를 변경하거나 사용할 수는 없습니다. 환경은 Tomcat 웹 컨테이너 및 Weld CDI 관리자를 기반으로합니다.
내 구조에는 RESTful 서비스, 서비스 레이어 및 DAO 레이어 구현이 많이 포함되어 있으며 이들 모두는 @ 삽입을 사용하여 서로 주입되고 있으며 정상적으로 작동합니다. 내 서비스 층 내 실행 방법에 주입하는 데 필요한 때 문제는 온다 나는
WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped.
은 이미 다음 코드 설명으로, 그 문맥으로 원하는 빈을 반환하는 방법을 얻을 :
BeanManager manager = (BeanManager) jndiContext.lookup("java:/comp/BeanManager");
Bean<T> bean = (Bean<T>) manager.getBeans(beanClass).iterator().next();
CreationalContext<?> ctx = manager.createCreationalContext(bean);
return (T) manager.getReference(bean, beanClass, ctx);
하지만이 방법을 사용하더라도 오류가 발생합니다. 그래서, 저에게 만들어지고 관리되는 쓰레드 안에 콩을 주입 할 수있는 방법이 있습니까?
감사합니다.
답변 해 주셔서 감사합니다. 나는 동의해야합니다, 나는 당신이 말한 것처럼 할 노력이 가치가 있다고 생각하지 않습니다. 내 상황에 대한 해결책을 찾아 스레드 사용을 제거해야 할 것입니다. – luanlucas