EJB 또는 서블릿 - 프로세스 / 스레드가 중지되도록 강제하기 위해 'kill 스위치'를 추가하는 방법
-
17-09-2020 - |
문제
한 번에 한 번 실행하는 열린 질문의 종류 - ejb statefulaft 또는 stateves 또는 직접 서블릿 프로세스가있는 경우 잘못된 매개 변수가 생산 시스템에서 오래 실행되기 시작할 수있는 직접적인 서블릿 프로세스가있는 경우 어떻게 생산 시스템에서 길게 실행될 수 있습니다.관리자 / 사람이 스레드 / 프로세스를 구체적으로 죽일 수있는 수동 '킬 스위치'를 효과적으로 추가 할 수 있습니까?
해결책
사용자는 응용 프로그램 서버 스레드를 직접 방해해서는 안됩니다.그래서 "킬 스위치"는 Java EE 환경에서 나에게 확실히 부적절하게 보입니다.
나는 당신이 가지고있는 문제를 이해하지만, 당신이 당신을 더 작은 작업 단위로 분할하는 비동기 접근 방식을 취하는 것을 제안하는 것이 좋습니다.
EJB 타이머를 사용하고 결과에 만족했습니다. 초기 타이머가 첫 번째 작업 단위를 위해 만들어집니다.앱이있을 때.서버는 타이머를 실행 한 다음 두 번째 작업 유닛에 해당하는 두 번째로 등록하고 EJB 타이머가 사용자 정의 정보의 저장을 지원하기 때문에 하나의 작업 단위를 다른 작업 단위로 전달할 수 있습니다.또한 타이머 실행 및 등록은 트랜잭션이며 데이터베이스에서 작동하는 것은 괜찮습니다.이 접근 방식으로 응용 프로그램 서버를 종료하고 다시 시작할 수도 있습니다.각 작업 단위가 실행되기 전에 그 동안 작업이 취소 된 경우 데이터베이스를 확인했습니다.
제휴하지 않습니다 StackOverflow