martedì 12 agosto 2014

CREARE UN SERVIZIO IN JAVA


Una delle funzionalità più importanti negli ambienti server è la possibilità di eseguire servizi, applicazioni che vengono eseguite in automatico all'accensione della macchina e senza bisogno di un utente loggato. Può nascere però la necessità di trasformare un applicativo Java in un servizio e, a differenza dell'ambiente dotNet, non è semplice implementare questa funzionalità.



Caratteristiche del software Java

Prima di trattare di come creare un servizio Java è necessario dire che il nostro applicativo dovrà rispettare determinati requisiti:
  1. non avere interfaccia utente. Mi spiego meglio: il software può avere una interfaccia front-end per la configurazione o l'utilizzo, tuttavia non deve essere presente una schermata di login per avviare le fuzionalità o richiedere conferme all'utente per continuare.
  2. la sequenza deve essere ciclica, una specie di grande ciclo while continuo che non deve mai essere interrotto altrimenti il servizio terminerebbe. 
  3. implementare manualmente la logica per il controllo del processo in esecuzione. Questo significa che quando viene arrestato un servizio Java in realtà non viene arrestato il processo java corrispondente!

Requisiti

Per effettuare questa procedura è necessario aver installato sulla macchina il Microsoft Windows Server Resource Kit Tools. Una suite di software utili scaricabile gratuitamente al seguente indirizzo.

Procedura

Supponiamo di aver installato il Microsoft Windows Server Resource Kit Tools nella directory C:\RESKIT.

-1- Aprire il prompt dei comandi cmd e digitare:

"C:\RESKIT\INSTSRV.EXE" serviceName "C:\RESKIT\SRVANY.EXE"

Il carattere (") serve ad evitare problemi in caso di pathname con spazi, al posto di "serviceName" inserite il nome del servizio che desiderate.

Se il servizio viene registrato correttamente viene visualizzato il messaggio di conferma "The service was successfully added!".

-2- Accedere al registro di sistema (regedit):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\serviceName

Dal menu MODIFICA selezionare la voce AGGIUNGI CHIAVE quindi inserire il nome "Parameters".

-3- Accedere alla chiare "Parameters" appena creata:

Dal menu MODIFICA selezionare la voce AGGIUNGI VALORE di tipo STRINGA e compilare i campi:

nome valore: Application
dati valore: "C:\Program Files (x86)\Java\bin\javaw.exe"

Il valore di Application deve essere il pathname completo del software javaw.exe, ovunque esso sia non per forza nel path in esempio. Ricordatevi il carattere (") per pathname con spazi.

Aggiungere un nuovo valore stringa:

nome valore: AppParameters
dati valore: -jar "C:\MYAPPLICATION\myjavajar.jar"

In questo caso viene definito al software javaw di eseguire il file jar indicato.

Infine aggiungere l'ultimo valore stringa:

nome valore: AppDirectory
dati valore: "C:\MYAPPLICATION"

In questo passo viene indicato all'applicazione di lavorare nel dominio esclusivo di questa directory.

-4- Aprire la finestra dei servizi (services.msc) ed impostare il servizio creato come Automatico quindi premere avvio.

Nessun commento:

Posta un commento