spring hibernate异步任务问题未找到当前线程的会话

2024-04-05

这是我保存数据的方法。工作正常

    public Future<SocialLogin> loginUserSocial(Social model) {
        Session session = this.sessionFactory.getCurrentSession();
        session.save(model);
        SocialLogin dto = new SocialLogin();
        dto.setUser_id(model.getUser_id());
        return new AsyncResult<SocialLogin>(dto);
    }

但如果我把@Async方法上的注释 我有以下异常。

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.util.concurrent.ExecutionException: org.hibernate.HibernateException: No Session found for current thread
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

如果有人了解此异常,我将不胜感激。 谢谢


From here http://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/Session.html

实现者并不是线程安全的。相反,每个线程/事务应该从 SessionFactory 获取自己的实例。

根据文档,线程应该有自己的会话。如果您通过以下方式获得会话sessionFactory.getCurrentSession();你会得到 null,因为它的访问受 ThreadLocals 保护。

您可以通过此代码为每个线程创建新会话。

@Async
public Future<SocialLogin> loginUserSocial(Social model) {
        Session session = this.sessionFactory.openSession();
        session.save(model);
        SocialLogin dto = new SocialLogin();
        dto.setUser_id(model.getUser_id());
        return new AsyncResult<SocialLogin>(dto);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring hibernate异步任务问题未找到当前线程的会话 的相关文章

  • 不同类型的数组

    是否可以有一个包含两种不同类型数据的数组 我想要一个包含双精度型和字符串的数组 我尝试过 ArrayList
  • Spring RestTemplate 使用 cookie 遵循重定向

    最近我遇到了一个问题 我需要做一个GET请求远程服务 我假设使用一个简单的 servlet 并且 RestTemplate 返回Too many redirects 经过一番调查 似乎对指定远程服务发出的第一个请求实际上只是一个 302 重
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 在另一个模块中使用自定义 gradle 插件模块

    我正在开发一个自定义插件 我希望能够在稍后阶段将其部署到存储库 因此我为其创建了一个独立的模块 在对其进行任何正式的 TDD 之前 我想手动进行某些探索性测试 因此 我创建了一个使用给定插件的演示模块 到目前为止 我发现执行此操作的唯一方法
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • 返回 Java 8 中的通用函数接口

    我想写一种函数工厂 它应该是一个函数 以不同的策略作为参数调用一次 它应该返回一个函数 该函数根据参数选择其中一种策略 该参数将由谓词实现 嗯 最好看看condition3为了更好的理解 问题是 它没有编译 我认为因为编译器无法弄清楚函数式
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • 是否可以使用 Java Guava 将函数应用于集合?

    我想使用 Guava 将函数应用于集合 地图等 基本上 我需要调整 a 的行和列的大小Table分别使所有行和列的大小相同 执行如下操作 Table
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • Spring-ws:如何从没有“Request”元素的 xsd 创建 Wsdl

    尝试为客户端实现 SOAP Web 服务 我需要一个 wsdl 文件来通过soapUI 测试该服务 但正如您在下面看到的 这个 xsd 没有 Request 和 Response 方法 所有请求和响应都被定义为基本 ServiceProvi
  • Java Swing:需要一个高质量的带有复选框的开发 JTree

    我一直在寻找一个 Tree 实现 其中包含复选框 其中 当您选择一个节点时 树中的所有后继节点都会被自动选择 当您取消选择一个节点时 树中其所有后继节点都会自动取消选择 当已经选择了父节点 并且从其后继之一中删除了选择时 节点颜色将发生变化
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 泛型、数组和 ClassCastException

    我想这里一定发生了一些我不知道的微妙事情 考虑以下 public class Foo
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复
  • Java EE 目录结构

    我对以下教程有疑问 http www mkyong com jsf2 jsf 2 internationalization example http www mkyong com jsf2 jsf 2 internationalizatio

随机推荐

  • 在 Mac OS X 中从相机捕获视频

    如何在 MacOS X 中过滤来自摄像头的视频流 我编写了 QuickTime 序列采集器通道组件 但仅当应用程序使用 SG API 时它才有效 如果应用程序使用 QTKit Capture 则该组件无法工作 有人知道我该如何实施它吗 您可
  • 如何围绕未正确发布的值演示竞争条件?

    我正在阅读 Java 并发实践 并查看第 51 页的示例代码 根据该书 这段代码如果没有正确发布 就有失败的风险 因为我喜欢编写示例代码并分解它们以证明它们是如何工作的 我尝试让它抛出 AssertionError 但失败了 引导我走向我的
  • Prolog,如何在 write() 中显示多个输出

    go match Mn Fn write Matching Result nl write Mn write match with write Fn match Mn1 Fn1 person may female 25 blue perso
  • 如何在java中打开所有以特定前缀开头的文件?

    有没有办法在Java中打开以特定名称开头的目录中的某些文本文件 例如 在我的目录中 我有以下文件 Ab 01 txt Ab 02 txt Ab 03 txt Ab 04 txt SomethingElse txt NotRelated tx
  • 学说问题(映射不一致)

    我正忙于 Symfony 中的一个项目 我只是检查分析器选项卡并看到 2 个错误不断弹出 它们如下 The mappings MyBundle MainBundle Entity School provinceId and MyBundle
  • 在 netbeans 中创建/访问库

    我是新的 netbeans 用户 在导入用户创建的库时遇到问题 我创建了一个名为 MyLibrary 的库 然后 我将一个包含我保存的项目 名为 netbeansProjects 的文件夹添加到类路径中 该文件夹是我在 netbeans I
  • mysql_connect 在远程主机连接上返回“无法通过套接字连接到本地 MySQL 服务器”?

    我有一台服务器返回一个意外的间歇性错误 想知道是否有人以前经历过它或者可以猜测可能会发生什么 到目前为止我的搜索还没有结果 我以通常的方式使用 mysql connect 连接到远程 mysql 服务器 但在过去 2 周 每天几次 与数据库
  • 我应该何时以及如何使用枚举类而不是枚举?

    一位开发人员最近开始在通常适合枚举的地方使用类模式而不是枚举 相反 他使用类似于下面的内容 internal class Suit public static readonly Suit Hearts new Suit public sta
  • 如何为 keras lstm 输入重塑数据?

    我是 Keras 新手 我发现很难理解 LSTM 层输入数据的形状 Keras 文档表示输入数据应该是形状为 nb samples timesteps input dim 的 3D 张量 我有808信号 每个信号有22个通道和2000个数据
  • 是否有可能调用 WriteFile 并且应用程序将永远等待回调?

    我调用该方法win32 WriteFile然后我打电话 WaitForSingleObject handle INFINITE 与我在中使用的相同手柄WriteFile call 是否可以有某种场景让我永远等待 然后WriteFile不会完
  • 带 url-loader 的 Webpack 内联字体

    我正在尝试将一些字体内联为 base64 编码的数据 URI 但我对 Webpack 的 url loader 没有什么运气 这很奇怪 因为 url loader 似乎只是为我的图像和 svg 文件执行此操作 我的设置如下 目录结构 roo
  • IO monad 的逻辑 AND 严格性

    我正在尝试用 Haskell 编写一个简单的程序 它基本上应该并行运行两个 shell 命令 这是代码 import System Cmd import System Exit import Control Monad exitCodeTo
  • 如何在 C# 应用程序中使用代理

    我正在使用 Microsoft Visual Studio 2010 C net 4 0 我有一个网络浏览器元素 我想做的是使用代理通过 Webbrowser 元素进行导航 我怎样才能做到这一点 谢谢 浏览器控件只是 IE 的一个实例 它将
  • 刷新页面会导致 404 错误 - Angular 6

    我正在构建一个应用程序的帮助Angular6并面临路由问题 一切routes当我单击特定选项卡时正在工作 但每当我refresh当前页面 它正在抛出404错误 我在堆栈溢出上看到了很多关于这个问题的帖子 但未能克服这个问题 下面是我的 ap
  • Regionprops 与 PodczeckShapes/DIPimage 圆度问题 - Matlab

    有人可以解释一下为什么Matlab中的 圆度 是通过 4 Area pi 周长 2 计算的 而在Podczeck Shape中它是Area Pi 4 sp 2 https qiftp tudelft nl dipref FeatureSha
  • 我应该默认推荐密封等级吗?

    在我工作的一个大项目中 我正在考虑建议其他程序员如果没有考虑如何对他们的类进行子类化 则始终密封他们的类 很多时候 经验不足的程序员从来不会考虑这一点 我觉得奇怪的是 在 Java 和 C 中 类默认是非密封 非最终的 我认为将类密封可以大
  • 登录后直接从 Websecurity 获取 CurrentUserID (C#/ASP.NET)

    我有这个网站 C ASP NET 其中有一个表单 用户可以在其中注册帐户 这是 VS11 的默认模板 填写完所有内容并且用户单击注册后 它会创建帐户并登录在用户中 效果很好 在此步骤之后 我想获取他分配的 UserID 但它不起作用 我在那
  • 如何为 git 正确设置 credential-osxkeychain

    我已按照以下说明进行操作如何设置git https help github com articles set up git将 OS X 钥匙串集成到 git 命令中 说明说密码提示应该再次出现 并且钥匙串访问窗口将会出现 密码提示出现 但钥
  • 即时加载 jQuery

    我无法弄清楚我的代码有什么问题 如果页面上不存在 jQuery 我会尝试动态加载它
  • spring hibernate异步任务问题未找到当前线程的会话

    这是我保存数据的方法 工作正常 public Future