spring batch 说step取不到 求大神!!!!!!!!!!

错误信息:信息: Loading XML bean definitions from class path resource [message_job.xml]
Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: The element [messageStepnext] is unreachable
Offending resource: class path resource [message_job.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:72)
at org.springframework.batch.core.configuration.xml.AbstractFlowParser.doParse(AbstractFlowParser.java:160)
at org.springframework.batch.core.configuration.xml.InlineFlowParser.doParse(InlineFlowParser.java:54)
at org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:84)
at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
at org.springframework.batch.core.configuration.xml.JobParser.doParse(JobParser.java:121)
at org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:84)
at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
at org.springframework.batch.sample.Main.main(Main.java:16)

job配置文件:
图片说明

3个回答

已解决。。。。。。。

我在网上见了太多你这种情况,到网上问个问题,后来自己解决了,就直接写个已解决,也不说下解决方法,问问题时说的可诚恳了,看“求大神”,自己解决了就拍拍屁股走人。
今天我也遇到类似的问题了,先说题主的问题,相对比较简单,之所以出现这个问题是由于未给第一个step指定next的原因
spring batch在执行具体的步骤时,会将job下第一个定义的step作为第一步,后续的step均是通过next属性指定,一步步执行下去。

我遇到的问题是这样的,step顺序是通过decider动态判断的,刚开始出错的配置如下,

flow测试













第一步也是普通的step,在其next属性指定了下一个decision的id,即bizDecision,在执行完bizDecision后,需要执行reportDecision,由于decision本身是没有next,所以我将reportDecision配置到了biz.flow和biz.flow这两个flow(此处未贴出)的最后一个step中,本设想这两个flow中任一flow最后一个step执行完后继续执行reportDecision,结果报The element [reportDecision] is unreachable。
实际上我这样配置是错误的,应该配置在biz.flow.step和biz.flow.step2中,正确的配置:

SHU15121856
LauZyHou 学习了。我把自己加了step放在最后,让最后一个step的next指向它,然后单独执行这个step,就好了。
大约 2 年之前 回复
ouyangtijin
ouyangtijin 为你的答复点赞。
接近 3 年之前 回复

答案中的代码未展示出来,贴两个图片吧
原始配置
正确的配置

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐