다음을 수행하기 위해 Java EE 환경에서 "승인 된"또는 모범 사례 접근 방식을 결정하려고합니다. 클라이언트가 웹 페이지에 있으며 버튼을 클릭하고 있습니다. 이것은 프로세스, 즉 데이터베이스 활동, 네트워크 등을 모니터링하기위한 스레드를 시작합니다.이 프로세스는 사용자가 프로세스를 종료하도록 지시하는 버튼을 클릭 할 때까지 계속 실행됩니다. 다른 클라이언트 및/또는 동일한 클라이언트가 버튼을 클릭하여 프로세스에서 전송 된 상태를 듣고 사용자가 단추를 클릭하여 청취를 중단 할 때까지 계속 듣습니다.Java EE 및 백그라운드 스레드
나는 WebSocketApplication을 확장하는 삽입 된 단일 EJB를 얻는 서블릿과 통신하기 위해 WebSocket을 사용하여 이미 위 작업을 수행했다. 하지만,이 EJB는 프로세스 스레드를 생성하여 모니터링을 수행합니다. 그것이 작동하기는하지만 싱글 톤이기 때문에 계속해서 작동해야하지만, "승인 된"방법은 아닙니다.
몇 가지 제안은 스레드를 스폰하기 위해 JMS를 사용하여 논의했지만, 뭔가 오해하지 않는 한 Message Driven Bean이 스레드를 생성하지 않기 때문에 아무 것도 해결하지 못합니다. 그렇다면이 작업을 수행하는 데있어 승인 된/최선의 방법은 무엇입니까? Java EE 환경에서 백그라운드 프로세스를 시작하고 중지하는 방법은 무엇입니까? 다시 말하면 요구 사항은 오직 하나의 프로세스 만 생성 될 수 있고 서블릿에 등록 된 모든 웹 소켓에 통신해야하며 요청할 때 죽을 수 있어야한다는 것입니다 (서버가 소켓을 닫지는 않을지라도 백업을 시작하고 이전에 등록한 모든 클라이언트와 계속 통신합니다).
감사합니다.