首页 > 解决方案 > 无法使用 spring 和 java 7 启动 mule

问题描述

我是 mule 开发新手,我正在使用 java 7 开发使用 mule 的应用程序。

问题是我无法启动 mule,我不确定但查看日志,我认为我的 spring 配置和 mule 存在问题。

在日志中有一个代码错误:MULE_ERROR-71999 !!!。

这是日志:

INFO  2020-11-20 15:03:20,721 [main] org.springframework.beans.factory.support.DefaultListableBeanFactory: Overriding bean definition for bean 'manual-fix-file-injection': replacing [Root bean: class [org.mule.construct.Flow]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=initialise; destroyMethodName=dispose] with [Root bean: class [org.mule.construct.Flow]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=initialise; destroyMethodName=dispose]
INFO  2020-11-20 15:03:20,723 [main] org.springframework.beans.factory.support.DefaultListableBeanFactory: Overriding bean definition for bean 'manual-fix-file-injection': replacing [Root bean: class [org.mule.construct.Flow]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=initialise; destroyMethodName=dispose] with [Root bean: class [org.mule.construct.Flow]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=initialise; destroyMethodName=dispose]
INFO  2020-11-20 15:03:20,727 [main] org.springframework.beans.factory.support.DefaultListableBeanFactory: Overriding bean definition for bean 'async-save-fill': replacing [Root bean: class [org.mule.construct.Flow]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=initialise; destroyMethodName=dispose] with [Root bean: class [org.mule.construct.Flow]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=initialise; destroyMethodName=dispose]
ERROR 2020-11-20 15:03:21,227 [main] org.mule.MuleServer: 
********************************************************************************
Message               : null
Type                  : org.mule.api.lifecycle.InitialisationException
Code                  : MULE_ERROR-71999
JavaDoc               : http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/lifecycle/InitialisationException.html
Object                : org.mule.config.spring.SpringRegistry@47e706fd
********************************************************************************
Exception stack is:
1. null (java.lang.IllegalArgumentException)
  org.springframework.asm.ClassReader:-1 (null)
2. null (org.mule.api.lifecycle.InitialisationException)
  org.mule.registry.AbstractRegistry:117 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/lifecycle/InitialisationException.html)
********************************************************************************
Root Exception stack trace:
java.lang.IllegalArgumentException
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.asm.ClassReader.<init>(Unknown Source)
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:52)
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:76)
    at org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:70)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:253)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:223)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:630)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
    at org.mule.config.spring.SpringRegistry.doInitialise(SpringRegistry.java:89)
    at org.mule.registry.AbstractRegistry.initialise(AbstractRegistry.java:109)
    at org.mule.config.spring.SpringXmlConfigurationBuilder.createSpringRegistry(SpringXmlConfigurationBuilder.java:119)
    at org.mule.config.spring.SpringXmlConfigurationBuilder.doConfigure(SpringXmlConfigurationBuilder.java:73)
    at org.mule.config.builders.AbstractConfigurationBuilder.configure(AbstractConfigurationBuilder.java:46)
    at org.mule.config.builders.AbstractResourceConfigurationBuilder.configure(AbstractResourceConfigurationBuilder.java:78)
    at org.mule.config.builders.AutoConfigurationBuilder.autoConfigure(AutoConfigurationBuilder.java:101)
    at org.mule.config.builders.AutoConfigurationBuilder.doConfigure(AutoConfigurationBuilder.java:57)
    at org.mule.config.builders.AbstractConfigurationBuilder.configure(AbstractConfigurationBuilder.java:46)
    at org.mule.config.builders.AbstractResourceConfigurationBuilder.configure(AbstractResourceConfigurationBuilder.java:78)
    at org.mule.context.DefaultMuleContextFactory.createMuleContext(DefaultMuleContextFactory.java:84)
    at org.mule.MuleServer.initialize(MuleServer.java:383)
    at org.mule.MuleServer.run(MuleServer.java:292)
    at org.mule.MuleServer.start(MuleServer.java:279)
    at com.vmd.mule.MuleServerWrapper.main(MuleServerWrapper.java:36)

********************************************************************************

ERROR 2020-11-20 15:03:21,231 [main] org.mule.MuleServer: 
********************************************************************************
* A Fatal error has occurred while the server was running:                     *
* null (java.lang.IllegalArgumentException)                                    *
*                                                                              *
* The error is fatal, the system will shutdown                                 *
********************************************************************************
INFO  2020-11-20 15:03:21,232 [Thread-0] com.vmd.mule.MuleServerWrapper: Shutting down Mule
INFO  2020-11-20 15:03:21,232 [Thread-0] com.vmd.mule.MuleServerWrapper: Mule is DOWN

我还尝试在 jre 1.8 下运行 mule,当我这样做时,我收到以下错误:

JDK Version 1.8.0_241 and/or Vendor Oracle Corporation are not supported. Please use a supported version: [1.6.0,1.7),[1.7.0,1.8). 

任何帮助或建议将不胜感激。

标签: javaspringmule

解决方案


确定使用 Java 7 启动 Mule 3.4?可能该版本与 Java 8 不兼容,这可能会导致此错误。如果您使用的是 Anypoint Studio 或较旧的 Mule Studio,请确保执行环境指向 Java 7 SDK。

如果您使用的是命令行,则需要检查 wrapper.conf 是否指向 Java 7 的正确 java 可执行文件(示例wrapper.java.command=/path/to/jdk7/bin/java)。

3.4 绝对是生命的终结和古老,与 Java 7 相同。我建议尽快迁移到当前版本。


推荐阅读