首页 文章

如何在JHIPSTER生成的上下文中更改HikariDataource bean名称?

提问于
浏览
0

If I try to deploy two JHIPSTER CONTEXT'S WARs in single tomcat, throwing an excption .

So How can I change HIkariCP bean name in context.

异常日志:

org.springframework.jmx.export.UnableToRegisterMBeanException:无法使用键'dataSource'注册MBean [HikariDataSource(hikariDataSourceVirtuoSuite)];嵌套异常是org.springframework.jmx.export中的org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:628)中的javax.management.InstanceAlreadyExistsException:com.zaxxer.hikari:name = dataSource,type = HikariDataSource . 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:781)的org.springframework.jmx.export.MBeanExporter.afterSingletonsInstantiated(MBeanExporter.java:432)中的MBeanExporter.registerBeans(MBeanExporter.java:550) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)org.springframework.context.uresh(AbstractApplicationContext.java:543)org.springframework.boot.context.embedded.EmbeddedWebApplicationContext .refresh(EmbeddedWebApplicationContext.java:122)org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)at或g.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)位于org.springframework.boot.SpringApplication.run(SpringApplication.java:303)org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer . java:151)org.springframework上的org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:86) .web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5622)org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145 )org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1009)org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:985)atg.apache.catalina.core.StandardHost . addChild(StandardHost.java:652)atg.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)atg.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:2020)at java .util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) )java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:748)引起:javax.management.InstanceAlreadyExistsException:com.zaxxer.hikari: name = dataSource,在com.sun.jmx.interm.服务器上的com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)的com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)中键入= HikariDataSource . com.sun.jmx.interceptor.DefaultMBeanServerInterc中的jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)位于comg的com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)的eptor.registerObject(DefaultMBeanServerInterceptor.java:900)位于org的com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) .springframework.jmx.support.MBeanRegistrationSupport.doRegister(MBeanRegistrationSupport.java:195)org.springframework.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:674)org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter) .java:618)...省略了25个常见帧

2018-04-11 20:03:51.194 WARN 10440 --- [ost-startStop-1] ationConfigEmbeddedWebApplicationContext:在上下文关闭时从LifecycleProcessor抛出的异常

java.lang.IllegalStateException:LifecycleProcessor未初始化 - 在通过上下文调用生命周期方法之前调用'refresh':org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@f46e3f7:启动日期[Wed Apr 11 20:03:32 IST 2018] ; org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:427)中的上下文层次结构的根org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:999)org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:958)org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication . java:750)org.springframework.boot.SpringApplication.run(SpringApplication.java:314)org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:151)org.springframework.boot.web .support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:86)org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169) )org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5622)at org.apache.catalina.util.LifecycleBase.start( LifecycleBase.java:145)org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1009)org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:985)atg.apache.catalina .core.StandardHost.addChild(StandardHost.java:652)org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java) :2020)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1142)java.lang.Thread.run上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)(Thread.java:748)

org.apache.catalina.core.ContainerBase addChildInternal SEVERE:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .standardContext [/ VirtuoSuite]]位于org.apache的org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1009) . catalina.core.ContainerBase.addChild(ContainerBase.java:985)org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java: 1127)atg.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:2020)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask .run(FutureTask.java:266)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(Thread) PoolExecutor.java:617)at java.lang.Thread.run(Thread.java:748)引起:org.springframework.jmx.export.UnableToRegisterMBeanException:无法使用键'dataSource'注册MBean [HikariDataSource(hikariDataSourceVirtuoSuite)];嵌套异常是org.springframework.jmx.export中的org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:628)中的javax.management.InstanceAlreadyExistsException:com.zaxxer.hikari:name = dataSource,type = HikariDataSource . 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:781)的org.springframework.jmx.export.MBeanExporter.afterSingletonsInstantiated(MBeanExporter.java:432)中的MBeanExporter.registerBeans(MBeanExporter.java:550) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)org.springframework.context.uresh(AbstractApplicationContext.java:543)org.springframework.boot.context.embedded.EmbeddedWebApplicationContext .refresh(EmbeddedWebApplicationContext.java:122)org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)at或g.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)位于org.springframework.boot.SpringApplication.run(SpringApplication.java:303)org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer . java:151)at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:131)at atorg.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:86)org.apringframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)org.apache.catalina.core.StandardContext.startInternal( StandardContext.java:5622)org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)... 10更多引起:javax.management.InstanceAlreadyExistsException:com.zaxxer.hikari:name = dataSource,type = com.sun.jmx.mbean服务器中的com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)中的HikariDataSource,com.sun.jmx.interceptor.DemaultMBeanServerInterceptor中的com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898) .registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMB ean(DefaultMBeanServerInterceptor.java:324)位于org.springframework的org.springframework.jmx.support.MBeanRegistrationSupport.doRegister(MBeanRegistrationSupport.java:195)的com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:618)中的.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:674)... 25更多

2018年4月11日下午8:03:51 org.apache.catalina.startup.HostConfig deployWAR严重:部署Web应用程序存档时出错C:\ Program Files \ Apache Software Foundation \ apache-tomcat-7.0.81 \ webapps \ VirtuoSuite.war java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:无法在org.apache.catalina.core上启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/ VirtuoSuite]] . 位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:985)的ContainerBase.addChildInternal(ContainerBase.java:1013)位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)的org .apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)atg.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:2020)at java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadP)的java.util.concurrent.FutureTask.run(FutureTask.java:266) oolExecutor.java:1142)java.lang.Thread.run上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)(Thread.java:748)

2018年4月11日下午8:03:51 org.apache.catalina.startup.HostConfig deployWAR

1 回答

  • 1

    Java Management Extensions(JMX)管理bean的创建,因此如果我们更改jmx默认域名属性值,则每个上下文都有不同的域名 . 因此,tomcat中没有两个bean具有相同的名称 .

    application.yml 文件中添加以下属性 .

    JMX default domain configuration in JHipster context

    在这里,任何事情:在tomcat的上下文中不会重复 . 主要是“应用程序名称”本身 .

相关问题