您的位置:首页 > 其它

JXTA HelloWorld on JXSE 2.5 【二】

2008-07-08 18:02 453 查看
上一篇介绍了《JXTA技术手册》中的第一个Hello World的调通的过程。整个程序中,最核心的代码就是调用NetPeerGroupFactory()方法,该方法将在当前目录寻找配置文件,若没有,则运行JXTA配置管理器,若配置信息装载完,应用程序将使用PDP来定位NetPeerGroup,然后加入。若无法定位,则开启一个新的NetPeerGroup。

下面我们将上一篇的Hello World进行改进,加入对等组信息的查看。其实很容易,每一个对等组类PeerGroup都可以调用自身的getXXX()方法来获取这样的信息。看看我们的代码转为什么样:

import net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.NetPeerGroupFactory;
import net.jxta.exception.PeerGroupException;
import net.jxta.peergroup.PeerGroupID;
import net.jxta.peer.PeerID;
// Service needed packages
import net.jxta.discovery.DiscoveryService;
import net.jxta.pipe.PipeService;
import net.jxta.membership.MembershipService;
import net.jxta.resolver.ResolverService;

public class HelloWorld {

static PeerGroup group = null;

public static void main(String args[]) {

HelloWorld myapp = new HelloWorld();
myapp.startJxta();
System.exit(0);
}

private void startJxta()
{
try
{
// Create and start the default JXTA NetPeerGroup
group =(new NetPeerGroupFactory()).getWeakInterface();
} catch(PeerGroupException e)
{
// Could not instantiate the group; print the stack and exit
System.out.println("fatal error: creating the net PeerGroup");
System.exit(1);
}
System.out.println("Started Hello World");

// Now we'll access the peer group service
// and get various information from it
PeerGroupID pgid = group.getPeerGroupID();
System.out.println ("pgid = " + pgid);

PeerID pid = group.getPeerID();
System.out.println("pid = " + pid);

String name = group.getPeerName();
System.out.println("peer name = " + name);

// Get the core services. But we won't use them here :)
DiscoveryService disco = group.getDiscoveryService();
PipeService pipe = group.getPipeService();
MembershipService member = group.getMembershipService();
ResolverService resolv = group.getResolverService();

}
}

 注意我们又import了几个包,并且在startJxta()方法中加入了获取对等组信息的方法。运行结果如下:

Started Hello World

pgid = urn:jxta:jxta-NetGroup

pid = urn:jxta:uuid-59616261646162614A787461503250334529497D56F542DEBC19E35D6EA088A903

peer name = imsherry

*前提是我们已经按照上一篇进行了配置。

现在的Hello World已经是一个比较完整的JXTA应用程序了,但是它只能够起到了解JXTA大致结构的功效,没有任何实际意义。我的意思是,目前不能够利用JXTA平台的特性进行操作,还不能算是真正利用了JXTA。因此后续我们会继续研究JXTA的更多的例子。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息