Logo of Bento frameworkspaceObject Oriented Programming


How to start background Thread


package example.bulk1;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

import com.bentofw.bulkemail.*;
import com.bentofw.util.*;

/**
 * @author Jun Inamori
 */
public class Start extends HttpServlet{

    private static BulkEmailSender sender;

    public void init()
        throws ServletException{
        try{
            sender=BulkEmailSender.getInstance();
        }
        catch(Exception ex){
            ex.printStackTrace();
            throw new ServletException(ex);
        }
    }

    private static final String STARTED="started.html";
    private static final String ALREADY_STARTED
                                ="already_started.html";
    private static final String GOING_TO_STOP
                                ="going_to_stop.html";

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

        //HTTP 1.1
        res.setHeader("Cache-Control","no-cache");
        //HTTP 1.0
        res.setHeader("Pragma","no-cache");
        //prevents caching at the proxy server
        res.setDateHeader ("Expires", 0);

        try{
            sender.startBgThread();
            (req.getRequestDispatcher(STARTED)).
               forward(req,res);
            return;
        }
        catch(BgThreadAlreadyStartedException ex){
            (req.getRequestDispatcher(ALREADY_STARTED)).
               forward(req,res);
            return;
        }
        catch(BgThreadIsGoingToStopException ex){
            (req.getRequestDispatcher(GOING_TO_STOP)).
               forward(req,res);
            return;
        }
        catch(Exception ex){
            throw (new ServletException(ex));
        }
    }

}


Copyright © 1997-2007 OOP-Research CorporationTM, All Rights Reserved.