Mule中的Jetty仅适用于早期版本的Studio

时间:2014-05-27 14:58:45

标签: jetty mule mule-studio

我在使用Mule中的Jetty连接器时遇到了问题。

在我的mule配置中:

<jetty:connector name="JettyRest" configFile="jetty-rest.xml" doc:name="Jetty" />
<jetty:connector name="JettySoap" configFile="jetty-soap.xml" doc:name="Jetty" />

在Mule Studio(使用Mule Server Runtime 3.4.0 CE)中运行时完全没有问题。但是,在将项目导入Anypoint Studio并在Anypoint Studio中运行后(使用Mule Server Runtime 3.5.0 CE),我收到以下错误:

Cannot load class 'org.mortbay.jetty.Server'

即使我手动将Jetty JAR from here包含在构建路径中,也会出现此错误:

Object of class 'org.eclipse.jetty.server.Server' is not of type 'org.mortbay.jetty.Server'. Object Class and type Class are from different loaders.

使用Mule独立3.4.0 CE3.5.0 CE一起运行时会出现同样的问题。

jetty-rest.xml

<Configure id="Server" class="org.mortbay.jetty.Server">

jetty-soap.xml

<Configure id="ServerForSlow" class="org.mortbay.jetty.Server">

我错过了什么或做错了什么?

2 个答案:

答案 0 :(得分:1)

您不需要自己添加Jetty JAR:它们应该作为Mule Jetty Transport的一部分加入您的项目中,这是一个官方支持的核心传输:

Studio是否将Jetty传输添加到您的构建路径/ POM文件中?

答案 1 :(得分:1)

我设法找出导致问题的原因。 Mule 3.5.0 CE Jetty传输现在使用Jetty 8,我以前使用Jetty 6和Mule 3.4.0 CE

MIGRATION.txt内:

MULE-7061: Jetty transport is now using Jetty 8. Applications using a custom jetty.xml configuration file must update the Jetty classes referenced in this file due to package names changed from version 6 to 7, as explained here: http://wiki.eclipse.org/Jetty/Starting/Porting_to_Jetty_7/Packages_and_Classes

在关注instructions in the link provided后,我将文件转换为使用Jetty 8。