Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    101

    websphere server problema servlet

    salve ho deployato una semplice servlet su un WebSphere server.
    la servlet è implementata in questo modo :

    package com.xxx.etaplus.report.servlet;

    import java.io.IOException;

    import javax.servlet.GenericServlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;

    import org.apache.log4j.Logger;

    import com.xxx.etaplus.report.timertask.ReportsRequestMan ager;

    public class StarterReportPollerServlet extends GenericServlet {
    private static final long serialVersionUID = -9025308504635245579L;
    private ServletConfig config;
    private static final Logger logger = Logger.getLogger(StarterReportPollerServlet.class) ;
    private ReportsRequestManager reportsRequestManager = null;


    public ServletConfig getServletConfig() {
    return config;
    }

    public String getServletInfo() {
    return "A Simple Servlet";
    }

    public void destroy() {
    reportsRequestManager.destroy();
    }

    public void init() throws ServletException {
    logger.fatal("-------------------------REPORT----------------------");
    long init = System.currentTimeMillis();
    String logPrefix = " StarterReportPollerServlet -- metodo :init ";
    logger.debug(logPrefix + " inizio metodo");

    try {
    reportsRequestManager=new ReportsRequestManager();

    reportsRequestManager.poll();


    } catch (Throwable e) {
    logger.fatal("ERRORE NEL LANCIO DEL POLLER REPORT:"+e.getMessage());
    e.printStackTrace();

    } finally {

    long end = System.currentTimeMillis();
    long timeFinal = (end - init) / 100;
    logger.debug(logPrefix + "fine metodo - tempo ->" + timeFinal
    + " decimi di secondi");
    }
    }


    private boolean shootingDown = false;

    protected synchronized void setShootingDown(boolean flag) {
    shootingDown = flag;
    }

    protected synchronized boolean isShootingDown() {
    return shootingDown;
    }

    @Override
    public void service(ServletRequest arg0, ServletResponse arg1)
    throws ServletException, IOException {
    long init = System.currentTimeMillis();
    String logPrefix = " ReaderFlussiServlet-- metodo :Service ";
    logger.debug(logPrefix + " inizio metodo");

    try {

    ReportsRequestManager reportsRequestManager= new ReportsRequestManager();
    reportsRequestManager.poll();


    } catch (Throwable e) {
    logger.fatal("ERRORE NEL LANCIO DEL POLLER REPORT:"+e.getMessage());
    e.printStackTrace();

    } finally {

    long end = System.currentTimeMillis();
    long timeFinal = (end - init) / 100;
    logger.debug(logPrefix + "fine metodo - tempo ->" + timeFinal
    + " decimi di secondi");
    }
    }



    }


    il web.xml è questo:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>
    EtaPlusReportWeb</display-name>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
    <servlet-name>StarterReportPollerServlet</servlet-name>
    <servlet-class>com.cardif.etaplus.report.servlet.StarterRep ortPollerServlet</servlet-class>
    <load-on-startup/>
    </servlet>
    <servlet-mapping>
    <servlet-name>StarterReportPollerServlet</servlet-name>
    <url-pattern>/StarterReportPollerServlet</url-pattern>
    </servlet-mapping>

    <resource-ref>
    <res-ref-name>jdbc/etaplusdb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>


    quando sulla console di WEBSPHERE server stoppo il WAR che contiene questa servlet il metodo destroy non viene richiamato .... come mai ?

    secondo il tutorial di WEBSPHERE server devo andare a modificare il web container .....
    come posso fare per stoppare la mia servlet .

    Grazie del tempo dedicatomi .

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: websphere server problema servlet

    Originariamente inviato da belliazzi
    public class StarterReportPollerServlet extends GenericServlet {
    Perché hai esteso GenericServlet?? Se lavori su HTTP (che generalmente è praticamente certo), dovresti estendere javax.servlet.http.HttpServlet e fare l'override di doGet() e/o doPost() (e non service) a seconda di cosa devi fare...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    101
    dato che la servlet deve partire solo subito dopo il deploy e non deve gestire richieste http
    ho ritenuto opportuno usare generic servlet.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da belliazzi
    la servlet deve partire solo subito dopo il deploy e non deve gestire richieste http
    Ma guarda che la tua servlet viene invocata quando si richiede via HTTP /StarterReportPollerServlet ..... l'hai indicato tu nel DD!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.