Vale la pena passare dall'interfaccia di comando remota locale all'utilizzo di JMX

2

Senza sapere troppo su JMX, ho sempre pensato che sarebbe stato l'approccio migliore per la creazione in gestione remota della nostra applicazione server Java standalone. La nostra applicazione server ha alcune funzionalità di controllo remoto minime, utilizzando comandi di testo inviati tramite socket TCP / IP ad esso.

Usando l'approccio nazionale, è abbastanza per aggiungere un nuovo comando. (Basta creare un nuovo comando e il codice per gestirlo nel ricevitore del messaggio). D'altra parte, non abbiamo praticamente implementato alcun comando, anche se ci sono molte cose che vorremmo essere in grado di eseguire da remoto.

Sto cercando di valutare il valore del passaggio a incorporare JMX (imparandolo e costruendo le interfacce), invece di limitarmi all'approccio interno. Qualcuno ha qualche esperienza o consiglio riguardo la modifica di un'applicazione esistente per usare JMX?

    
posta Sam Goldberg 23.03.2012 - 16:45
fonte

1 risposta

2

Buona domanda.

Prima di tutto la risposta è abbastanza semplice per me. Passa a JMX per diversi motivi.

  1. Esistono molte implementazioni JMX comprovate e stabili che puoi semplicemente utilizzare per avviare la tua applicazione e non devi veramente mantenere il tuo codice per supportare diverse operazioni.
  2. JMX è un modello molto semplice in cui si ha MBeanServer che ospita un gruppo di servizi / MBean con proprietà e metodi.
  3. Questi servizi / MBean sono esposti da MBeanServer in un modo agnostico del protocollo.
  4. Se è necessario connettersi a MBeanServer usando protocolli diversi, si tratta semplicemente di creare adattatori.

Per rispondere alla tua altra domanda, è facile migrare a JMX, la risposta è che tutto dipende. Se abbastanza semplice eseguire la migrazione delle implementazioni / servizi a MBean ed esporre solo ciò che si desidera, ma la parte difficile potrebbe essere il modo in cui ci si connette a tali servizi. Quindi i clienti potrebbero dover riscrivere parte del codice.

Spero che questo aiuto!

Buona fortuna.

    
risposta data 24.03.2012 - 02:21
fonte

Leggi altre domande sui tag