我希望能够在 java 中执行异步任务,并能够保持与用户 session 相关联的完成(如果可能的话)监视器。这是可能的,如果是的话,有什么方法可以做到?
目前,该任务作为无状态 session bean 方法同步实现,该方法从 jax-rs 端点调用。
我看了https://docs.oracle.com/javaee/7/tutorial/ejb-async001.htm但是 AsyncResult
不可序列化,所以我想我无法将它添加到 session 中。
最佳答案
使用 Spring 注释 @Async,您可以使任何 bean/方法异步。
容器将创建一个新线程并且方法将异步执行。您也可以将 session 对象传递给此方法,完成后,您可以在 session 对象中标记一个属性。
示例:- https://spring.io/guides/gs/async-method/
关于asynchronous - 将异步任务的完成/进度监视器与 session 相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49532287/