Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2013, 03:43
Sawler
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 11 años, 6 meses
Puntos: 0
Problema: Servlet se ejecuta 2 veces

Buenas, tengo un Servlet que crea un Thread para que se ejecute diariamente. Esto sólo quiero que lo cree cuando arranco el servidor. El tema es que al arrancar el servidor, entra 2 veces por el servlet y programa el Thread 2 veces.. No tengo ni idea de porqué entra 2 veces, os pongo el codigo del Servlet y del web.xml a ver si me podeis echar una mano.

Muchas gracias!

WEB.XML
----------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>
<!-- Action Servlet Configuration -->

<servlet>
<servlet-name>ServletMercadoAlineaciones</servlet-name>
<servlet-class>utils.ServletMercadoAlineaciones</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ServletMercadoAlineaciones</servlet-name>
<url-pattern>/ServletMercadoAlineaciones</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<!-- The Welcome File List -->
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>

<listener>
<listener-class>utils.WebSessionListener</listener-class>
</listener>

<listener>
<listener-class>utils.UserListener</listener-class>
</listener>

<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>

----------------------------------------------------------

SERVLET
----------------------------------------------------------

public class ServletMercadoAlineaciones extends HttpServlet
{
private static final long serialVersionUID = 1L;

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{

}

public void init()
{
try
{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, 6);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.AM_PM, 0);
Date date = calendar.getTime();
long unDiaEnMilisegundos = 1 * 1000 * 60 * 60 * 24;

Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTaskEfectuarFichajes(), date, unDiaEnMilisegundos);
}
catch (Exception e)
{
e.printStackTrace();
}
}

/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
}

/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
}

/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
public String getServletInfo()
{
return "Short description";
}

}

----------------------------------------------------------