开篇:润墨网以专业的文秘视角,为您筛选了一篇JXTA的HelloWorld程序范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:当前基于P2P模式的开发与应用引起人们的广泛关注,jxta是SUN公司推出的,提供了一个构建跨平台、跨操作系统和跨编程语言的P2P网络应用程序的通用平台。文章介绍了JXTA的功能,详细分析JXTA平台的环境配置,及其基础上的helloworld程序的运行。
关键词:JXTA;P2P;JXTA configurator tool
中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)06-11635-02
1 引言
当前基于P2P模式的开发与应用引起人们的广泛关注,JXTA是SUN公司推出的项目,是一个为P2P计算设计的开放式网络计算平台。它提供了一个很薄的、通用的网络层,使得各种各样的P2P应用程序和服务都能够在非常不可靠且多变的网络环境中正常地运行。
JXTA协议:
要求使用任何一种特定的计算机语言或操作系统;
要求使用任何一种特定的网络传输或拓扑结构;
要求使用任何一种特定的验证、安全或加密模型;
要求使用任何一种特定的服务调用模型。
JXTA协议使开发者能够构建并部署可互操作的服务和应用程序,更进一步地引发了因特网上的P2P革命。JXTA项目的目的是提供一个简单而通用的P2P平台来容纳任何种类的网络服务。人们被它的这种开发理念深深吸引,但却都苦于很难入门,原因如下:
JXTA的相关书籍很少,中文书籍更是寥寥无几;
SUN公司网站上的英文内容,对于初学者较难理解、无从下手;
JXTA平台的初始环境配置比较复杂,阻止了进一步的深入学习;
下面将详细介绍windows环境下的JXTA平台配置以及在此平台下如何编译和运行应用程序。
2 软件要求与安装环境配置
建立JXTA平台需要如下步骤:
2.1 建立JAVA平台
下载j2sdk1.4.2_12或更高版本(可以从站点下载);双击可执行文件j2sdk-1_4_2_12-windows-i586-p.exe进行安装,默认安装到c:\j2sdk1.4.2_12目录;按照以下步骤配置JSDK运行环境。
第一步,右击桌面上【我的电脑】图标,在快捷菜单上点击【属性】,打开【系统属性】对话框,单击【高级】选项卡,选择【设备管理器】,弹出图1所示的【环境变量】窗口。
图1
第二步,在【系统变量】中新建JAVA_HOME变量,变量值为C:\j2sdk1.4.2_12。如图2所示。
图2
第三步,在【系统变量】中新建变量CLASSPATH,值为.;C:\j2sdk1.4.2_12\lib\dt.jar; C:\j2sdk1.4.2_12\lib\tools.jar; (注意前面要有点号和分号)。
第四步,选中【Path】,单击【编辑】,在【Path】变量值的末尾加上;C:\j2sdk1.4.2_12\bin; (注意前面要有分号)。
2.2 安装JAVA运行库。
从网站下载J2SE Runtime Environment 5.0 update 8 版本或更高版本;双击可执行文件进行安装,默认情况下,安装到C:\Program Files\Java\jre1.5.0-08目录下。
2.3 安装JXTA平台。
从网站下载jxta安装包(包中包含以下8个文件:bcprov-jdk14.jar、javax.servlet.jar、jdom.jar、jxta.jar、jxtaext.jar、log4j.jar、org.mortbay.jetty、swixml.jar),再将这8个文件分别拷贝到C:\Program Files\Java\jre1.5.0-08\lib\ext目录下和C:\j2sdk1.4.2_12\jre\lib\ext目录下即可。
3 运行JXTA应用程序
打开【开始】【程序】【附件】【记事本】,编写HelloWorld程序如下:
import java.io.StringWriter;
import net.jxta.peergroup.PeerGroup;
import net.jxta.peergroup.PeerGroupFactory;
import net.jxta.exception.PeerGroupException;
import net.jxta.document.Advertisement;
import net.jxta.document.StructuredTextDocument;
import net.jxta.document.MimeMediaType;
import net.jxta.discovery.DiscoveryService;
import net.jxta.pipe.PipeService;
import net.jxta.resolver.ResolverService;
import net.jxta.membership.MembershipService;
import net.jxta.peer.PeerID;
import net.jxta.peergroup.PeerGroupID;
import net.jxta.protocol.PeerGroupAdvertisement;
public class HelloWorld {
static PeerGroup group = null;
DiscoveryService disco;
ResolverService resolv;
PipeService pipe;
MembershipService member;
PeerGroupAdvertisement pgadv;
public static void main(String args[ ]) {
HelloWorld myapp = new HelloWorld();
myapp.startJxta();
System.exit(0); }
private void startJxta() {
try { group = PeerGroupFactory.newNetPeerGroup();
} catch (PeerGroupException e) {
System.out.println("Fatal error : creating the net PeerGroup");
System.exit(1);}
System.out.println("Started Hello World");
pgadv = group.getPeerGroupAdvertisement();
try {
StructuredTextDocument doc = (StructuredTextDocument)
pgadv.getDocument(new MimeMediaType("text/plain"));
StringWriter out = new StringWriter();
doc.sendToWriter(out);
System.out.println(out.toString());
out.close();
StructuredTextDocument adoc = (StructuredTextDocument)
pgadv.getDocument(new MimeMediaType("text/xml"));
StringWriter aout = new StringWriter();
adoc.sendToWriter(aout);
System.out.println(aout.toString());
aout.close();
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);
disco = group.getDiscoveryService();
pipe = group.getPipeService();
member = group.getMembershipService();
resolv = group.getResolverService();
System.out.println("All done");
} catch (Exception ex) {
ex.printStackTrace(); }} }
将此程序保存为C:\HelloWorld.java.
4 编译并执行HelloWorld程序
打开【开始】【程序】【附件】【命令提示符】,到HelloWorld.java程序所在目录C:\下执行(输入命令cd.. 或cd c:\),先编译(输入命令javac HelloWorld.java)、再执行(输入命令java HelloWorld),初次运行会弹出JXTA configurator tool窗口等待配置,输入对等体名称和密码(不少于8位),其他按照默认设置,单击“OK”按钮即可。运行过程和结果如图3所示:
图3
5 结束语
文章给出了windows环境下的JXTA平台配置,以及在此平台下如何编译和运行应用程序,为进一步研究jxta平台做了铺垫,使JXTA的应用得到推广。下一步的研究目标是在windows平台下,利用JXTA提供的强大开发包支持P2P应用开发,达到不同的P2P应用系统之间可以方便地交换数据。
参考文献:
[1]Scott Oaks,Bernard Traversat & Li Gong.JXTA技术手册[M].清华大学出版社,2004.
[2]唐春明.基于JXTA体系结构的P2P电子商务协作方式研究[D].合肥工业大学研究生部,2002.
[3]刘洛.基于JXTA的企业协同商务平台研究[D].浙江大学计算机学院,2005.
[4]李歆海.基于JXTA的P2P搜索网络研究[D].浙江大学计算机学院,2003.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。