分布式对话服务器的管理(4)
首先,对话服务器将获得Mnemosyne对象的一个实例,该实例被绑定到对话服务器的本地IP上。protected void bindMnemosyne()
{
file://得到Mnemosyne
Mnemosyne Mnemosyne = null;
try
{
Mnemosyne = MnemosyneFactory.getMnemosyne();
}
catch(RemoteException remoteException)
{
System.out.println("Internal error:");
System.out.println("Can@#t create a Mnemosyne");
System.exit(1);
}
// 把Mnemosyne绑定到MnemosyneImpl
try
{
String rmiURL = "//" + _localIP + "/MnemosyneImpl";
Naming.rebind(rmiURL, Mnemosyne);
}
catch(ArrayIndexOutOfBoundsException ArrayIndexOutOfBoundsException)
{
throw new IllegalArgumentException("LocalIP is invalid");
}
catch(MalformedURLException malformedURLException)
{
throw new IllegalArgumentException("LocalIP is invalid");
}
catch(RemoteException remoteException)
{
System.out.println("Internal error:");
System.out.println("Can@#t rebind a Mnemosyne to MnemosyneImpl");
System.exit(1);
}
}
通过把本地Mnemosyne上一系列代表RMI名字符号的URL赋予远程对话服务器,就能引发同步操作,这些URL存贮在一个被称作rmiURL的字符串数组中。在SessionServer的符号中,URL是作为参数从命令行命令中获得的,但它可以来自其他渠道:
protected void synchronizeMnemosyne()
{
file://获得本地Mnemosyne
Mnemosyne localMnemosyne = null;
try
{
localMnemosyne = (Mnemosyne) Naming.lookup(_localIP);
}
catch(Exception exception)
{
System.out.println("Internal error:");
System.out.println("Can@#t lookup local MnemosyneImpl");
System.exit(1);
}
file://获得同步用的远程Mnemosynes
Vector remoteMnemosynes = new Vector();
// _rmiURLS对象是代表需要进行同步的远程服务器的字符串数组
for(int index = 1;index < _rmiURLS.length;index++)
{
try
{
remoteMnemosynes.add(Naming.lookup(_rmiURLS[index]));
}
catch(Exception exception)
{
}
}
file:// 同步
try
{
if(remoteMnemosynes.size() > 1)
localMnemosyne.synchronize(remoteMnemosynes);
}
catch(Exception exception)
{
System.out.println("Internal error:");
System.out.println("Can@#t synchronize local MnemosyneImpl");
System.exit(1);
}
}
下一篇:分布式对话服务器的管理(5)
↓相关文章:
- · 分布式对话服务器的管理(5)
- · J2EE配置指南(1)
- · J2EE配置指南(2)
- · XML和J2EE的组合技术 (转)
- · Weblogic6.0部署和配置WEB应用程序(5)
- · 简析J2EE应用程序数据库类设计模式
- · 转贴:利用EJB创建CRM系统
- · 说明
- · 创建部署的xml文件和bat文件
- · 建立ejb各个接口和bean的大致框架的文件
- · to: jeru, 我对nucleus不清楚, 在此谈谈对ejb的感受
- · EJB核心技术及其应用(再续)
- · Weblogic6.0安装及配置(1)
- · Weblogic6.0 SP1的安装及配置
- · TOMCAT全攻略
- · J2EE建议的学习路线(一篇不错的谈个人学习方法的文章)
- · EJB的事务处理属性
- · JBUILDER6.0配置WEBLOGIC6.1全攻略
- · tomcat应用程序的手工装载和3种自动装载
- · WebLogic6.0中Ejb的使用
- · Weblogic6.0上Connection Pool、DataSource的创建与使用
- · Running The Tomcat 4.0(英文,关键部分译成了中文。)
- · Weblogic6.0部署和配置WEB应用程序(1)
- · Weblogic6.0部署和配置WEB应用程序(3)
- · Tomcat自动reload新的class的插件
- · 在Java中使用DES算法
- · WebLogic Server 性能调优
- · WebLogic Domain的定义,翻译出来大家交流,第一次作赏个脸:]
- · 手把手教您如何搭建WAP应用开发环境
- · J2ME三种低级用户界面事件处理技术比较
- · J2ME程序开发新手入门九大要点
- · J2ME游戏开发学习之用setClip分割图片
- · J2ME小tip:setClip方法的使用
- · 彻底解决J2ME中的中文问题
- · 在J2ME中实现欢迎界面(附源代码)
- · 怎样优化J2ME程序当中的paint()函数
- · J2ME中查表法使用三角函数
- · J2ME应用用户体验核对表(翻译)
- · 在J2ME手机程序开发中使用颜色
- · J2ME学习过程中的一点心得整理
- · 浅谈即时战略游戏J2ME中应用
- · 我的J2ME编程练习(7)——Canvas2
- · J2ME相关名词解释及概念阐述
- · 我的J2ME编程练习(4)——StringItem
- · 我的J2ME编程联系(2)——DateField

