javax.management.InstanceAlreadyExistsException:spring.application:type = JobExecution,name = DATSFileFeeds

Raf*_*aik 2 spring-batch

我正在尝试在单个tomcat服务器实例中部署两次战争。但这会引发错误。任何人都可以帮忙吗 PFB错误日志。

19:39:28,294错误pool-2-thread-1 context.ContextLoader:220-上下文初始化失败org.springframework.context.ApplicationContextException:无法启动bean'batchMBeanExporter';嵌套的异常是org.springframework.jmx.export.UnableToRegisterMBeanException:无法使用键'spring.application:type = JobExecution,name = DATSFileFeeds'注册MBean [org.springframework.batch.admin.jmx.SimpleJobExecutionMetrics@1f069c];嵌套的异常是javax.management.InstanceAlreadyExistsException:spring.application:type = JobExecution,name = org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:169)在org.springframework.context.support.DefaultLifecycleProcessor处。在org.springframework.context.support上访问$ 1(DefaultLifecycleProcessor.java:154)。java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)处的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)处的java.lang.Thread.run(Thread .java:744)原因:org.springframework.jmx.export.UnableToRegisterMBeanException:无法使用键“ spring.application:type = JobExecution,name =”注册MBean [org.springframework.batch.admin.jmx.SimpleJobExecutionMetrics@1f069c] DATSFileFeeds'; 嵌套的异常是javax.management.InstanceAlreadyExistsException:spring.application:type = JobExecution,name =在org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:602)在org.springframework.batch.admin.jmx处的DATSFileFeeds。 org.springframework.batch.admin的BatchMBeanExporter.registerJobs(BatchMBeanExporter.java:190)。

kar*_*ara 5

您可以使用MBeanRegistrationSupport#setRegistrationPolicy方法配置MBean注册的行为。

当前有三项政策:

  1. FAIL_ON_EXISTING-尝试使用已经存在的名称注册MBean时注册应失败。
  2. IGNORE_EXISTING-尝试以现有名称注册MBean时,注册应忽略受影响的MBean。
  3. REPLACE_EXISTING-尝试以现有名称注册MBean时,注册应替换受影响的MBean。

例如:

@Bean
public AnnotationMBeanExporter annotationMBeanExporter() {
    AnnotationMBeanExporter annotationMBeanExporter = new AnnotationMBeanExporter();
    annotationMBeanExporter.setRegistrationPolicy(RegistrationPolicy.IGNORE_EXISTING);

    return annotationMBeanExporter;
}
Run Code Online (Sandbox Code Playgroud)