JXTA com CMS

0 respostas
G

Estou tentando executar um exemplo de compartilhador de arquivos que Utiliza JXTA com CMS, no entanto não tenho sucesso quando se trata da busca do arquivo (note que a publicação ocorre corretamente).

como posso resolver este problema.

import java.io.File;
 
 import net.jxta.peergroup.NetPeerGroupFactory;
 import net.jxta.peergroup.PeerGroup;
 import net.jxta.share.CMS;
 import net.jxta.share.ContentAdvertisement;
 import net.jxta.share.ContentManager;
 import net.jxta.share.client.CachedListContentRequest;
 
 
 public class ClasseExemplo{
 	
 	private CMS cms = null;
 	private PeerGroup peerGroup = null;
 	private int numeroPublicacoes = 0;
 	
 	
 	public ClasseExemplo(File file, String nomeBusca){
 		startJXTA();
 		iniciaSessaoCMS();
 		publicaArquivo(file);
 		verificaPublicacao();
 		iniciaBusca(nomeBusca);
 	}
 	
 	
 	public void startJXTA(){
 		System.out.print("Iniciando JXTA ... ");
 		try {
 			peerGroup = new NetPeerGroupFactory().getInterface();
 		} catch (Exception e) {
 			System.out.println("Falhou");
 			e.printStackTrace();
 			System.exit(1);
 		}
 		System.out.println("[OK]");
 	}
 	
 	
 	public void iniciaSessaoCMS(){
 		System.out.print("Iniciando Sessão CMS ... ");
 		try {
 			cms = new CMS();
 			cms.init(peerGroup, null, peerGroup.getPeerGroupAdvertisement());
 			cms.startApp(new File("cliente"));
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 		System.out.println("[OK]");
 	}
 	
 	
 	public void publicaArquivo(File file){
 		System.out.print("Publicando arquivo ... ");
 		try {
 			ContentManager contentManager = cms.getContentManager();
 			numeroPublicacoes = contentManager.getContent().length;
 			contentManager.share(file);
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 		System.out.println("[OK]");
 	}
 	
 	public void verificaPublicacao(){
 		System.out.print("Verificando a publicação do arquivo ... ");
 		try {
 			ContentManager contentManager = cms.getContentManager();
 			if(contentManager.getContent().length > numeroPublicacoes){
 				System.out.println("[Confirmada]");
 				System.out.println("\t Existem "+contentManager.getContent().length+" publicações.");
 			} else {
 				System.out.println("[Não Confirmada]");
 			}
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 	}
 	
 	public void iniciaBusca(String fileName){
 		System.out.print("Iniciando Busca ... ");
 		try{
 			ListRequestor requestor = new ListRequestor(peerGroup,fileName);
 			requestor.activateRequest();
 			requestor.getResults();
 			System.out.println("[OK]");
 		} catch (Exception e) {
 			System.out.println("[Falhou]");
 			e.printStackTrace();
 			System.exit(1);
 		}
 	}
 	
 	/**
 	 * Metodo Principal da Classe
 	 */
 	public static void main(String[] args){
 		File file =  new File("D:/Documentos/espanhol.txt");
 		String nomeBusca = "espanhol.txt";
 		
 		new ClasseEcemplo(file, nomeBusca);
 	}
 }
 
 class ListRequestor extends CachedListContentRequest{
 
 	public ListRequestor(PeerGroup group, String nomeBuscar) {
 		super(group, nomeBuscar);
 	}
 	
 	
 	public void notifyMoreResults(){
 		try {
 			ContentAdvertisement[] searchResults = getResults();
 			System.out.println("Número de arquivos encontrados: "+searchResults.length);
 		} catch (Exception e) {
 			System.out.println("FAlha no sistema");
 			e.printStackTrace();
 			System.exit(1);
 		}
 	}
 	
 	public void notifyDone() {
 		System.out.println("Requestor done");
 	} 
 	
 }
Criado 4 de julho de 2007
Respostas 0
Participantes 1