英文:
How to Implement a Callback in Methods that uses @Async (Springboot App)
问题
我需要实现一种类似回调的解决方案,以便在方法调用成功/失败时收到通知。我正在调用的这些方法位于一个 Springboot 应用程序中,并且它们都是异步的。更具体地说,它们都使用了 @Async
注解。
我在寻找解决方案方面并没有取得成功,想知道是否有其他人可能有一些想法。我不能使用另一个异步方法(即,我不能更改现有代码以删除 @Async
并使用其他替代方法)。但是,我可以修改方法体本身以添加任何回调能力。
谢谢。
英文:
I have a need to implement a callback-like solution to be notified of the success/failure of method calls. These methods I am calling are in a Springboot app and they are all asynchronous. More specifically, they all use the @Async
annotation.
I have not been successful in finding a solution to this and was wondering whether others may have some ideas. I cannot use another async method (that is, I cannot change the existing code to remove the @Async
and use something in its place). However, I can modify the method bodies themselves to add any callback capability.
Thank you.
答案1
得分: 2
基于M. Derium(上面的建议),我正在使用CompletableFuture来解决我的问题。我仍在实施和测试过程中,但它似乎是一个不错的解决方案。这是一个很好的参考资料:CompletableFuture指南
英文:
Based on the suggestion of M. Derium (above) I am using CompletableFuture for my solution. I am still in the process of implementing and testing, but it seems to be a good solutions. Here is a good reference: Guide to CompletableFuture
答案2
得分: 1
我认为你可以创建一个带有两个方法的新接口,然后将一个实现参数传递给异步方法。
public interface TaskCallBack {
void success(int code);
void fail(int code);
}
英文:
I think you can just create a new Interface with two methods, and then pass a implementation parameter to the async method.
public interface TaskCallBack {
void success(int code);
void fail(int code);
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论