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 옵션으로 서버 실행시 가장 최우선으로 해당 서블릿을 무조건 초기화하도록 하고 있다.