在以下 Web 服务中替换 mule 和 jetty 的替代方法是啥?
Posted
技术标签:
【中文标题】在以下 Web 服务中替换 mule 和 jetty 的替代方法是啥?【英文标题】:What is the alternative available for replacing mule and jetty in the below webservice?在以下 Web 服务中替换 mule 和 jetty 的替代方法是什么? 【发布时间】:2019-04-09 11:01:56 【问题描述】:我需要在我的网络服务中离开 mule 和 jetty/jersey。我正在寻找一种替代方法来实现当前代码。
我正在像这样启动服务 -
org.mule.MuleServer -config deploy_jetty_jersey.xml
deploy_jetty_jersey.xml
http://www.mulesource.org/schema/mule/jetty/2.2 http://www.mulesource.org/schema/mule/jetty/2.2/mule-jetty.xsd http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd http://www.mulesource.org/schema/mule/jersey/2.2 http://www.mulesource.org/schema/mule/jersey/2.2/mule-jersey.xsd http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">
<jetty:connector name="httpConnector" useContinuations="true"
configFile="jettyConfig.xml" />
<jetty:endpoint address="http://localhost:8080" name="serverEndpoint"
path="html" synchronous="false" />
<model name="ServiceSample">
<service name="testComponent">
<inbound>
<jetty:inbound-endpoint ref="serverEndpoint" />
</inbound>
</service>
<service name="restTestHello" initialState="started">
<inbound>
<inbound-endpoint address="jersey:http://localhost:7003/rest"
synchronous="true" />
</inbound>
<component>
<singleton-object class="com.rest.RestResource" />
</component>
</service>
</model>
jettyConfig.xml
<Set name="handler">
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.mortbay.jetty.Handler">
<Item>
<New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection" />
</Item>
<Item>
<New id="DefaultHandler" class="org.mortbay.jetty.handler.DefaultHandler" />
</Item>
<Item>
<New id="StaticHandler" class="org.mortbay.jetty.handler.ResourceHandler" />
</Item>
<Item>
<New class="org.mortbay.jetty.handler.ContextHandler">
<Set name="contextPath">/</Set>
<Set name="resourceBase">
<SystemProperty name="jetty.home" default="." />
XXXXXX
</Set>
<Call name="addHandler">
<Arg>
<New class="org.mortbay.jetty.handler.ResourceHandler" />
</Arg>
</Call>
</New>
</Item>
</Array>
</Set>
</New>
</Set>
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.WebAppDeployer">
<Set name="contexts">
<Ref id="Contexts" />
</Set>
<Set name="webAppDir">XXX</Set>
</New>
</Arg>
</Call>
<Set name="stopAtShutdown">true</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">true</Set>
<Set name="gracefulShutdown">1000</Set>
我需要一个使用类似 xml 结构的替代软件,这样 Java 的变化就会最小。
【问题讨论】:
向开放式问题提出建议确实不太适合***。你试过什么?为什么它不起作用? 您正在使用org.mortbay.jetty
,这是一个古老且很久以前的 EOL(生命终结)版本的 Jetty。 Jetty project moved to Eclipse 大约在 10 年前,并且仍在 org.eclipse.jetty
命名空间上维护。最新版本是9.4.15.v20190215
。
Mule 2.2 也是一个古老且过时的版本。
【参考方案1】:
显而易见的替代方案是迁移到更新的 Mule 版本并用 HTTP 侦听器替换码头连接器。如果您使用 RAML 文件定义 REST API,您还可以使用 APIKit 路由和验证。
【讨论】:
以上是关于在以下 Web 服务中替换 mule 和 jetty 的替代方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章