通过wtc使tuxedo与weblogic通信开发

发布时间 : 星期一 文章通过wtc使tuxedo与weblogic通信开发更新完毕开始阅读

try

{

tuxConn = this.setUpConnection();

}

catch (TPException e)

{

System.out.println(\

throw e;

}

try

{

tuxRtn=tuxConn.tpacall(service_name,in_params, ApplicationToMonitorInterface.TPNOTIME);

}

catch (TPReplyException tre)

{

System.out.println(\

throw tre;

}

catch (TPException te)

{

System.out.println(\

throw te;

}

catch (Exception ee)

{

System.out.println(\

throw new TPException(TPException.TPESYSTEM, \

}

return tuxRtn;

}

函数Tpgetrply

public TypedFML32 Tpgetrply(CallDescriptor cd) throws TPException, TPReplyException

{

Reply tuxRtn = null;

TypedFML32 result = null;

try

{

if (tuxConn == null) tuxConn = this.setUpConnection();

}

catch (TPException e)

{

System.out.println(\

throw e;

}

try

{

tuxRtn = tuxConn.tpgetrply(cd, ApplicationToMonitorInterface.TPNOTIME);

}

catch (TPReplyException tre)

{

System.out.println(\

throw tre;

}

try

{

result = (TypedFML32)tuxRtn.getReplyBuffer();

}

catch (Exception e)

{

System.out.println(\

result = null;

}

tuxConn.tpterm();

return result;

}

关于避免调用超时

有时Tuxedo service需要做时间较长的处理,超过了tuxedo默认的调用超时

时间,为了避免超时需要使客户端一直阻塞知道服务器端service返回结果;在传统tuxedo的c语言程序客户端可以指定tp(a)call函数的第6个参数flag为TPNOTIME,此时客户端如果有阻塞条件存在,客户端会一直阻塞即使超时也不返回;但通过weblogic的java客户端如果想要达到这个目的,如果采用异步tpacall调用,不仅仅要在tpacall中指定flag值为ApplicationToMonitorInterface.TPNOTIME,在tpgetrply等待结果时也同样需要指定第2个参数为ApplicationToMonitorInterface.TPNOTIME,否则仅在tpacall中指定不能达到避免超时的目的.

编写ejb客户端

联系合同范文客服:xxxxx#qq.com(#替换为@)