Che cosa è host multihomed in Java?

February 17

Un host multihomed è un computer o altro hardware che mantiene più di un indirizzo IP. Avere più indirizzi IP non è insolito perché l'indirizzo si riferisce all'interfaccia Internet, non la macchina: Un computer che ha sia una Ethernet e una connessione internet Wi-Fi ha un indirizzo IP diverso per ogni interfaccia. Utilizzando un computer multihomed può influenzare il modo Java Virtual Machines interagiscono tra loro.

RMI

Remote Method Invocation è un'interfaccia di programmazione delle applicazioni Java che consente di Java virtual machine - basato su Java piattaforme di calcolo - fanno uso di software altrui. Se uno sviluppatore installa il proprio programma su una macchina Java, che può condividere con altri sviluppatori e fornire loro tutti gli aggiornamenti che fa, ma che può prendere un sacco di tempo. RMI rende più facile: Una volta che installa gli aggiornamenti nella directory Web, RMI consente alle altre macchine virtuali per ottenere gli aggiornamenti senza lo sviluppatore fare qualsiasi ulteriore lavoro.

invocare

Per interagire con un oggetto remoto - un pezzo di software ospitato su un'altra macchina Java - utilizzando RMI, il primo passo è di solito per connettersi con un "stub" in un registro RMI. Lo stub contiene dati identificativi per la macchina host tenendo l'oggetto remoto, per la porta su tale host dove RMI prende le richieste per accedere all'oggetto, e per l'oggetto stesso. Esso contiene anche una fabbrica presa, che è un programma RMI che controlla come Java macchine virtuali connettono all'oggetto.

Multihomes e RMI

Quando RMI cerca di recuperare un oggetto da un host Multihome, il processo diventa più complicato. Se il RMI sulla macchina Java identifica l'indirizzo Wi-Fi del proprio computer come host, computer collegati a voi in una rete Ethernet non possono utilizzare RMI per accedere a qualsiasi cosa sul computer. È possibile impostare RMI in modo che esso offre l'indirizzo Intranet, ma se volete altre macchine virtuali di accedere al vostro sia Wi-Fi ed Ethernet capacità di RMI, che ancora non è il giusto setup.

soluzioni

Per rendere utilizzabile RMI non importa quanto gli altri computer si connettono al vostro ospite, usa il fabbrica presa per controllare il collegamento. Utilizzando una variabile Java denominata ThreadLocal, si può dare la fabbrica presa un indirizzo IP che tutti i computer che utilizzano RMI devono connettersi. È inoltre possibile impostare Java in modo che fornisce altri computer con un elenco di tutti i possibili nomi host - tutti gli indirizzi IP sulla rete - e sceglie quella corretta da quella lista.