Newsgroup: it.comp.java
Titolo: Query programmata al DB (con thread?) come si fa??!

Ciao a tutti
sto usando Struts.
Ho la necessita di eseguire una query programmata, diciamo ogni minuto.
Questa query popola con i dati risultanti un bean che viene letto da
una jsp che li visualizza.
Ora la mia domanda è come fare questa query programmata?
Con un thread? Sapete come si fa o avete qualche esempio.. magari un
metodo integrato con Struts.
Ciao a tutti

ho fatto un listener che all'avvio dell'app mi richiama la classe
LoadAnnunciTask
---nel listener---
public void contextInitialized(ServletContextEvent event) {
   this.context = event.getServletContext();
   Timer timer = new Timer();
   TimerTask task = new LoadAnnunciTask(this.context);
    //aspetta 10 secondi prima dell'esecuzione
   timer.schedule( task, 10000 );
...
---LoadAnnunciTask---
public class LoadAnnunciTask extends TimerTask { ... }
fa la query e inserisce il bean con i dati nel context
dell'applicazione.
parte allo startup ma poi non fa piu nulla . dovrebbe automaticamente
caricare il bean con i nuovi dati tirati su dal DB ogni 10 secondi.
Sapete
sickness ha scritto:


a cosa puo essere dovuto?
sickness ha scritto:


 a cosa puo essere dovuto?
Probabilmente al fatto che hai usato questo:
schedule(TimerTask task, long delay)
Schedules the specified task for execution after the specified delay
anzichè questo:
schedule(TimerTask task, long delay, long period)
Schedules the specified task for repeated fixed-delay execution,
beginning after the specified delay.
CIAO!

 Ora la mia domanda è come fare questa query programmata?
Non è chiaro quello che vuoi fare.
Eseguire una operazione temporizzata come una query sul database non è
un problema, ma tu aggiungi che vorresti anche riempire un bean e
visualizzarlo su una jsp e questo è un problema che non si risolve
lato server.
Siccome la jsp viene eseguita quando avviene la richiesta dal browser,
non vedo perchè tu voglia schedulare la query. Tanto vale che la
esegui quando viene richiesta la jsp. Nelle web application non c'è
questo livello di interazione fra client (browser) e server. Al limite
puoi mettere un reload automatico via javascript sulla pagina
risultante.

ciao
il bean contiene informazioni di news ripescate da db. volevo evitare
di fare una query a Db ogni volta che si carica la home page. Volevo
schedulare tutto ciò e buttarlo in un bean. Le news volevo potessero
aggiornarsi tipo ogni ora.... ecco  il perchè voglio realizzare una
cosa simile.
Qs solo per limitare il num di accessi al db per il solo ripescaggio
delle notizie.
E' anche vero che si corre il rischio di non trovare nessun
aggiornamento del db.
Si poteva aggiornare il bean una volta inserita una news ma siccome le
notizie possono essere aggiunte nel db anche da altri client al di
fuori della webapp non mi sembra il caso visto che l'applicazione non
saprebbe se sono state aggiunte news da servizi esterni alla webapp
Vincent Vega ha scritto:


per quanto riguarda il bean Vincent pensavo di servirmi di qs così che
la jsp lo ritrova dal contesto e aggiorna i dati in modo dinamico al
reload della home
Vincent Vega ha scritto:


Grazie And..
Sbagliavo il costruttore, pensavo che il delay fosse per l'intervallo
di tempo!
grazie 1000
sickness ha scritto:
