sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  

다음과 같이 스레드를 실행하는 서블릿을 작성한다

 

public class UpdateWIT extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {doGet(req, res);}

    public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {}
    
    public void init() {        
        new Thread(new PatchData()).start();        
    }
    
    private class PatchData implements Runnable {

        public void run() {
            while (true) {

                //여기에 주기적으로 수행할 작업들을 기술한다

                try {
                    Thread.sleep(5 * 1000); // 5초 간격
                } catch (Exception e) {
                    e.printStackTrace();
                }
                
            }
        }
    }
}

 

 

서버실행시 해당 서블릿이 함께 초기화 될 수 있도록 web.xml 에 다음과 같이 서블릿을 등록한다.

 

  <servlet>
    <servlet-name>updatewit</servlet-name>
    <servlet-class>UpdateWIT</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

 

위에서 중요한 부분은 붉은색의 load-on-startup 옵션으로 서버 실행시 가장 최우선으로 해당 서블릿을 무조건 초기화하도록 하고 있다.

 

번호 제목 글쓴이 날짜 조회 수
55 [Gemini] HttpURLConnection 클래스를 이용한 데이터 전송 방식 비교 황제낙엽 2024.03.14 7
54 servlet name 에 camel case 를 사용해서는 안되는 이유 황제낙엽 2023.10.24 2
53 org.apache.commons.fileupload.servlet.ServletFileUpload 이용 예시 황제낙엽 2023.08.25 2
52 ServletFileUpload.parseRequest() 실행 결과 리스트가 비어있는 오류 황제낙엽 2023.08.25 18
51 어떤 multi-part 설정도 제공되지 않았기 때문에, part들을 처리할 수 없습니다. file 황제낙엽 2023.08.23 99
50 (Bard) the request was rejected because no multipart boundary was found file 황제낙엽 2023.08.23 9
49 (Bard) multipart/form-data 요청 처리를 위한 MultipartHttpServletRequest file 황제낙엽 2023.08.21 4
48 ajax 로 post 데이터를 servlet 으로 전달 받기 (with nexacro) [1] secret 황제낙엽 2023.02.26 0
47 HttpServletRequest, HttpServletResponse, JSONObject, POST 황제낙엽 2022.01.12 31
46 [JSP] 파일 다운로드 테스트 file 황제낙엽 2021.04.12 123
45 [HttpURLConnection] Authorization 헤더를 넣어 GET Request 황제낙엽 2020.08.12 376
44 [AWS, 웹 프로젝트] AWS+MySQL+SpringFrameWork5+JAVA8+ React+Gradle+Webpack+GIT+Jenkins file 황제낙엽 2020.04.08 48
43 세션의 timeout 설정 >> HttpSession.setMaxInactiveInterval() 황제낙엽 2019.07.03 8311
42 jQuery JSON 데이터 통신의 특성 (HttpServletRequest) 황제낙엽 2019.06.23 103
41 [HttpURLConnection] 서버와의 통신 시도 시점 관련 황제낙엽 2019.06.23 116
40 응답 헤더의 Content-disposition 속성 황제낙엽 2019.04.16 534
39 Java에서 User-Agent 파써 사용하기 황제낙엽 2017.11.20 418
» 서버구동시 주기적으로 동작을 수행하는 스레드를 함께 실행하는 서블릿 황제낙엽 2017.08.02 131
37 JSP 파일에서 getOutputStream() has already been called for this response 에러 황제낙엽 2013.04.24 11479
36 [The type HttpUtils is deprecated] javax.servlet.http.HttpUtils 황제낙엽 2013.03.20 276