我想知道是否可以使用h2数据库运行声纳3.1.1?我尝试部署配置了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的解决方法?
答案 0 :(得分:5)
H2数据库未列在Sonar pre-requisites中。这很遗憾,因为和你一样,我认为它优于Apache Derby。
Sonar团队强烈反对将Derby用于生产环境。我在发行说明中读到Derby升级现已禁用。除了不喜欢Derby之外,你有一个很好的使用H2的用例吗? : - )
最初使用嵌入式数据库设置Sonar可能很诱人。问题是你组织内的声纳采用可以传播病毒,最终会有人开始询问有关备份和灾难恢复的日子......这就是拥有适当数据库的地方将使这种转变变得更容易。
SONAR-3622:报告支持的H2数据库。这种支持来自Sonar 3.2:
David Gageot发表评论 - 04 / Jul / 12 5:06 AM
最新版本更智能。 h2是声纳> = 3.2的默认值,而derby是声纳的默认值< 3.2