TAO 处理接口访问超时例程
来源:互联网 发布:bootstrap获取tr数据 编辑:程序博客网 时间:2024/05/06 17:38
TAO 处理接口访问超时例程
在CORBA中有时需要判断接口访问是否超时,因为接口之间访问往往是同步操作,没有超时机制的话调用者很容易阻塞,下面例子可以帮助我们解决这个问题:
#include "helloC.h"
#include "ace/Profile_Timer.h"
#include "tao/Messaging/Messaging.h"
#include "tao/Messaging/TAO_ExtC.h"
#include
#include
#include
ACE_Profile_Timer timer; //定时器
TimeBase::TimeT timeout = 6*1000*10000; //超时6秒
int main(int argc, char ** argv)
{
CORBA::ORB_var orb;
if (argc < 2) {
printf("usage: %s
return -1;
}
orb = CORBA::ORB_init(argc,
argv,
0
ACE_ENV_ARG_PARAMETER);
if (CORBA::is_nil(orb.in()))
return -1;
CORBA::Object_var obj = orb->string_to_object(argv[1] ACE_ENV_ARG_PARAMETER);
if (CORBA::is_nil(obj.in()))
return -1;
/*获取ORB的策略对象*/
CORBA::Object_var objPolicy = orb->resolve_initial_references("PolicyCurrent"
ACE_ENV_ARG_PARAMETER);
CORBA::PolicyCurrent_var policyCur =
CORBA::PolicyCurrent::_narrow (objPolicy.in () ACE_ENV_ARG_PARAMETER);
/*设置超时*/
CORBA::Any anyTm;
anyTm <<= timeout;
/*设置ORB策略*/
CORBA::PolicyList policy_list(1);
policy_list.length (1);
policy_list[0] = orb->create_policy (Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE,
anyTm
ACE_ENV_ARG_PARAMETER);
policyCur->set_policy_overrides (policy_list,
CORBA::ADD_OVERRIDE
ACE_ENV_ARG_PARAMETER);
policy_list[0]->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
timer.start(); //启动定时器
ACE_TRY
{
Hello_var hello = Hello::_narrow(obj.in());
CORBA::String_var msg;
hello->message(msg); //访问服务接口
std::cout<
timer.stop();
ACE_Profile_Timer::ACE_Elapsed_Time el;
timer.elapsed_time (el);
printf("elapse time is %d/n", el.real_time);
}
ACE_ENDTRY;
orb->destroy();
return 0;
}
- TAO 处理接口访问超时例程
- PHP处理后端&接口访问超时
- 针对http接口访问超时处理
- 调用接口超时处理方案
- opencv python接口 像素访问例程
- 进程访问外部接口的超时设置
- java 接口方法超时异常处理 设置超时时间
- php处理调用外部接口超时
- 【原创】PHP访问MySQL查询超时处理
- PHP访问MySQL查询超时处理
- PHP访问MySQL查询超时处理
- PHP访问MySQL查询超时处理
- PHP访问MySQL查询超时处理
- PHP访问MySQL查询超时处理
- 代码片断:TAO中设置ORB超时
- 代码片断:TAO中设置ORB超时
- 第三方支付接口响应超时处理方法
- HttpClient超时机制(安全问题处理:访问超大文件控制)
- TTY终端设备文件接口的基本结构
- 入室抢劫
- How to install TestNG plugin into eclipse3.4
- 2008相当强悍的100句话
- 产生一串字符的Code128码
- TAO 处理接口访问超时例程
- 项目js暂存2
- 单态设计模式(Singleton Pattern)
- 请大家看一下一个c语言中的链表问题,下面的代码是有错误的!!请大家说出错误的原因,以及修改的方法!!!
- ASP.NET URL Rewrite. URL重写
- ASP.NET 2.0数据库高级编程(事务概述 )
- 微软面试题(以前从某人blog看到,收藏了)
- D3D初步1
- Java面试经典试题及答案