上一篇介绍了《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的更多的例子。

JXTA HelloWorld on JXSE 2.5 【二】相关推荐

  1. JXTA HelloWorld on JXSE 2.5 【一】

    首先感叹一下关于JXTA的书籍实在是太少见了,我手头的<JXTA技术手册>中文版是清华大学出版社2004年4月第一版的4000册之一,到如今,2008年7月,仍然在JXTA陈旧的版本下指导 ...

  2. Informatica基础系列(一)——Helloworld

    目录: Informatica基础系列(零)--前言 Informatica基础系列(一)--Helloworld Informatica基础系列(二)--更新策略转换组件 Informatica基础 ...

  3. Informatica基础系列(二)——更新策略转换组件

    目录: Informatica基础系列(零)--前言 Informatica基础系列(一)--Helloworld Informatica基础系列(二)--更新策略转换组件 Informatica基础 ...

  4. 易语言入门-HelloWorld

    易语言入门--HelloWorld 一.创建工程 二.编辑修改主窗口 三.增加按钮点击事件 四.运行 一.创建工程 程序-新建-选择windows窗口程序 二.编辑修改主窗口 右侧工具箱,选择添加编辑 ...

  5. 二维码(带Logo)加密解密-QRCode方式

    二维码加密解密-QRCode QRCode生成和解析二维码的流程步骤在代码里面方便理解. 加密工具类 /** * Copyright © 2020wangylCompany. All rights r ...

  6. 解决方案、项目、程序集、命名空间

    一.解决方案.项目.程序集.命名空间 初学者很容易把这些概念搞混淆.先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件.在.Net下,一个项目可以表现为多种类型,如控制台应用程序 ...

  7. 【Groovy】字符串 ( 字符串注入函数 | asBoolean | execute | minus )

    文章目录 一.字符串注入函数 1.字符串转布尔值 asBoolean 函数 2.执行字符串对应命令 execute 函数 3.字符串减法 minus 函数 二.完整代码示例 一.字符串注入函数 Gro ...

  8. wsdl 与 soap协议详解

    一.WSDL语言:(web service definition language - web service定义语言) (一)简介: 1.wsdl 是全完基于xml 的,特别是xml schema. ...

  9. HarmonyOS之搭建和配置开发环境的流程

    一.搭建开发环境流程 DevEco Studio 支持 Windows 系统和 macOS 系统,在开发 HarmonyOS 应用前,需要准备 HarmonyOS 应用的开发环境.环境准备流程如下所示 ...

最新文章

  1. 7-7 12-24小时制 (C语言)
  2. windows环境下配置Jupyter+vim
  3. Thrift介绍以及Java中使用Thrift实现RPC示例
  4. Centos7 LAMP服务源码搭建
  5. vs编译应用程序不依赖运行vs环境
  6. mysql rr 更新失败_RR 级别下 update 操作的是快照读还是当前读?
  7. 解决openfire在使用MySQL数据库后的中文乱码问题(转)
  8. mysql命令 -a_mysql常用命令
  9. matlab势场动态栅格路径规划,融栅格法和人工势场法的机器人三维路径规划
  10. Mobilenet-ssd 目标检测
  11. 编辑表格用什么软件比较好?最好用的都在这了!
  12. 基于Java+Swing+Socket实现中国象棋-网络版
  13. FreeRTOS个人笔记-初谈CM3内核
  14. Java面向可复用性和可维护性的设计模式
  15. 获取随机数字且不重复
  16. Unity Shader学习:水墨效果
  17. Falcom:英雄传说系列
  18. 蒟蒻のpython(做个飞船大战小游戏)
  19. C#+AE开发TOCControl右键菜单打开属性表/图层目录右键功能
  20. Juniper SSG5--Fragmented traffic异常流量报错

热门文章

  1. 玩转Redis-干掉钉子户-没有设置过期时间的key
  2. 很火的华为太空表网站源码
  3. == 和 ===的区别
  4. Git安装包(win版)
  5. 【GitLens】VsCode插件,查看代码是谁写的
  6. IOS ReplayKit RPScreenRecorder 的屏幕录制功能
  7. Mac-Mac上如何制作GIF动图
  8. 联合应用开发 JAD
  9. 华为机试(扑克牌大小3.3)
  10. 实验三 迷宫游戏开发