use*_*928 6 java tomcat7 hikaricp
我正在尝试在同一tomcat7实例上部署两个WAR文件(app1.war和app2.war)。我收到此错误:
Unable to register MBean [HikariDataSource (HikariPool-0)] with key
'dataSource'; nested exception is javax.management.InstanceAlreadyExistsException:
com.zaxxer.hikari:name=dataSource,type=HikariDataSource
Run Code Online (Sandbox Code Playgroud)
如果我只在tomcat上部署了一个应用程序,则不会出现此错误。有办法解决这个问题吗?
小智 10
在春季启动中,jmx bean在运行时加载并扫描您的应用程序。如果找到两个数据源,它将抛出javax.management.InstanceAlreadyExistsException。可以通过在application.properties文件中定义默认的jmx默认域名来解决此问题,如下所示
spring.jmx.default-domain=app_name
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助。
为您的数据源指定唯一的名称。例如,如果您有单独的架构来存储用户和产品数据,您可以分别命名您的数据源userDS和productDS。
HikariDataSource userDS = new HikariDataSource();
userDS.setPoolName("userDS");
// Set other data source properties.
HikariDataSource productDS = new HikariDataSource();
productDS.setPoolName("productDS");
// Set other data source properties.
Run Code Online (Sandbox Code Playgroud)
<bean id="userDS" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<property name="poolName" value="userDS"/>
...
</bean>
<bean id="productDS" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<property name="poolName" value="productDS"/>
...
</bean>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2333 次 |
| 最近记录: |