ehcache如何在webService下应用

lk617238688 2010-05-04 10:06:07
请各位支招!
现在我的webService已转成了一个个java类,我只调用这些类来实现业务。问题是调用java类从webService拿数据时间长了,想用缓存!拜谢各位了
...全文
170 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lk617238688 2010-05-17
  • 打赏
  • 举报
回复
几天没来了,先谢谢各位了!
功能已完成,现在就结贴!
lk617238688 2010-05-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 carpandcat 的回复:]
Java从WebService拿数据时间长了?
WebService拿到数据不就是Java拿到数据?
你是不是指客户端调用的时候需要等待的时间长了?
[/Quote]
是这样,“客户端调用的时候需要等待的时间长了”。这个现在解决了,主要是定时刷新问题
guosystone 2010-05-05
  • 打赏
  • 举报
回复
1、你要先建立一个缓存bean放在spring容器里,或者自己用单例模式实现一个缓存接口EchcacheService。
2、在每个webservice客户对象做一个包装,比如webservices的客户对象是UserServiceClientBean,你可以再加个包装,比如EnUserServiceClientBean,然后你就只跟EnUserServiceClientBean打交道,用EnUserServiceClientBean去调用UserServiceClientBean对应的方法,知识在处理的时候要如下:
User getUser(String userId){
Object o = echcacheService.get("UserServiceClientBean.getUser");
if(o==0){
return userServiceClientBean.getUser(userId);
}
return (User)o;
}
或者你可以在spring的XfireFactoryBean实现自己代码,用于实现缓存功能。这样就可以避免前面类爆炸问题。
但是,你要注意了,你怎么去判定你的范存过期了么有呢?如果你为了不过期,你又要定时清空缓存或做其他同步工作,那就。。。。
呵呵。。自己权衡
鱼鱼 2010-05-05
  • 打赏
  • 举报
回复
客户端到WebService的时间超时,在客户端加缓存不能保证数据的有效性。
第一要解决的是连接时间过长的问题,这个要看你的网络或是其他
如果网络问题不能解决,看看能不能把同步的WebService操作改成异步的,以减少客户端的等待时间
  • 打赏
  • 举报
回复
给你友情一下吧……
liwenso 2010-05-04
  • 打赏
  • 举报
回复
反正都是通过业务类,在业务类这一层中去访问缓存吧。

鱼鱼 2010-05-04
  • 打赏
  • 举报
回复
Java从WebService拿数据时间长了?
WebService拿到数据不就是Java拿到数据?
你是不是指客户端调用的时候需要等待的时间长了?
lk617238688 2010-05-04
  • 打赏
  • 举报
回复
现在能用了,但还有一个功能--定时刷新缓存中的数据,各位大哥大姐给点意见吧,代码就更好。。。
lk617238688 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liwenso 的回复:]
反正都是通过业务类,在业务类这一层中去访问缓存吧。
[/Quote]
具体怎么用法?有个例子吗?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧