Java Spring batch admin在部署时挂起注册步骤执行

Java Spring batch admin在部署时挂起注册步骤执行,java,jmx,jboss6.x,spring-batch-admin,Java,Jmx,Jboss6.x,Spring Batch Admin,当有大量步骤时,spring batch admin需要10分钟以上才能在部署期间注册步骤执行。由于部署需要10分钟以上,因此部署失败 每个步骤都会出现以下日志: INFO [org.springframework.batch.admin.jmx.BatchMBeanExporter] (MSC service thread 1-7) Registering step execution job-process/do-job-master:1934 INFO [org.springfram

当有大量步骤时,spring batch admin需要10分钟以上才能在部署期间注册步骤执行。由于部署需要10分钟以上,因此部署失败

每个步骤都会出现以下日志:

INFO  [org.springframework.batch.admin.jmx.BatchMBeanExporter] (MSC service thread 1-7) Registering  step execution job-process/do-job-master:1934
INFO  [org.springframework.batch.admin.jmx.BatchMBeanExporter] (MSC service thread 1-7) Located managed bean 'spring.application:type=JobExecution,name=job-process,step=do-job-master@1934': registering with JMX server as MBean [spring.application:type=JobExecution,name=job-process,step=do-job-master@1934]

为什么会发生这种情况?如何禁用在Spring Batch Admin load上加载所有步骤执行?

当Spring Batch Admin部署时,它会向JMX注册所有步骤执行。当数据库中有大量步骤执行时,可能需要很长时间才能将它们全部注册到JMX。如果不需要JMX,可以通过在上下文中重写batchMBeanExporter bean来禁用它。如果您必须拥有JMX,那么您应该设法减少执行步骤的数量,如果这不可能,请联系Spring

我通过将以下bean定义添加到上下文文件中禁用了JMX:

<bean id="batchMBeanExporter" class="java.lang.String" />