我在我的Java应用程序使用内存数据库像HSQL和FONGO的JUnit测试Java应用程序在内存数据库的时间太长建立
我执行这些构建的Linux机器上。
由于这些内存数据库中的构建时间太长,无法构建。
应该在2分钟内完成的建设需要30分钟。
任何指针将有很大的帮助
我在我的Java应用程序使用内存数据库像HSQL和FONGO的JUnit测试Java应用程序在内存数据库的时间太长建立
我执行这些构建的Linux机器上。
由于这些内存数据库中的构建时间太长,无法构建。
应该在2分钟内完成的建设需要30分钟。
任何指针将有很大的帮助
我能够与this解决问题。
随机数生成时间过长。我做了以下更改。
在Sun的JVM中用于随机数生成的库依赖于UNIX平台默认的/ dev/random。这可能会阻止WebLogic SIP Server进程,因为在某些操作系统上,/ dev/random会在返回结果之前等待主机上生成一定量的“噪音”。尽管/ dev/random更安全,但如果默认JVM配置延迟WebLogic SIP Server启动,BEA建议使用/ dev/urandom。
要确定您的操作系统是否存在这种行为,尽量在shell提示显示文件的部分内容:
head -n 1 /dev/random
如果命令立即返回,您可以使用/ dev /随机设置为默认发电机SUN的JVM。如果该命令没有立即返回,使用以下步骤来配置JVM使用/ dev/urandom的:
1. Open the $JAVA_HOME/jre/lib/security/java.security file in a text
editor.
2. Change the line:
securerandom.source=file:/dev/random
to
securerandom.source=file:/dev/urandom
3. Save your change and exit the text editor.
你检查你的存储过程中使用的JConsole或jvisualvm您的测试如何演变?也许GC活动太高,所以你需要分配更多的内存到你的JVM? –
也许你应该重写你的测试以更多地使用mock。只有存储库类需要访问数据库。如果您反复重新创建bean,DI引擎会减慢测试速度。也许你的单元测试真的是集成测试。审查他们所有的事情,以确保他们都给你真正的价值。 – duffymo
@NicolasFilotto ..谢谢你的回复。我将JAVA_OPTS设置为-XX:MaxPermSize = 1200M -Xms2400M -Xmx4800M – Patan