1
我正在運行嵌入的OrientDb。我們使用Spring/Spring Data,並且我們有通過Maven的Surefire插件運行的JUnit測試。運行嵌入式服務器時OrientDb端口範圍的目的是什麼?
嵌入式數據庫在每次測試之前就開始了。如果可能的話,我想以某種方式改變它,以便在每個Maven模塊執行時加載一次。
我有以下幾點:
OServerNetworkListenerConfiguration binaryListener = new OServerNetworkListenerConfiguration();
binaryListener.ipAddress = "0.0.0.0";
binaryListener.portRange = "2424-2430";
binaryListener.protocol = "binary";
binaryListener.socket = "default";
顯然,由於測試的量,6個端口是不夠的,我得到這個神祕的錯誤:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project bar-api: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /java/foo/bar/bar-api && /java/jdk1.8.0_65/jre/bin/java -Xmx1024m -Xms512m -jar /java/foo/bar/bar-api/target/surefire/surefirebooter3262843936755308263.jar /java/foo/bar/bar-api/target/surefire/surefire2085279380429297504tmp /java/foo/bar/bar-api/target/surefire/surefire_53552629494142788284tmp
沒有System.exit()
在任何地方我代碼,但Maven Surefire插件退出構建。
我的問題是:爲什麼需要這麼多的端口?難道它只是使用一個?我錯過了什麼以及如何解決它? (就目前而言,我只是增加了端口數量,作爲臨時解決方法,但我真的想更好地理解問題並將其妥善分類)。
是的,但是當測試完成後,我會假設數據庫已關閉,對不對?它如何用完端口? – carlspring