Domanda

Come potrei scrivere un po 'di codice per consentire l'accesso a una classe Java nel mio webapp dalla riga di comando.

es. Ho una classe java con interfaccia a riga di comando, che può eseguire codice nel contesto della webapp, con accesso al DB ecc. Voglio accedere al computer che ospita la mia app WARred in tomcat ed essere in grado di interagire con essa

Dove dovrei iniziare a cercare?

Grazie

È stato utile?

Soluzione

Vuoi solo eseguire i file di classe che sono così raggruppati in WAR, o vuoi interagire con l'istanza WAR effettiva e in esecuzione? Se il primo, allora il WAR è solo un normale file Jar e puoi eseguirne le classi proprio come qualsiasi altro file Jar.

Se vuoi interagire con il WAR in esecuzione, allora potresti voler guardare JMX.

Tutti gli attuali JDK (almeno 1.5+) vengono forniti con JMX "gratuitamente". È facile creare piccole classi di interfaccia da utilizzare come comandi per interagire con WAR.

Quindi dovresti creare un programma a riga di comando che si collega a WAR tramite JMX, oppure puoi usare uno strumento come JConsole (che viene fornito con JDK, ma è una GUI) per interagire con la tua istanza. Esistono anche altri client JMX.

Se nulla di tutto ciò è attraente, ci sono sempre servizi web.

Altri suggerimenti

Un suggerimento: La classe dell'interfaccia della riga di comando deve accettare un InputStream come input e fornire un OutputStream (non può codificare l'output su System.out e l'input su System.in) in cui verrà scritto l'output. Quindi dovrai scrivere una classe server che ascolta le connessioni su una determinata porta. Quando viene stabilita una connessione, il server prenderà InputStream dalla connessione e lo assegnerà alla classe della riga di comando che fornirebbe a OutputStream i dati scritti su che saranno passati al client che ha effettuato la connessione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top