2012-07-21 66 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