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客户端
关键函数介绍:
Public int selectService ();
连接weblogic server,调用具体的函数调用tuxedo service.
Public int callTestService(String service_name);
根据输入参数学号,调用tuxedo service,获得返回结果学生姓名和年龄.
关键函数代码
函数selectService
import weblogic.wtc.jatmi.Ferror;
import weblogic.wtc.jatmi.TypedFML32;
import weblogic.wtc.jatmi.CallDescriptor;
Public int selectService ()
{
try
{
…连接weblogic server…………
obj = ctx.lookup(ejb的jndiname);
}
catch (Exception e)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库通过wtc使tuxedo与weblogic通信开发(5)在线全文阅读。
相关推荐: