高手请进来坐一坐
我现在在做一个接口系统时遇到了一个难题,这个接口系统是用ejb2.0来开发的,该系统起到连接A系统和B系统的桥梁作用,是通过接口系统做协议解释和转接的功能。
当A系统向接口系统发起请求时,接口系统向B系统请求资源数据,如果B系统没有及时返回给接口系统数据,接口系统需要自动等待一段时间间隔,然后再发起请求资源的请求,接口系统统收到数据后,再返回给A系统,要求这一连串的操作都是串行的操作。也就是A向接口系统发请求时,在接口系统向B请求数据的时候,A一直处在等待阶段,直到接口系统返回给A系统数据,A系统才可以去做另外一件事情。
可问题出在session ejb无法继承一个Thread,因此无法在一个线程内去等待。如果是用session bean调用一个多线程的javabean,但好象根本达不到目的,因为在session bean内部根本就不会去等待。
请问大家有什么好的办法能做到这一点?
问题点数:100、回复次数:7Top
1 楼lydvqq(碧水情缘♀黑哥)回复于 2006-03-03 21:26:11 得分 0
看来我只能UP了Top
2 楼treeroot(旗鲁特)回复于 2006-03-04 11:03:37 得分 0
有点晕呀,同步还是异步呀
调用没有返回不就是等待吗Top
3 楼nirendao(雷老虎)回复于 2006-03-04 11:15:49 得分 0
既然邀请了,就进来坐下哈。Top
4 楼wenm_owen(星星)回复于 2006-03-04 12:31:05 得分 0
可以考虑用 Timer 或者 开源 的 quartzTop
5 楼doway(john)回复于 2006-03-04 12:50:59 得分 0
是哦,不返回就是等待。Top
6 楼yeshucheng(叶澍成★七哥)回复于 2006-03-04 18:11:02 得分 0
楼主讲述的不是很清楚Top
7 楼HenirichMarx(井中月)回复于 2006-03-04 19:28:46 得分 0
我看楼主的意思是a一直在等,似乎性能也没有要求。那最好给a系统一个客户端,双方采用消息方式通信。客户端发送请求消息后,在队列后者主题上等待接收。服务端可以将向b系统请求的状态保存(slsb写入数据库),用 Timer 或者 开源 的 quartz一段时间后执行定时任务,将结果作为消息发送到a系统。
不知可否?Top




