Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    37

    Eseguire un programma Java sul server

    Salve a tutti, ho creato un app. Java con eclipse che sfrutta le librerie del Job Scheduler Quartz per far eseguire ogni ora automaticamente il programma. Il programma praticamente si connette a un DB MySQL e fa dei determinati controlli per poi eventualmente mandare degli SMS agli utenti. La domanda è:

    come faccio per far eseguire automaticamente questo programma su un server (anche locale tipo Tomcat) ???
    Grazie

  2. #2
    Tomcat?? Quello viene usato per eseguire webapps!
    Se il tuo programma non ha interfaccia web devi eseguire il tuo programma puoi installarlo come servizio...
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    37
    ???

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Hai detto di aver sviluppato una applicazione in Java.
    Tomcat serve per eseguire Web Application (che non hanno nulla a che vedere con le classiche applicazioni desktop).

    Tu, hai sviluppato una Applicazione o una Web Application? Nel primo caso, di Tomcat non te ne fai nulla.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    37
    Avete ragione, mi sono spiegato male.
    Io ho una normalissima applicazione Java (non una webapp) fatta con eclipse che utilizza diverse librerie (tra cui Quartz, MySQL, e anche delle librerie particolari per inviare SMS) e ho bisogno che giri automaticamente su un server (locale tipo Tomcat appunto) in modo che quando io avvio il server, quella parte da sola e gira continuamente in background. Come fare?

  6. #6
    allora, puoi creare un'applicazione web (altrimenti tomcat non la riconosce), crei una servlet che parte allo startup (tag load-on-startup a 1 nel web.xml) che nel suo init inizializza la tua applicazione
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da ficus
    Avete ragione, mi sono spiegato male.
    Io ho una normalissima applicazione Java (non una webapp) fatta con eclipse che utilizza diverse librerie (tra cui Quartz, MySQL, e anche delle librerie particolari per inviare SMS) e ho bisogno che giri automaticamente su un server (locale tipo Tomcat appunto) in modo che quando io avvio il server, quella parte da sola e gira continuamente in background. Come fare?
    E continui a confondere una macchina server con un programma server come Tomcat.

    Tomcat non ti serve a nulla: Tomcat è sostanzialmente un Web Server (come Apache, IIS, ecc). Lui prende delle richieste HTTP e risponde con il protocollo HTTP. In buona sostanza, parlando terra terra e in modo assolutamente improprio, Tomcat serve a costruire Siti Web. Capisci che non c'entra nulla con quello che vuoi fare tu?

    Quello che ti serve, invece, è far partire in automatico una Applicazione all'accensione di un computer... questo lo puoi fare in due modi diversi:

    1) Usando le operazioni pianificate / cron
    2) Creando un servizio

    Fai una ricerca su questo forum per entrambe le operazioni.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    37
    Capito. Cambierebbe qualcosa se questo programma girasse invece che su una macchina locale su un server?

  9. #9
    ovviamente no.

    Ma anziché chiederci se la tua soluzione originaria (Tomcat) possa essere infilata in qualche caso, perché non ci esponi meglio il tuo dubbio? Perché mi sembra che continui ad avere delle perplessità ma non si capisce da dove nascano...

    Per eseguire un programma java come il tuo ti serve un JRE. Punto.
    Se esso sta in locale, in remoto o dovunque vuoi poco cambia. Il JRE basta.

    Ovviamente avrai dei vincoli se il servizio di invio SMS è raggiungibile solo da determinate macchine e così via.

    ciao
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    37
    Ho quasi risolto: ho creato una servlet tramite eclipse con il metodo init che inizializza la mia applicazione, ho messo tutte le librerie di Quartz nella cartella WEB-INF/lib. Ho modificato il file web.xml con il tag <load-on-startup>1</load-on-startup> in modo che la servlet parta automaticamente non appena avvio tomcat. Poi ho creato il war e l'ho depolyato su Tomcat. Quando faccio partire Tomcat l'applicazione parte automaticamente e funziona: tramite Quartz ogni ora esegue il controllo ed eventualmente manda i messaggi.

    Grazie a tutti!!!

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.