2016-04-08 12 views
0

私はJava Restエンドポイントを作成するためにSpringを使用していますが、エンドポイントを呼び出すたびに実行する必要がある長いクリーンアップ作業があります。応答を返し、呼び出し中に生成されたデータを使用して特定のクリーンアップアクションを実行する良い方法はありますか?例えばJava Rest Endpointレスポンスクリーンアップアクション

@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

編集を参照してください:あなたは@EnableAsync

+0

を使用して、たとえば、最初のenable itにする必要があります私はこれをしようとする、ありがとうございます。 –

+0

それはうまくいったのですか? :) – rapasoft

+0

はい、これは私が探していたものでした。ありがとう! –

関連する問題