Mule自带例子之stockquote
1 配置效果图

2 配置文件
<?xml version="1.0" encoding="UTF-8"?> <mule version="CE-3.4.0"
xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml"
xmlns:jersey="http://www.mulesoft.org/schema/mule/jersey"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/jersey http://www.mulesoft.org/schema/mule/jersey/current/mule-jersey.xsd
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd
http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-current.xsd"> <context:property-placeholder location="stockquote.properties" system-properties-mode="OVERRIDE" /> <object-to-string-transformer name="ObjectToString" doc:name="Object to String" />
<custom-transformer name="XmlDecoder" class="org.mule.transformer.codec.XmlEntityDecoder" doc:name="Java"/>
<mulexml:xslt-transformer name="XsltRest" xsl-file="xsl/rest-stock.xsl" maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT"/>
<mulexml:xslt-transformer name="XsltSoap" xsl-file="xsl\soap-stock.xsl" maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT"/>
<mulexml:xml-to-object-transformer name="XmlToObject" doc:name="XML to Object"/> <flow name="HTTP_input">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="${port1}" path="stockquote"
responseTransformer-refs="ObjectToString" doc:name="HTTP"/>
<http:body-to-parameter-map-transformer doc:name="Body to Parameter Map"/>
<choice doc:name="Choice">
<when expression="payload.method == 'REST'" evaluator="groovy">
<logger message="Enter REST when clause." level="INFO" doc:name="logger in REST"/>
<processor-chain>
<flow-ref name="REST" doc:name="REST"/>
<logger message="After HTTP_input REST: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [B@1280f39 -->
</processor-chain>
<logger message="After HTTP_input REST processor-chain: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [B@1280f39 -->
</when>
<when expression="payload.method == 'SOAP'" evaluator="groovy">
<logger message="Enter SOAP when clause." level="INFO" doc:name="logger in SOAP"/>
<processor-chain>
<flow-ref name="SOAP" doc:name="SOAP"/>
</processor-chain>
</when>
<when expression="payload.method == 'WSDL'" evaluator="groovy">
<logger message="Enter WSDL when clause." level="INFO" doc:name="logger in WSDL"/>
<processor-chain>
<flow-ref name="WSDL" doc:name="WSDL"/>
</processor-chain>
</when>
</choice> <logger message="Before HTTP_input XmlToObject transformer: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [B@1280f39 -->
<transformer ref="XmlToObject" doc:name="Xml To Object"/>
<!--
<mulexml:xml-to-object-transformer name="XmlToObject" doc:name="XML to Object"/>功能:
把'class [B'类型转换为StockQuote
class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 9:56am, last=28.82, change=-0.12, open=29.00, high=29.04, low=28.79, volume=2410178, previousClose=28.94]
-->
<logger message="After HTTP_input XmlToObject transformer: #[payload.getClass()] - #[payload]" level="INFO" />
</flow> <!--
功能:调用REST服务,获取symbol=CSCO的信息
输入的类型:class java.util.HashMap - {symbol=CSCO, method=REST}
输出的类型:class [B - [B@1280f39
-->
<sub-flow name="REST">
<logger message="Before REST set-payload: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.util.HashMap - {symbol=CSCO, method=REST} -->
<set-payload value="Symbol=#[payload['symbol']]" doc:name="Extract Symbol"/>
<logger message="After REST set-payload: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.lang.String - Symbol=CSCO --> <set-property propertyName="Content-Type" value="application/x-www-form-urlencoded" doc:name="Set Content-Type property"/> <!-- http:outbound-endpoint 向地址做一次http连接请求, 请求响应模型,等待响应 -->
<logger message="Before REST http:outbount-endpoint: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.lang.String - Symbol=CSCO -->
<http:outbound-endpoint exchange-pattern="request-response" address="http://www.webservicex.net/stockquote.asmx/GetQuote" doc:name="Invoke REST service"/>
<logger message="After REST http:outbount-endpoint: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class org.mule.transport.http.ReleasingInputStream - org.mule.transport.http.ReleasingInputStream@1ef9b2e --> <!--
<custom-transformer name="XmlDecoder" class="org.mule.transformer.codec.XmlEntityDecoder" ... />转换器从ReleasingInputStream中解出XML内容:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://www.webserviceX.NET/">
<StockQuotes>
<Stock>
<Symbol>CSCO</Symbol>
<Last>28.885</Last>
<Date>6/23/2015</Date>
<Time>9:49am</Time>
<Change>-0.055</Change>
<Open>29.000</Open>
<High>29.036</High>
<Low>28.820</Low>
<Volume>1836184</Volume>
<MktCap>146.91B</MktCap>
<PreviousClose>28.940</PreviousClose>
<PercentageChange>-0.190%</PercentageChange>
<AnnRange>22.490 - 30.310</AnnRange>
<Earns>1.721</Earns>
<P-E>16.784</P-E>
<Name>Cisco Systems</Name>
</Stock>
</StockQuotes>
</string>
-->
<transformer ref="XmlDecoder" doc:name="Transformer Reference"/>
<logger message="After REST XmlDecoder transformer: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [B@c3e965
<mulexml:xslt-transformer name="XsltRest" .../>转换器, 把<string>...</string>转换为一个内容大概如下的类型为'[B'的对象
<org.mule.example.stockquote.StockQuote>
<Stock>
<Symbol>CSCO</Symbol>
<Last>28.885</Last>
<Date>6/23/2015</Date>
<Time>9:49am</Time>
<Change>-0.055</Change>
<Open>29.000</Open>
<High>29.036</High>
<Low>28.820</Low>
<Volume>1836184</Volume>
<MktCap>146.91B</MktCap>
<PreviousClose>28.940</PreviousClose>
<PercentageChange>-0.190%</PercentageChange>
<AnnRange>22.490 - 30.310</AnnRange>
<Earns>1.721</Earns>
<P-E>16.784</P-E>
<Name>Cisco Systems</Name>
</Stock>
</org.mule.example.stockquote.StockQuote>
-->
<transformer ref="XsltRest" doc:name="Transformer Reference"/>
<logger message="After REST XsltRest transformer: #[payload.getClass()] - #[payload]" level="INFO" />
</sub-flow> <sub-flow name="SOAP" doc:name="SOAP"> <logger message="Before SOAP set-payload: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.util.HashMap - {symbol=CSCO, method=SOAP} -->
<set-payload value="#[payload['symbol']]" doc:name="Extract Symbol"/>
<logger message="After SOAP set-payload: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.lang.String - CSCO --> <processor-chain>
<cxf:jaxws-client operation="GetQuote" clientClass="net.webservicex.StockQuote" port="StockQuoteSoap" wsdlLocation="classpath:stockquote.wsdl" doc:name="SOAP client"/>
<http:outbound-endpoint address="http://www.webservicex.net/stockquote.asmx" doc:name="HTTP endpoint"/>
<!-- class org.mule.transport.http.ReleasingInputStream - org.mule.transport.http.ReleasingInputStream@1e41c46 -->
<logger message="After SOAP http:outbound-endpoint: #[payload.getClass()] - #[payload]" level="INFO" />
</processor-chain>
<!--
此处表面 processor-chain 会把请求的响应ReleasingInputStream流类型 处理为对应的String格式
class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.88</Last> ...................
-->
<logger message="After SOAP processor-chain: #[payload.getClass()] - #[payload]" level="INFO" /> <transformer ref="XmlDecoder" doc:name="XmlDecoder transformer"/>
<logger message="After SOAP XmlDecoder transformer: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</ --> <transformer ref="XsltSoap" doc:name="XsltSoap transformer"/>
<logger message="After SOAP XsltSoap transformer: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [B@16dcbb9 -->
</sub-flow> <sub-flow name="WSDL">
<set-payload value="#[payload['symbol']]" doc:name="Extract Symbol"/>
<outbound-endpoint exchange-pattern="request-response" address="wsdl-cxf:http://www.webservicex.net/stockquote.asmx?WSDL&method=GetQuote" doc:name="Wsdl"/>
<transformer ref="XmlDecoder" doc:name="XmlDecoder transformer"/>
<transformer ref="XsltSoap" doc:name="XmlSoap transformer"/>
</sub-flow>
</mule>
3 样式单文件
xsl/rest-stock.xsl
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="2.0"
xmlns:sq="http://www.webserviceX.NET/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/sq:string/sq:StockQuotes/sq:Stock">
<org.mule.example.stockquote.StockQuote>
<name><xsl:value-of select="sq:Name"/></name>
<symbol><xsl:value-of select="sq:Symbol"/></symbol>
<date><xsl:value-of select="sq:Date"/><xsl:text> </xsl:text><xsl:value-of select="sq:Time"/></date>
<change><xsl:value-of select="sq:Change"/></change>
<last><xsl:value-of select="sq:Last"/></last>
<open><xsl:value-of select="sq:Open"/></open>
<high><xsl:value-of select="sq:High"/></high>
<low><xsl:value-of select="sq:Low"/></low>
<volume><xsl:value-of select="sq:Volume"/></volume>
<previousClose><xsl:value-of select="sq:PreviousClose"/></previousClose>
</org.mule.example.stockquote.StockQuote>
</xsl:template>
</xsl:stylesheet>
xsl/soap-stock.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/StockQuotes/Stock">
<org.mule.example.stockquote.StockQuote>
<name><xsl:value-of select="Name"/></name>
<symbol><xsl:value-of select="Symbol"/></symbol>
<date><xsl:value-of select="Date"/><xsl:text> </xsl:text><xsl:value-of select="Time"/></date>
<change><xsl:value-of select="Change"/></change>
<last><xsl:value-of select="Last"/></last>
<open><xsl:value-of select="Open"/></open>
<high><xsl:value-of select="High"/></high>
<low><xsl:value-of select="Low"/></low>
<volume><xsl:value-of select="Volume"/></volume>
<previousClose><xsl:value-of select="PreviousClose"/></previousClose>
</org.mule.example.stockquote.StockQuote>
</xsl:template>
</xsl:stylesheet>
截取的http://www.webservicex.net/stockquote.asmx服务的响应:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://www.webserviceX.NET/">
<StockQuotes>
<Stock>
<Symbol>CSCO</Symbol>
<Last>28.885</Last>
<Date>6/23/2015</Date>
<Time>9:49am</Time>
<Change>-0.055</Change>
<Open>29.000</Open>
<High>29.036</High>
<Low>28.820</Low>
<Volume>1836184</Volume>
<MktCap>146.91B</MktCap>
<PreviousClose>28.940</PreviousClose>
<PercentageChange>-0.190%</PercentageChange>
<AnnRange>22.490 - 30.310</AnnRange>
<Earns>1.721</Earns>
<P-E>16.784</P-E>
<Name>Cisco Systems</Name>
</Stock>
</StockQuotes>
</string>
4 测试
1)REST

日志输出:
INFO 2015-06-23 22:51:41,322 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Enter REST when clause.
INFO 2015-06-23 22:51:41,327 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Before REST set-payload: class java.util.HashMap - {symbol=CSCO, method=REST}
INFO 2015-06-23 22:51:41,330 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST set-payload: class java.lang.String - Symbol=CSCO ++++++++++++++++++++ 子流REST中的日志输出(子流REST的输入类型为String) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO 2015-06-23 22:51:41,332 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Before REST http:outbount-endpoint: class java.lang.String - Symbol=CSCO
INFO 2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO 2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'connector.http.mule.default.dispatcher.32667419'. Object is: HttpClientMessageDispatcher
INFO 2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'connector.http.mule.default.dispatcher.32667419'. Object is: HttpClientMessageDispatcher
INFO 2015-06-23 22:51:43,179 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST http:outbount-endpoint: class org.mule.transport.http.ReleasingInputStream - org.mule.transport.http.ReleasingInputStream@3d2056 <custom-transformer name="XmlDecoder" class="org.mule.transformer.codec.XmlEntityDecoder" doc:name="Java"/>处理器从ReleasingInputStream中解除XML字符串
INFO 2015-06-23 22:51:43,183 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST XmlDecoder transformer: class java.lang.String - <?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://www.webserviceX.NET/"><StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.71</Last><Date>6/23/2015</Date><Time>10:37am</Time><Change>-0.23</Change><Open>29.00</Open><High>29.04</High><Low>28.71</Low><Volume>4101960</Volume><MktCap>146.02B</MktCap><PreviousClose>28.94</PreviousClose><PercentageChange>-0.79%</PercentageChange><AnnRange>22.49 - 30.31</AnnRange><Earns>1.72</Earns><P-E>16.68</P-E><Name>Cisco Systems</Name></Stock></StockQuotes></string>
INFO 2015-06-23 22:51:43,194 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST XsltRest transformer: class [B - [B@64c4fb
++++++++++++++++++ 子流REST结束(子流REST的输出类型为'[B') ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INFO 2015-06-23 22:51:43,196 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input REST: class [B - [B@64c4fb
INFO 2015-06-23 22:51:43,198 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input REST processor-chain: class [B - [B@64c4fb
INFO 2015-06-23 22:51:43,199 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Before HTTP_input XmlToObject transformer: class [B - [B@64c4fb
INFO 2015-06-23 22:51:43,211 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input XmlToObject transformer: class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 10:37am, last=28.71, change=-0.23, open=29.00, high=29.04, low=28.71, volume=4101960, previousClose=28.94]
2)SOAP

日志:
INFO 2015-06-23 23:04:20,910 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Enter SOAP when clause.
INFO 2015-06-23 23:04:20,912 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Before SOAP set-payload: class java.util.HashMap - {symbol=CSCO, method=SOAP}
INFO 2015-06-23 23:04:20,915 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP set-payload: class java.lang.String - CSCO
INFO 2015-06-23 23:04:20,919 [[stockquote].connector.http.mule.default.receiver.03] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2015-06-23 23:04:20,919 [[stockquote].connector.http.mule.default.receiver.03] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO 2015-06-23 23:04:20,920 [[stockquote].connector.http.mule.default.receiver.03] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2015-06-23 23:04:20,920 [[stockquote].connector.http.mule.default.receiver.03] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'connector.http.mule.default.dispatcher.18322687'. Object is: HttpClientMessageDispatcher
INFO 2015-06-23 23:04:20,920 [[stockquote].connector.http.mule.default.receiver.03] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'connector.http.mule.default.dispatcher.18322687'. Object is: HttpClientMessageDispatcher
INFO 2015-06-23 23:04:22,391 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP http:outbound-endpoint: class org.mule.transport.http.ReleasingInputStream - org.mule.transport.http.ReleasingInputStream@1b403a3
INFO 2015-06-23 23:04:22,400 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP processor-chain: class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.7299</Last><Date>6/23/2015</Date><Time>10:50am</Time><Change>-0.2101</Change><Open>29.0000</Open><High>29.0360</High><Low>28.6500</Low><Volume>4746376</Volume><MktCap>146.12B</MktCap><PreviousClose>28.9400</PreviousClose><PercentageChange>-0.7260%</PercentageChange><AnnRange>22.4900 - 30.3100</AnnRange><Earns>1.7210</Earns><P-E>16.6937</P-E><Name>Cisco Systems</Name></Stock></StockQuotes>
INFO 2015-06-23 23:04:22,419 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP XmlDecoder transformer: class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.7299</Last><Date>6/23/2015</Date><Time>10:50am</Time><Change>-0.2101</Change><Open>29.0000</Open><High>29.0360</High><Low>28.6500</Low><Volume>4746376</Volume><MktCap>146.12B</MktCap><PreviousClose>28.9400</PreviousClose><PercentageChange>-0.7260%</PercentageChange><AnnRange>22.4900 - 30.3100</AnnRange><Earns>1.7210</Earns><P-E>16.6937</P-E><Name>Cisco Systems</Name></Stock></StockQuotes>
INFO 2015-06-23 23:04:22,429 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP XsltSoap transformer: class [B - [B@1abd128
INFO 2015-06-23 23:04:22,432 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Before HTTP_input XmlToObject transformer: class [B - [B@1abd128
INFO 2015-06-23 23:04:22,435 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input XmlToObject transformer: class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 10:50am, last=28.7299, change=-0.2101, open=29.0000, high=29.0360, low=28.6500, volume=4746376, previousClose=28.9400]
3)WSDL

日志:
INFO 2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO 2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'connector.http.mule.default.dispatcher.5785394'. Object is: HttpClientMessageDispatcher
INFO 2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'connector.http.mule.default.dispatcher.5785394'. Object is: HttpClientMessageDispatcher
INFO 2015-06-23 23:05:37,407 [[stockquote].connector.http.mule.default.receiver.04] org.mule.api.processor.LoggerMessageProcessor: Before HTTP_input XmlToObject transformer: class [B - [B@19362f0
INFO 2015-06-23 23:05:37,415 [[stockquote].connector.http.mule.default.receiver.04] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input XmlToObject transformer: class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 10:51am, last=28.725, change=-0.215, open=29.000, high=29.036, low=28.650, volume=4786820, previousClose=28.940]
Mule自带例子之stockquote的更多相关文章
- Mule自带例子之loanbroker-simple
1 配置效果图 2 配置文件 <?xml version="1.0" encoding="UTF-8"?> <mule xmlns:cxf=& ...
- Mule自带例子之flight-reservation
1 配置效果图 2 应用的配置文件 <?xml version="1.0" encoding="UTF-8"?> <mule xmlns:sc ...
- Mule ESB 自带例子hello初体验
1 配置的流的效果图 2 应用配置文件hello.xml内容 <?xml version="1.0" encoding="UTF-8"?> < ...
- 可视化工具solo show-----Prefuse自带例子GraphView讲解
2014.10.15日以来的一个月,挤破了头.跑断了腿.伤透了心.吃够了全国最大餐饮连锁店——沙县小吃.其中酸甜苦辣,绝不是三言两语能够说得清道的明的.校招的兄弟姐妹们,你们懂得…… 体会最深的一句话 ...
- MYSQL的锁介绍,以及死锁发生情况-带例子
mysql锁能在并发情况下的mysql进行更好的优化 MySQL有三种锁的级别:页级.表级.行级,这3种锁的特性可大致归纳如下: 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高 ...
- hadoop自带例子wordcount的具体运行步骤
1.在hadoop所在目录“usr/local”下创建一个文件夹input root@ubuntu:/usr/local# mkdir input 2.在文件夹input中创建两个文本文件file1. ...
- asp.net web api 2.2 基础框架(带例子)
链接:https://github.com/solenovex/asp.net-web-api-2.2-starter-template 简介 这个是我自己编写的asp.net web api 2.2 ...
- OPENCV SVM介绍和自带例子
依据机器学习算法如何学习数据可分为3类:有监督学习:从有标签的数据学习,得到模型参数,对测试数据正确分类:无监督学习:没有标签,计算机自己寻找输入数据可能的模型:强化学习(reinforcement ...
- Python中threading的join和setDaemon的区别[带例子]
python的进程和线程经常用到,之前一直不明白threading的join和setDaemon的区别和用法,今天特地研究了一下.multiprocessing中也有这两个方法,同样适用,这里以thr ...
随机推荐
- 分布式--ActiveMQ 消息中间件(一) https://www.jianshu.com/p/8b9bfe865e38
1. ActiveMQ 1). ActiveMQ ActiveMQ是Apache所提供的一个开源的消息系统,完全采用Java来实现,因此,它能很好地支持J2EE提出的JMS(Java Message ...
- [Offer收割]编程练习赛104
题目过于简单,没啥好说的,但是拿了个第一感觉很爽,记录一下 题目1 : 小Hi与魔法 排序,从1开始递增 #include <bits/stdc++.h> using namespace ...
- jpa hibernate 打印sql,format日志,打印SQL参数,打印什么指令
环境说明:IntelliJ IDEA 2017.3.4 版本:SpringBoot 2.0.0.RELEASE:hibernate用的是JPA自带. 打印SQL 到控制台: 首先,我使用的是appli ...
- Tips:取消UICollectionView的隐式动画
http://www.cocoachina.com/ios/20151204/14211.html UICollectionView在reloadItems的时候,默认会附加一个隐式的fade动画,有 ...
- JavaScript--函数中()的作用
在函数中参数是函数的时候:function a(函数名) 与 function a(函数名()) 的区别: // 在函数里面() 是一个编组和立即执行的功能 /** * function autoPl ...
- iphone开发中使用nib(xib)文件的内存管理
iphoneuinavigationcontrollercocoauiviewvariableswindows 在使用nib文件做界面开发的过程中,加载nib文件后,由于设置了outlet和deleg ...
- Mac终端打开AndroidStudio已创建模拟器
目的 偶尔我们只是想运行模拟器,并不想打开AndroidStudio,这时我们可以从终端找到emulator,通过emulator来启动指定名称的模拟器 步骤 1.找到emulator所在位置 fin ...
- ASO优化经验:APP关键字优化的技巧
当开发首款产品的时候,可能你根本连ASO是什么都不知道,因为有太多别的事情需要你做.大多数新手开发商甚至到游戏要进入Appstore的时候才知道有“关键字”这件事要去研究.正因为这些开发商几乎没有在关 ...
- Person Re-identification 系列论文笔记(一):Scalable Person Re-identification: A Benchmark
打算整理一个关于Person Re-identification的系列论文笔记,主要记录近年CNN快速发展中的部分有亮点和借鉴意义的论文. 论文笔记流程采用contributions->algo ...
- BZOJ 1008 越狱题解
其实这题很水,显然n个房间有m种宗教,总共有n^m种情况, 我们再考虑不合法的情况,显然第一个房间有m种情况,而后一种只有m-1种情况(因为不能相同) 所以不合法的情况有(m-1)^(n-1)*m种情 ...