当前位置: 首页 > 面试题库 >

调试时检查内存hsqldb

尉迟兴修
2023-03-14
问题内容

我们在内存中使用hdsqldb运行针对数据库运行的junit测试。在通过弹簧配置运行每个测试之前,已设置数据库。一切正常。现在,当测试失败时,可以方便地检查内存数据库中的值。这可能吗?如果可以,怎么办?我们的网址是:

jdbc.url = jdbc:hsqldb:mem:testdb; sql.enforce_strict_size = true

每次测试后,数据库都会被破坏。但是,当调试器运行时,数据库也应该仍处于活动状态。我尝试与sqldb
databaseManager连接。那行得通,但是我看不到任何表或数据。任何帮助深表感谢!


问题答案:

HSQL位于内存中,因此当您说要与SQLDB数据库管理器连接时,您不是在-
而是连接到SQLDB数据库管理器的内存空间中的另一个数据库,而不是连接到SQLDB数据库管理器的内存空间中的另一个数据库。单元测试。这就是为什么SQLDB数据库管理器中的数据库为空的原因。

您可以org.hsqldb.Server按照此处所述使用HSQL作为服务器运行。

尽管org.hsqldb.Server该类通常用于启动单独的进程,但是您可以在单元测试中实例化和配置它,这应该允许远程进程连接和查询数据库。

另外,您必须编写某种转储功能,必要时可以在单元测试中调用它。

顺便说一句,在单元测试中使用HSQL只是证明您的代码可以针对HSQL运行,这与实际数据库不同。这意味着您会得到误报,反之亦然。使用模拟API或更好的API可以实现相同的目的,将数据库测试保存为与实际数据库一起使用的一些不错的集成测试。



 类似资料:
  • used_memory:859192数据结构的空间 used_memory_rss:7634944实占空间 mem_fragmentation_ratio:8.89前2者的比例,1.N为佳,如果此值过大,说明redis的内存的碎片化严重,可以导出再导入一次.

  • 问题内容: 我想看看和我的程序参数的影响,并检查多少内存我的过程中消耗。 我编写了一个简单的程序,但无法推断出结果。请帮助。 我跑了参数 。理想情况下,由于一个字符占用2个字节,因此在超过内存限制之前,它应容纳100M个字符。即使我们说,几乎没有空间用于 指针 和 length ,我也不知道,为什么它在 69926904 length 之后会 引发 错误 。 谢谢。 问题答案: 仔细阅读有关Gen

  • 我试图了解和parameters对我的程序的影响,并检查我的进程消耗了多少内存。 我写了一个简单的程序,但无法推理出结果。请帮忙。 我用参数< code>-Xms5M -Xmx200M运行。理想情况下,由于一个字符占用2个字节,在超过内存限制之前,它应该容纳100M个字符。即使我们说,很少的空间用于指针和长度,我不知道,为什么它在69926904长度后抛出错误。 谢谢。

  • script/下的memstat.sh或者ps_mem.py都可以查看系统的内存情况,两个工具都需要root权限。

  • #!/bin/bash # Get current swap usage for all running processes # Erik Ljungstrom 27/05/2011 # Modified by Mikko Rantalainen 2012-08-09 # Pipe the output to "sort -nk3" to get sorted output # Modified

  • /redis/script/redis-sampler.rb 127.0.0.1 6379 0 10000 /redis/script/redis-audit.rb 127.0.0.1 6379 0 10000