2012-07-21 65 views
2

我想知道是否有可能使用h2數據庫來運行聲吶3.1.1?我試圖部署聲納與H2的數據庫配置,得到了以下異常:h2上的聲吶數據庫

21-Jul-2012 23:32:45 org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformLifecycleListener 
org.sonar.api.utils.SonarException: Unable to determine database dialect to use within sonar with dialect null jdbc url jdbc:h2:tcp://localhost:9092/~/sonar 

我搜索了一下,最可能的原因是3.1.1不支持H2。有沒有什麼解決方法可以用h2運行3.1.1?

回答

5

H2數據庫未在Sonar pre-requisites中列出。這是一個遺憾,因爲像你一樣,我認爲它優於Apache Derby。

Sonar團隊強烈建議在生產環境中使用Derby。我在發行說明中看到,Derby升級現在已被禁用。除了不喜歡Derby之外,您是否有使用H2的良好用例? :-)

它可能很誘人的設置Sonar最初與嵌入式數據庫。問題是你的組織內的Sonar採用會變得病毒,最終當有人開始詢問備份和災難恢復的時候,這一天就會到來......這就是擁有一個合適的數據庫的地方會使這個過渡更容易。

更新

SONAR-3622:報告作爲支持的H2數據庫。這種支持在聲納3.2未來:

大衛Gageot添加評論 - 04 /月/ 12上午05時06

最新版本是更加智能化。 h2是聲納> = 3.2的默認值,derby是聲納的默認值< 3.2