ScalaTest 运行时出现 Scala Play Slick RejectedExecutionException

2024-03-07

我的 FlatSpec 测试抛出:

 java.util.concurrent.RejectedExecutionException: Task slick.backend.DatabaseComponent$DatabaseDef$$anon$2@dda460e rejected from java.util.concurrent.ThreadPoolExecutor@4f489ebd[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]

但只有当我运行不止一套套件时,在第二套房向前;似乎有一些东西在测试之间没有重置。我在用着OneAppPerSuite提供应用程序上下文。每当我使用OneAppPerTest,在第一次测试/套件后再次失败。

我有一个override def beforeEach = tables.foreach ( _.truncate )设置清除表格,其中truncate只是从表中删除所有内容:Await.result (db.run (q.delete), Timeout.Inf)

我的 DAO 层有以下设置:

SomeMappedDaoClass extends SomeCrudBase with HasDatabaseConfig

where

trait SomeCrudBase { self: HasDatabaseConfig => 
  override lazy val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
  implicit lazy val context = Akka.system.dispatchers.lookup("db-context")
}

And in application.conf

db-context {
  fork-join-executor {
    parallelism-factor = 5
    parallelism-max = 100
  }
}

我正在重构代码以摆脱 Play 的 Guice DI。以前,当它有@Inject() (val dbConfigProvider: DatabaseConfigProvider)并延伸HasDatabaseConfigProvider相反,在 DAO 类上,一切都运行得很完美。现在不行了,我也不知道为什么。

先感谢您!


只是出于兴趣SomeMappedDaoClass an object? (我知道它说的是班级,但是......)。

在测试 Play 框架时,我在处理时遇到了这种问题object设置与 Play 框架部分的连接。

在测试之间和测试文件之间播放app被杀死并重新启动,但是,object创建的s会持续存在(因为它们是objects,它们在 JVM 上下文中初始化一次——我认为)。

这可能会导致object具有引用第一个实例的连接(无论是光滑的,演员的,任何东西......)app在测试中使用。当。。。的时候app被终止并且新的测试开始新的app,该连接现在没有指向任何内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ScalaTest 运行时出现 Scala Play Slick RejectedExecutionException 的相关文章

随机推荐

  • 如何在每次测试后重置 Django 测试数据库 ID?

    我有一个 django 应用程序 我正在其上运行一些单元测试 所以我遇到的问题不是当一个测试插入测试数据库时 这是随后的测试 由于每个测试都不保存交易 因此先前测试的条目不存在这很好 尽管自动增量 id 正在增加 就好像数据库中仍然有条目一
  • 如何在 Svelte/Sapper 应用程序中包含 JQuery?

    有许多组件仍然需要我需要使用的 JQuery 不幸的是 在 Svelte Sapper 中执行此操作的最佳方法是什么 我应该使用 ES6 导入 修改汇总 还是最好的方法是什么 例如 我需要包含来自 DevExpress 或 Kendo UI
  • 在 grails 插件安装期间无法解决依赖关系

    我从 PC 中删除了 grails 文件夹 当我在 Intellij IDE 中打开应用程序时 buildConfig groovy 中提到的插件开始安装 安装了一些插件 但有六个插件无法安装 发生以下错误 C Program Files
  • 使用首选项在运行时更改语言 [android]

    我读了几遍官方指南 http developer android com guide topics ui settings html对于这个 以及许多其他的东西 比如这个网站上的问题 但我不能让我的工作 100 截至目前 如果我更改列表首选
  • 有人可以准确解释如果在堆上分配对象数组的过程中抛出异常会发生什么吗?

    我定义了一个类 foo 如下 class foo private static int objcnt public foo if objcnt 8 throw outOfMemory No more space else objcnt cl
  • 类型 存在于两个 DLL 中

    我在 Net 3 5 框架中有 1 个 DLL 在 2 0 框架中有另一个 DLL 这ListBoxItem类存在于 2 0 中 我已将 3 5 DLL 中的类链接到同一命名空间中 当我尝试编译时 出现 两者都存在 错误 我怎样才能编译它并
  • 使用 StaticResources 测试 WPF 窗口

    我有一个简单的窗口 其中引用了 App xaml 中的 StaticResource App xaml资源定义 使用资源的窗口组件
  • 项目参考条件包含多个条件

    这是我的 csproj 文件的片段
  • 如何在行号视图中激活修订信息

    我知道 Eclipse 有一个功能可以显示行号视图中一行的最后更改的修订信息 渐变着色 更多信息 如修订号 日期和鼠标悬停时的作者 有谁知道如何默认激活文件的此功能 甚至更好 我最近不小心点击了一些快捷方式 使其显示在一个文件中 但它不会显
  • Safari 模糊了奇怪的错误

    我目前正在重新设计我的一个网站 我使用 CSS 模糊滤镜 blur blur 5px webkit filter blur 5px 和一些 CSS 动画 animate blur transition 0 45s all ease out
  • 在 PowerShell 窗口中运行应用程序

    我正在尝试放弃命令提示符 因为它是一个死胡同 转向 PowerShell ISE 我还没有弄清楚如何在 PowerShell ISE 窗口中运行命令行应用程序 每次我使用 开始进程 时 都会出现 然后消失 命令提示符窗口 我看到有些人建议
  • Pig - 如何迭代一袋地图

    让我解释一下这个问题 我有这行代码 u FOREACH persons GENERATE FLATTEN 0 experiences as j dump u 产生以下输出 id 1 date begin 12 2012 descriptio
  • 使用 Java 注解限制方法的执行

    您知道是否可以检查谁在调用某个方法并限制他们是否可以使用 Java 注解执行该方法 例如 如果您有一个客户端和一个服务器 有多个用户 他们具有不同的角色 他们登录到客户端 然后 同一个客户端 不同的用户想要调用服务器上的 getMethod
  • 如何检查 wifi 中的互联网是否可用(尽管 Wifi 已连接)[重复]

    这个问题在这里已经有答案了 我用这个代码来检查互联网是否可用 ConnectivityManager connectivity ConnectivityManager context getSystemService Context CON
  • 是否有 JVM 模拟器/字节码执行可视化工具?

    我正在寻找一个可视化工具 它可以帮助解释 Java 字节码如何与操作数堆栈和局部变量交互 有吗 None
  • 随机数生成中的种子是什么意思?

    虽然我在谷歌中提到了种子的含义 但我无法得到我想要的确切答案 有人可以用例子解释吗 它是随机数生成器的随机数序列基础的初始值 如果您为两个随机数生成器提供相同的值 它们将产生相同的数字序列 这对于测试目的很有用 在生产中 您通常会为随机数生
  • 将相机应用程序旋转复制到横向 IOS 6 iPhone

    您好 我正在尝试复制当方向转变为横向时可以在相机应用程序中看到的相同旋转 不幸的是我没有运气 我需要使用 UIImagePickerController 为自定义cameraOverlayView 进行设置 从这张肖像来看 B 是 UIBu
  • JIRA JQL:当前冲刺中解决的问题

    我希望能够过滤当前冲刺中已解决的问题 一般来说 这将用于防止在我们讨论开发人员在本次冲刺中实现了什么时出现在上一个冲刺中已解决但测试延迟 未重新开放 的问题 已关闭的问题也应该出现 但它们不是问题 就好像它们在上一个冲刺中被关闭一样 无论如
  • 版本解决了使用新的 Flutter 2.2.2 版本为 Riverpod 运行“flutter pub get”失败的问题

    我尝试用以前的版本替换 Riverpod 的版本 但没有任何效果 我还尝试删除 pubspec lock 文件 运行 flutter clean 命令等 但没有任何效果 如果使用 flutter 2 2 2 的人能够使用 Riverpod
  • ScalaTest 运行时出现 Scala Play Slick RejectedExecutionException

    我的 FlatSpec 测试抛出 java util concurrent RejectedExecutionException Task slick backend DatabaseComponent DatabaseDef anon 2