Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Lanciare 2 servlet contemporaneamente

    Il mio obbiettivo è lanciare 2 servlet contemporaneamente nella mia WebApplication ho configurato in questo modo il mio web.xml ma il risultato è che viene lanciata prima la seconda servlet e solo dopo che tutte le operazioni sia terminate mi lancia la prima servlet.

    codice:
    <servlet>    
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>it.petitogennaro.webapplicationtest4.MyServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
      </servlet>
      
      <servlet>    
        <servlet-name>Servlet2</servlet-name>
        <servlet-class>it.petitogennaro.webapplicationtest4.Servlet2</servlet-class>
        <load-on-startup>0</load-on-startup>
      </servlet>
    Inoltre vorrei riuscire a fare 2 operazioni contemporaneamente in una servlet, mi spiego meglio:

    voglio aprire due thread separati nella servlet come posso fare?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da GennyAndroid Visualizza il messaggio
    Il mio obbiettivo è lanciare 2 servlet contemporaneamente nella mia WebApplication
    Motivo preciso?

    Quote Originariamente inviata da GennyAndroid Visualizza il messaggio
    ho configurato in questo modo il mio web.xml ma il risultato è che viene lanciata prima la seconda servlet e solo dopo che tutte le operazioni sia terminate mi lancia la prima servlet.
    Per quanto riguarda caricamento/istanziazione/inizializzazione, le specifiche delle servlet sono molto chiare riguardo il load-on-startup:

    "The container may choose the order of loading of servlets with the same load-on-startup value."

    Quindi se entrambe hanno load-on-startup=0, il Servlet container è libero di caricarle/inizializzarle nell'ordine che più gli aggrada.

    Quote Originariamente inviata da GennyAndroid Visualizza il messaggio
    Inoltre vorrei riuscire a fare 2 operazioni contemporaneamente in una servlet, mi spiego meglio:

    voglio aprire due thread separati nella servlet come posso fare?
    Dove? In uno dei doXXX ? Il metodo service (e poi il doXXX scelto a seconda del method HTTP) viene eseguito dal Servlet container nel contesto di 1 thread e il container può far fluire più thread concorrentemente nel service/doXXX a seconda delle richieste.

    La creazione/gestione esplicita di thread per conto proprio è sconsigliata nelle web application Java EE. Quindi ripeto la domanda iniziale: motivo?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Il mio scopo finale é quello di ricavare informazioni da più pagine web. Siccome alcune informazioni su queste pagine web spesso sono ricavabili soltanto dopo aver cliccato su bottoni in java script allora mi sono avvalso della libreria HtmlUnit. Ho realizzato la classe che effettua il parse su 2 pagine ma adesso il problema é che HtmlUnit impiega 30 secondi su ogni pagina ed io non posso permettermi di impiegare un minuto per ottenere queste info da questi 2 siti. Allora sono stato indirizzato verso le servlet.
    Lanciando manualmente le due servlet, quindi scrivendo le 2 URL nel browser, sono riuscito riuscito nel mio intento, ma il mio scopo é quello che sia il server stesso che le richiami al suo primo avvio e che lo faccia in automatico
    Ultima modifica di GennyAndroid; 19-04-2014 a 09:19

  4. #4
    up

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da GennyAndroid Visualizza il messaggio
    il problema é che HtmlUnit impiega 30 secondi su ogni pagina
    Bisognerebbe innanzitutto vedere perché ci mette così tanto.

    Quote Originariamente inviata da GennyAndroid Visualizza il messaggio
    Allora sono stato indirizzato verso le servlet.
    Ma la tua che tipo di applicazione è? Il mio dubbio è: stavi già sviluppando, in generale, una webapp con Java EE e hai usato anche due servlet per quel motivo .... o hai dovuto/voluto creare appositamente una webapp solo per quel motivo?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Impiega tanto tempo perché HTML unit é già di per se molto lento.Ho scelto di scrivere una web application perché volevo eseguire queste operazioni sul web e dato che HTML unit é scritto in java ho pensato che fosse l'unica scelta che potevo fare. Quindi si h odovuto/voluto creare appositamente una webapp solo per quel motivo
    Ultima modifica di GennyAndroid; 21-04-2014 a 12:14

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da GennyAndroid Visualizza il messaggio
    Impiega tanto tempo perché HTML unit é già di per se molto lento.Ho scelto di scrivere una web application perché volevo eseguire queste operazioni sul web e dato che HTML unit é scritto in java ho pensato che fosse l'unica scelta che potevo fare. Quindi si h odovuto/voluto creare appositamente una webapp solo per quel motivo
    Ma allora, scusa, quale è il tuo obiettivo finale? Cosa vuoi produrre come risultato? Vuoi fare un sito web in cui le tue pagine usano i dati parsati da HtmlUnit da altre pagine web? Se sì, ovviamente una webapp con Java EE (almeno servlet e/o JSP) è ovviamente ok.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Quello che voglio realizzare è un programma scritto in java che giri sul web, dovrà fare tutto da solo ogni 10 minuti circa dovra andare a leggere sui vari siti, gli utenti non avranno nessuna interazione con il programma, l'unica interazione che farò io con il programma avverrà quando andrò a leggere i dati nel database.

  9. #9
    Forse ho trovato una soluzione, che purtroppo ancora non sono riuscito a mettere in pratica:

    grazie a Quartz Scheduler dovrei essere in grado di avviare la mie classi java ogni tot minuti senza l'ausilio di una chiamata http.
    Ho seguito questo tutorial http://www.appuntisoftware.it/quartz...b-application/ ma non capisco perchè non mi funziona, è come se la clase da me realizzata non venisse mai chiamata, non inserisco i vari file perchè sono identici a quelli in esempio nel link quello che invece mi lascia perplesso è la posizione di questi file di configurazione che non sono sicuro che siano corretti. Quindi metto uno screen della geografia del progetto:

    struttura progetto.jpg

  10. #10
    help me

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.