如何在Play Framework 2.2的单独线程中使用同一数据库事务

肌肉ce7

从播放的文档中

由于Play 2.0的工作方式,操作代码必须尽可能快(即非阻塞)。那么,如果我们还不能生成结果,那我们应该返回什么呢?回应是对结果的承诺!

因此,我不应该直接在操作内部进行数据库调用。现在,当我查看Plays JPA文档时,这使我感到困惑

每个JPA调用都必须在事务中完成,因此,要对特定操作启用JPA,请使用@ play.db.jpa.Transactional对其进行注释。这将使您的操作方法与为您管理事务的JPA操作组成

这让我有些困惑。如果遵循文档,则不应通过数据库调用阻止操作线程。但是,如果要执行的操作是创建和管理数据库事务,是不是通过将工作发送给参与者或以某种方式将工作卸载到另一个线程而丢失了该事务?我的意思是,我是scala和play的新手,但我只是看不到交易如何进入单独的线程。有谁有解释,或者我应该做的方式吗?我很困惑

约翰南德伦

您错过了一个难题,请在此处的“高度同步”下阅读:http : //www.playframework.com/documentation/2.2.x/ThreadPools

因此,是的,您希望它是非阻塞的,但是如果由于JPA / JDBC等原因而无法做到这一点,那么您可以像使用常规Java Web容器(具有许多线程的线程池)那样配置播放。它不会给您所有的发挥,但对您来说可能就足够了。

您还可以创建一个特定的线程池/执行上下文,并仅在该线程池/执行上下文上运行JPA / JDBC内容,并使其余服务器保持不阻塞状态。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Play Framework 2.2的单独线程中使用同一数据库事务

来自分类Dev

如何在Play!Framework WebSockets(“ wss://”)中使用TLS

来自分类Dev

如何在Play Framework 2中安装RestFB插件

来自分类Dev

Play Framework 2-如何在不调用.get()的情况下等待多个WS响应?

来自分类Dev

网址中包含冒号时,如何在Play Framework 2中使用Web服务?

来自分类Dev

如何在Java中使用Play 2 Framework处理异常

来自分类Dev

如何在Play Framework 2(Java)中有选择地禁用CSRF检查

来自分类Dev

如何在Play中保持单独的开发,测试和生产数据库!2框架?

来自分类Dev

如何在IntelliJ IDEA中以调试模式运行Play Framework 2.x?

来自分类Dev

如何在Play Framework 2应用程序中存储Akka演员列表?

来自分类Dev

在Play 2 Framework中,如何在sbt dist包名称中包含git commit sha?

来自分类Dev

如何在同一数据库中联接来自2个不同模式的2个表

来自分类Dev

如何在Java和Play Framework中使用HTTP方法

来自分类Dev

如何在Play Framework 2.4中使用相对于项目根目录的路径到H2数据库文件配置?

来自分类Dev

如何在Play Framework中使用ReactiveMongo + JSON聚合框架?

来自分类Dev

如何在同一项目中使用2个不同的数据库架构组织Entity Framework Core迁移(代码优先)?

来自分类Dev

如何使用Spring Boot Crudrepository将数据插入同一数据库的2个表中?

来自分类Dev

如何在Play Framework 2 Scala中对控制器进行单元测试

来自分类Dev

如何在Scala Play Framework 2.2中使用Memcached?

来自分类Dev

如何在Play中保持单独的开发,测试和生产数据库!2框架?

来自分类Dev

如何在IntelliJ IDEA中以调试模式运行Play Framework 2.x?

来自分类Dev

如何在Play Framework 2应用程序中存储Akka演员列表?

来自分类Dev

如何在Play Framework 2中从外部向演员发送消息?

来自分类Dev

如何在Play Framework中使用Ebean将初始数据加载/插入数据库中?

来自分类Dev

如何在Play Framework中使用Jquery load()?

来自分类Dev

如何显示同一数据库中2个表的所有记录?

来自分类Dev

如何在Play Framework 2(Scala)中的可重用块中使用变量

来自分类Dev

如何在Play Framework 2.x操作中使用MongoDB异步Java驱动程序?

来自分类Dev

如何使用mysqli计数来自同一数据库的2行

Related 相关文章

  1. 1

    如何在Play Framework 2.2的单独线程中使用同一数据库事务

  2. 2

    如何在Play!Framework WebSockets(“ wss://”)中使用TLS

  3. 3

    如何在Play Framework 2中安装RestFB插件

  4. 4

    Play Framework 2-如何在不调用.get()的情况下等待多个WS响应?

  5. 5

    网址中包含冒号时,如何在Play Framework 2中使用Web服务?

  6. 6

    如何在Java中使用Play 2 Framework处理异常

  7. 7

    如何在Play Framework 2(Java)中有选择地禁用CSRF检查

  8. 8

    如何在Play中保持单独的开发,测试和生产数据库!2框架?

  9. 9

    如何在IntelliJ IDEA中以调试模式运行Play Framework 2.x?

  10. 10

    如何在Play Framework 2应用程序中存储Akka演员列表?

  11. 11

    在Play 2 Framework中,如何在sbt dist包名称中包含git commit sha?

  12. 12

    如何在同一数据库中联接来自2个不同模式的2个表

  13. 13

    如何在Java和Play Framework中使用HTTP方法

  14. 14

    如何在Play Framework 2.4中使用相对于项目根目录的路径到H2数据库文件配置?

  15. 15

    如何在Play Framework中使用ReactiveMongo + JSON聚合框架?

  16. 16

    如何在同一项目中使用2个不同的数据库架构组织Entity Framework Core迁移(代码优先)?

  17. 17

    如何使用Spring Boot Crudrepository将数据插入同一数据库的2个表中?

  18. 18

    如何在Play Framework 2 Scala中对控制器进行单元测试

  19. 19

    如何在Scala Play Framework 2.2中使用Memcached?

  20. 20

    如何在Play中保持单独的开发,测试和生产数据库!2框架?

  21. 21

    如何在IntelliJ IDEA中以调试模式运行Play Framework 2.x?

  22. 22

    如何在Play Framework 2应用程序中存储Akka演员列表?

  23. 23

    如何在Play Framework 2中从外部向演员发送消息?

  24. 24

    如何在Play Framework中使用Ebean将初始数据加载/插入数据库中?

  25. 25

    如何在Play Framework中使用Jquery load()?

  26. 26

    如何显示同一数据库中2个表的所有记录?

  27. 27

    如何在Play Framework 2(Scala)中的可重用块中使用变量

  28. 28

    如何在Play Framework 2.x操作中使用MongoDB异步Java驱动程序?

  29. 29

    如何使用mysqli计数来自同一数据库的2行

热门标签

归档