首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用RestTemplate实现异步rest webservice客户端?

如何使用RestTemplate实现异步rest webservice客户端?
EN

Stack Overflow用户
提问于 2016-07-22 01:17:57
回答 1查看 1.4K关注 0票数 0

我想使用Spring3.1REST模板异步调用rest webservice调用。目前我们使用Resttemplate.getForObject方法来调用rest we服务。现在,根据需求,我们必须在调用现有方法的同时调用另一个webservice方法。我们通过实例化方法类从EJB2.1无状态会话bean中调用此方法调用。

示例代码如下:

代码语言:javascript
运行
复制
public class MyImplServerBean extends EJBObject{
   RestServiceImpl restImpl = new RestServiceImpl(); 
   ArrayList<User> userDetailsList = restImpl.getUserDetails(123);
}

public class RestServiceImpl {

   RestTemplate template = new RestTemplate();

   public ArrayList<User> getUserDetails(int userId){

   ArrayList<User> userList = new ArrayList<User>();
   String url = "http://localhost:7001/myUserService/userId";
   User user = template.getForObject(url, User.class);
   userList.add(user);
   return userList;
}

现在我们需要异步调用getUserDetails方法。我使用@Async注解得到了这个想法,但不知道如何准确地实现。你能帮个忙吗。

EN

回答 1

Stack Overflow用户

发布于 2016-07-22 01:37:25

我使用this教程完成了类似的任务。我做了一些修改。下面是如何让它工作的方法。

1)创建一个配置类,并确保其被ApplicationContext扫描。我使用AnnotationConfigWebApplicationContext。

代码语言:javascript
运行
复制
@EnableAsync
@Configuration
public class AsyncConfiguration implements AsyncConfigurer
{
    @Bean(name = "threadPoolTaskExecutor")
    public Executor threadPoolTaskExecutor()
    {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(10);
        return executor;
    }

    @Override
    public Executor getAsyncExecutor()
    {
        return new ThreadPoolTaskExecutor();
    }

    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler()
    {
        return new CustomAsyncExceptionHandler();
    }
}

2)用注解你的方法

代码语言:javascript
运行
复制
@Async("threadPoolTaskExecutor")

您的方法必须返回void或Future。

3)确保异步方法是公共的,并且是从另一个类调用的。这样,当方法被反射调用时,Spring就会“看到”注释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38510522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档