绑定远程对象:
public static void main(String[] args) {
try {
// 8步 : 初始化---根---策略----子POA---伺服---激活---激活---监听
//初始化
org.omg.CORBA.ORB orb=org.omg.CORBA.ORB.init(args, null);
//根
org.omg.PortableServer.POA rootPOA=
POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
//策略
org.omg.CORBA.Policy[] policies=
{rootPOA.create_lifespan_policy(
LifespanPolicyValue.PERSISTENT)};
//有 根和策略 创建子POA
org.omg.PortableServer.POA agendaPOA=
rootPOA.create_POA("AgendaPOA",
rootPOA.the_POAManager(), policies);
//伺服
AgendaCORBAImpl agendaServant=new AgendaCORBAImpl();
//激活 伺服
agendaPOA.activate_object_with_id(
"AgendaManager".getBytes(), agendaServant);
//激活 POA管理器
rootPOA.the_POAManager().activate();
System.out.println("Server has ready ...");
//循环监听
orb.run();
} catch (Exception e) {
e.printStackTrace();
}
}
获取远程对象
private static IAgenda getAgenda(String[] args) {
try {
//初始化
org.omg.CORBA.ORB orb=org.omg.CORBA.ORB.init(args,null);
//查找
IAgenda agenda=
IAgendaHelper.bind(
orb,"/AgendaPOA","AgendaManager".getBytes());
return agenda;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
获取数据库连接:
DBConnectionFacade.java
/**
* Gets the database connection from current active connection provider.
* @return the connection
*/
public static Connection getConnection() throws DBConnectionException{
if (connProvider==null) {
synchronized (initLock) {
if (connProvider==null) { resourceBundleUtil=
ResourceBundleUtil.getResourceBundleUtil(Lables);
String providerClassName=
resourceBundleUtil.getString("provider.calss");
if (providerClassName!=null
&&providerClassName.length()==0) {
try {
Class providerClass=
Class.forName(providerClassName);
connProvider=(DBConnectionProvider)
providerClass.newInstance();//动态装载
} catch (Exception e) {}//这里删去处理异常的代码
}
else {
connProvider = new DBConnectionDefaultPool(resourceBundleUtil);
}
connProvider.initProvider();
}
}
}
return Connection conn=connProvider.getConnection();//这里删去处理异常的代码
}
接口DBConnectionProvider的默认实现类DBConnectionDefaultPool.java
/**
* initial the connection pool.
*
* @see Database.DBConnectionProvider#initProvider()
*/
public void initProvider() throws DBConnectionException {
// set Lock to prevent a connection be returned.
synchronized (initLock) {
// Get properties
String driver = resourceBundleUtil.getString("driver");
String server = resourceBundleUtil.getString("server");
String username = resourceBundleUtil.getString("username");
String password = resourceBundleUtil.getString("password");
// System.out.println(driver+ server+ username+password);
int minConnections = 0, maxConnections = 0;
double connectionTimeOut = 0.0;
try {
minConnections = Integer.parseInt(resourceBundleUtil.getString("minConnections"));
maxConnections = Integer.parseInt(resourceBundleUtil
.getString("maxConnections"));
connectionTimeOut = Double.parseDouble(resourceBundleUtil
.getString("connectionTimeOut"));
} catch (Exception e) {
throw new ResourceBundleNotFoundException(
"Could not parse default pool properties. "
+ "Make sure the values exist and are correct.",
e);
}
String logPath = resourceBundleUtil.getString("logPath");
try {
connectionPool = new ConnectionPool(driver, server, username,
password, minConnections, maxConnections, logPath,
connectionTimeOut);
} catch (IOException e) {
// "Error starting DbConnectionDefaultPool: "
// throw new ConnectionPoolInitPool("Cannt found properties");
e.printStackTrace();
}
}
}
public Connection getConnection() throws DBConnectionException {
if (connectionPool == null) {
// Block until the init has been done.
synchronized (initLock) {// waitting for init.
if (connectionPool == null) {
// Something has gone wrong.
return null;
}
分享到:
相关推荐
山东大学中间件实验,基于corba技术开发一个考试查询系统,实验报告
基于CORBA的分布式程序设计(入门与提高),文档来自百度文库。
本程序主要是讲CORBA分布式资源池实现(jdk1.3):资源池机制应用于一个CORBA 应用程序的服务端,通过使用一个CORBA 对象实例池(instance pool)提高CORBA 应用程序服务端的系统性能
面向对象的分布式应用系统一方面提升了系统的可扩展性和可成长性,同时又带来了系统管理和维护的复杂化。介绍了一种基于CORBA的分布式服务对象监测系统,并详细讨论了相关概念、原理和实现的关键技术。
本文结合CORBA技术、数值计算方法、OpenGL图形仿真技术,以C++Builder为开发工具开发了基于CORBA的分布式多连杆仿真系统,实现了分布式环境下的多连杆系统的分析、仿真及灵敏度分析,用户可以在客户端提供相应参数,由...
基于CORBA的分布式数据库系统开发技术.pdf
简单的银行系统,基于OMG(Object Management Group,对象管理组织)CORBA规范的集成中间件。客户端,服务端程序。简单让你很快理解CORBA分布式流程~适合新手~~~~
CORBA(Common Object Request Broker Architecture,公用对象请求代理体系结构)是一种规范,定义了分布式对象如何实现互操作。这篇文章对其进行了详细的描述。
分布式计算——CORBA客户服务器编程,学习CORBA客户/服务器编程。
基于CORBA技术的分布式智能网分布式课堂论文
关于CORBA的圣经:) 分布式系统 并发 系统集成
基于Corba的平台分布式应用程序开发
rmi corba 基于JAVA的分布式系统
该文提出了一个新的基于 CORBA的分布式网络管理体系结构 DiNM/CORBA,采用 Java和 JMAPI技术将 CORBA计算环境和SNMP网络管理环境无缝地集成起来,使 CORBA环境的服务对象可以直接访问 SNMP代理的信息。文中论述了系统...
基于CORBA_JAVA RMI的分布式系统应用研究
JAVA CORBA创建分布式对象系统,CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构
本文分析了当前主流网管系统的不足之后,给出了基于CORBA的分布式网管系统模型,并进一步阐述了分布对象技术(CORBA)在网管领域的应用优势。
#资源达人分享计划#
使用CORBA写一个分布式应用程序,包括用户登录、回话建立、回话查询等简单功能。
#资源达人分享计划#