Peer-to-Peer di JMS e il PublishSubscribe |
|
|
Peer-to-Peer (P2P)
|
Il problema con un termine generico come la computazione della rete del Peer-to-Peer (P2P) � che significa inevitabilmente le cose differenti alla gente differente ed in modo da troverete il termine applicato ad una variet� di sistemi. Per esempio, troverete il termine applicato a:
Sistemi centralizzati dove ogni pari collega ad un assistente che coordina e controlla la comunicazione.
Sistemi decentralizzati, dove i pari funzionano indipendentemente senza l'esigenza dei servizi centralizzati.
I sistemi in cui i pari collegano ad un assistente per scoprire altri pari, ma allora controllano la comunicazione essi stessi di Brokered.
Il progetto JXTA definisce un insieme dei protocolli che possono essere usati per costruire i sistemi del Peer-to-Peer usando c'� ne del centralizzato di, brokered e decentralizzato i metodi. J2EE � inteso per il assistente-lato che computa, che suggerisce che pi� � adatto per un sistema centralizzato del Peer-to-Peer . Un buon senso ottenere un apprezzamento migliore delle differenze � studiare un'applicazione semplice di esempio. Questo primo articolo introdurr� una domanda molto semplice di chiacchierata di JMS di scambio di messaggi fra gli utenti. La scelta di un'applicazione di chiacchierata � intenzionale perch� il progetto JXTA gi� fornisce un'applicazione di dimostrazione denominata myJXTA (che inoltre � conosciuto dal relativo nome precedente di InstantP2P) che include una possibilit� specializzata di chiacchierata.
|
codice di esempio del Peer-to-Peer usando JMS
|
L'applicazione di chiacchierata di JMS � stata schierata ed esaminato usando il Java 2 SDK, la versione 1.3 dell'edizione di impresa cos� questo sono l'ambiente che sar� presupposto. Per fare funzionare l'esempio di JMSChat dovete installare l'ultima versione del Java 2 SDK, la versione 1.3 dell'edizione di impresa. Dovreste in primo luogo installare la versione richiesta del Java 2 SDK, edizione standard, se non gi� installato. I collegamenti alle posizioni adatte sono dati qui sotto:
Questa sezione contiene le istruzioni su come generare e fare funzionare un programma semplice di chiacchierata di JMS. � un adattamento della pubblicazione/si abbona (pubblicazione/sommergibile) l'esempio fornito dalla lezione privata di JMS. Prima che possiate fare funzionare l'esempio, dovete assicurarti che il vostro ambiente � regolato giustamente. La tabella 1 mostra come regolare le variabili di ambiente state necessarie per fare funzionare le applicazioni di J2EE su Windows e sulle piattaforme dell'UNIX.
Java 2 SDK, Enterprise Edition Version 1.3.. Ed il Java 2 SDK, Standard Edition
|
Scrittura del programma del cliente di chiacchierata
|
Il cliente di JMSChat � un programma multi-filettato del Java che usa una pubblicazione/soggetto secondario per i messaggi di broadcasting a tutti gli abbonati al soggetto. Usa i filetti separati per i messaggi di pubblicazione al soggetto e per la ricezione dei messaggi dal soggetto. Questi filetti sono effettuati dal codice categoria di JMSChatThread.
Il filetto di pubblicazione fa quanto segue:
- Effettua un'occhiata di JNDI del TopicConnectionFactory e del soggetto
Genera un collegamento e una Session
Genera un TopicPublisher
Genera un TextMessage
Pubblica i messaggi al soggetto
Chiude il collegamento, che chiude automaticamente la Session e il TopicPublisher
Il filetto di ricezione fa quanto segue:
Effettua un'occhiata di JNDI del TopicConnectionFactory e del soggetto
Genera un collegamento e una Session
Genera un TopicSubscriber
Inizia il collegamento, inducente la consegna del messaggio a cominciare
Aspetta di sentire i messaggi pubblicati al soggetto
Chiude il collegamento, che chiude automaticamente la Session e il TopicSubscriber
|
Pubblicare/abbonar (pubblicazione/sommergibile)
|
Una pubblicazione/applicazione secondaria ha le seguenti caratteristiche:
- Una pubblicazione/produttore secondario � editore
- Un messaggio pu� avere abbonati multipli
- Una pubblicazione/destinazione secondaria � un soggetto
- Una pubblicazione/consumatore secondario � un abbonato
Un'applicazione del bollettino del email pu� usare una pubblicazione/si abbona il modello. Tutto che sia interessato nel bollettino diventa un abbonato e quando un nuovo messaggio � pubblicato (dire che la testa dell'ora spedisce il nuovo Info), che il messaggio � trasmesso a tutti gli abbonati.
|
Scrittura la pubblicazione/programmi secondari del cliente. Il programma di pubblicazione (SimpleTopicPublisher.java) effettua le seguenti operazione:
Effettua l'occhiata di JNDI api del TopicConnectionFactory e dei soggetti.
Genera i collegamenti e sessioni.
- Genera il TopicPublisher.
- Genera il TextMessage.
Pubblica uno o pi� messaggi ai soggetti.
Chiude il collegamento, che chiude automaticamente la Session e il TopicPublisher.
Il programma di ricezione (SimpleTopicSubscriber.java) effettua le seguenti operazione:
Effettua l'occhiata di JNDI api del TopicConnectionFactory e dei soggetti.
- Genera il collegamento e sessioni.
- Genera il TopicSubscriber.
Genera un caso del codice categoria di TextListener e lo registra come l'ascoltatore del messaggio per un TopicSubscriber.
Inizia il collegamento, inducente la consegna del messaggio a cominciare.
Aspetta di sentire i messaggi pubblicati al soggetto, arrestantesi quando l'utente entra nelle lettere (caratteri) q o Q (rinunciata).
Chiude il collegamento, che chiude automaticamente la Session e il TopicSubscriber.
L'ascoltatore del messaggio (TextListener.java) segue questi punti:
Quando il messaggio arriva, il metodo di onMessage � denominato automaticamente.
Il metodo di onMessage converte il messaggio ricevuto in TextMessage e visualizza il relativo soddisfare adatto.
|
|
|
Keywords:
JMS Peer-to-Peer and the PublishSubscribe,jms web services,jms sample code,open source jms,jms web service,websphere mq jms,file sharing peer,jms api,jms architecture,jms examples,jms session,jms jdbc,peer music,jndi jms,jms database,bea jms,ibm jms,using jms,jms connection,jms queue,peer software,remote jms,p2p peer,peer program,peer network,java to,c# to.
|