gpt4 book ai didi

java - @Scheduled 中的 Spring session 范围对象

转载 作者:行者123 更新时间:2023-11-30 09:40:09 26 4
gpt4 key购买 nike

在 Spring ,我有很多使用这样定义的 session bean 的代码:

@Scope(value="session", proxyMode=ScopedProxyMode.TARGET_CLASS)
  • 在我的网络应用程序中一切正常,因为 session 范围是可用。

  • 在我的 JUnit 测试中,一切都很好,因为我使用的是注册线程的 WebContextTestExecutionListener ( link ) session 范围的范围

  • 但是当调用带有 @Scheduled 的方法时,我得到一个异常,因为没有 session 范围。

现在我的问题是:如何在我的 @Scheduled 方法中为 session 范围注册一个线程范围?

我已经尝试过这样的事情:beanFactory.registerScope("session", new SimpleThreadScope()); 但这也覆盖了我的网络应用程序的 session 范围:(

最佳答案

计划任务与 session 范围无关, session 甚至可能在计划任务执行时终止。如果计划任务需要 session 中的数据,只需将包含数据的新对象传递给计划方法即可。

关于java - @Scheduled 中的 Spring session 范围对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9549909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com