2016-04-08 62 views
0

我正在使用Spring創建Java休息端點,並且每次調用我的端點後都需要執行一些冗長的清理雜事。是否有一種很好的方式來返回響應,然後使用調用期間生成的數據執行特定的清理操作?Java Rest端點響應清理操作

例如:

@GET 
@Path("{id}") 
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML }) 
public User getUser(
    @PathParam("id") Integer id) throws NotFoundException { 
    final String logRequest = "User retrieval request for user " + id; 
    logger.info(logRequest); 
    User user = userService.getById(id); 

    doMyChoresThatTakeALongTime(user); // how can I make this happen *AFTER* returning the reponse? 

    logger.info(logRequest + " succeeded"); 
    return user; 
} 

回答

0

也許你應該創建另一個bean(服務)和異步執行這個方法。見documentation

編輯:您將需要enable it第一,例如使用@EnableAsync

+0

謝謝你,我會嘗試。 –

+0

那麼,它的工作? :) – rapasoft

+0

是的,這就是我一直在尋找的東西。謝謝! –