Mule ESB 自带例子hello初体验
1 配置的流的效果图
2 应用配置文件hello.xml内容
<?xml version="1.0" encoding="UTF-8"?> <mule xmlns:vm="http://www.mulesoft.org/schema/mule/vm" 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" version="CE-3.4.0"
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/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd"> <!-- 自定义全局转换器 -->
<custom-transformer class="org.mule.example.hello.StringToNameString" name="StringToNameString" doc:name="Java" />
<custom-transformer class="org.mule.example.hello.NameStringToChatString" name="NameStringToChatString" doc:name="Java" />
<custom-transformer class="org.mule.example.hello.HttpRequestToNameString" name="HttpRequestToNameString" doc:name="Java" />
<custom-transformer class="org.mule.example.hello.ChatStringToString" name="ChatStringToString" doc:name="Java" /> <!-- 定义HelloWorld流(消息源是一个HTTP入站端点) -->
<flow name="HelloWorld">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8888" doc:name="Http Endpoint"/>
<message-filter doc:name="Filter favicon">
<not-filter>
<wildcard-filter pattern="/favicon.ico" caseSensitive="true"/>
</not-filter>
</message-filter>
<transformer ref="HttpRequestToNameString" doc:name="Transrom HttpRequest to NameString"/>
<flow-ref name="HelloWorldSubFlow" doc:name="Process request"/>
<catch-exception-strategy doc:name="Catch Exception Strategy">
<logger message="#[payload]" level="ERROR" doc:name="Error Log"/>
</catch-exception-strategy>
</flow> <!-- 定义HelloWorldVm流(消息源是一个VM入站端点) -->
<flow name="HelloWorldVm">
<vm:inbound-endpoint exchange-pattern="request-response" path="greeter" doc:name="VM Endpoint"/>
<transformer ref="StringToNameString" doc:name="Transform String to NameString"/>
<flow-ref name="HelloWorldSubFlow" doc:name="Process request"/>
</flow> <!-- 定义子流HelloWorldSubFlow -->
<sub-flow name="HelloWorldSubFlow">
<component class="org.mule.example.hello.Greeter" doc:name="Greeter Component"/>
<choice doc:name="Choice">
<when expression="payload instanceof org.mule.example.hello.NameString" evaluator="groovy">
<processor-chain doc:name="ProcessorChain1">
<flow-ref name="ChitChat" doc:name="Process ChitChat"/>
</processor-chain>
</when>
<when expression="payload instanceof java.lang.Exception" evaluator="groovy">
<processor-chain doc:name="ProcessorChain2">
<logger message="#[payload]" level="ERROR" doc:name="Error Log"/>
</processor-chain>
</when>
</choice>
</sub-flow> <!-- 定义子流ChitChat -->
<sub-flow name="ChitChat">
<transformer ref="NameStringToChatString" doc:name="Transform NameString to ChatString"/>
<component class="org.mule.example.hello.ChitChatter" doc:name="ChitChatter component"/>
<transformer ref="ChatStringToString" doc:name="Transform ChatString to String"/>
</sub-flow>
</mule>
4 消息处理器类
1)HttpRequestToNameString
package org.mule.example.hello; import java.io.InputStream;
import java.net.URLDecoder; import org.mule.api.transformer.TransformerException;
import org.mule.transformer.AbstractTransformer;
import org.mule.transformer.types.DataTypeFactory;
import org.mule.util.IOUtils; public class HttpRequestToNameString extends AbstractTransformer { private static final String NAME_REQUEST_PARAMETER = "name="; public HttpRequestToNameString() {
super();
this.registerSourceType(DataTypeFactory.STRING);
this.registerSourceType(DataTypeFactory.BYTE_ARRAY);
this.registerSourceType(DataTypeFactory.INPUT_STREAM);
this.registerSourceType(DataTypeFactory.create(NameString.class));
} @Override
protected Object doTransform(Object src, String enc) throws TransformerException {
String srcStr = converRequestToString(src, enc);
String requestQueryStr = extractRequestQuery(srcStr);
String nameValueStr = extractNameValue(requestQueryStr); System.out.println("消息负载字符串:" + srcStr); //"/?name=asn"
return new NameString(nameValueStr);
} /**
* 转换消息负载为字符串对象
* @param src
* @param outputEncoding
* @return
*/
private String converRequestToString(Object src, String outputEncoding) {
String srcAsString = null; if (src instanceof Byte[]) {
if (outputEncoding != null) {
try {
srcAsString = new String((byte[]) src, outputEncoding);
} catch (Exception e) {
srcAsString = new String((byte[]) src);
}
} else {
srcAsString = new String((byte[]) src);
}
} else if (src instanceof InputStream) {
InputStream input = (InputStream) src;
try {
srcAsString = IOUtils.toString(input);
} catch (Exception e) { } finally {
IOUtils.closeQuietly(input);
}
} else {
srcAsString = src.toString();
}
return srcAsString;
} /**
* 从消息负载字符串中,取出查询串
* @param request
* @return
*/
private String extractRequestQuery(String request) {
String requestQuery = null; if (request != null && request.length() > 0 && request.indexOf('?') != -1) {
requestQuery = request.substring(request.indexOf('?') + 1).trim();
}
return requestQuery;
} /**
* 从查询字符串中,抽取出 name对应的值xxx
* @param requestQuery
* @return
* @throws TransformerException
*/
private String extractNameValue(String requestQuery) throws TransformerException {
String nameValue = null; if (requestQuery != null && requestQuery.length() > 0) {
int nameParamterPos = requestQuery.indexOf(NAME_REQUEST_PARAMETER); if (nameParamterPos != -1) {
int nextParameterValuePos = requestQuery.indexOf('&');
if (nextParameterValuePos == -1 || nextParameterValuePos < nameParamterPos) {
nextParameterValuePos = requestQuery.length();
}
nameValue = requestQuery.substring(nameParamterPos + NAME_REQUEST_PARAMETER.length(), nextParameterValuePos);
}
if (nameValue != null && nameValue.length() > 0) {
try {
nameValue = URLDecoder.decode(nameValue, "utf-8");
} catch (Exception e) {
logger.error(e.getMessage());
}
}
} if (nameValue == null) {
nameValue = "";
}
return nameValue;
}
}
2) StringToNameString
package org.mule.example.hello; import org.mule.api.transformer.TransformerException;
import org.mule.transformer.AbstractTransformer;
import org.mule.transformer.types.DataTypeFactory; public class StringToNameString extends AbstractTransformer { public StringToNameString() {
super();
this.registerSourceType(DataTypeFactory.STRING);
this.setReturnDataType(DataTypeFactory.create(NameString.class));
} @Override
protected Object doTransform(Object src, String enc) throws TransformerException {
return new NameString((String) src);
}
}
3) NameStringToChatString
package org.mule.example.hello; import org.mule.api.transformer.TransformerException;
import org.mule.transformer.AbstractTransformer;
import org.mule.transformer.types.DataTypeFactory; public class NameStringToChatString extends AbstractTransformer { public NameStringToChatString() {
super();
this.registerSourceType(DataTypeFactory.create(NameString.class));
this.setReturnDataType(DataTypeFactory.create(ChatString.class));
} @Override
protected Object doTransform(Object src, String enc) throws TransformerException { ChatString chatString = new ChatString();
NameString nameString = (NameString) src;
chatString.append(nameString.getGreeting() + " ");
chatString.append(nameString.getName()); return chatString;
}
}
4) ChatStringToString
package org.mule.example.hello; import org.mule.api.transformer.TransformerException;
import org.mule.transformer.AbstractTransformer;
import org.mule.transformer.types.DataTypeFactory; public class ChatStringToString extends AbstractTransformer { public ChatStringToString() {
super();
this.registerSourceType(DataTypeFactory.create(ChatString.class));
this.setReturnDataType(DataTypeFactory.STRING);
} @Override
protected Object doTransform(Object src, String enc) throws TransformerException {
ChatString chatString = (ChatString) src;
return chatString.toString();
}
}
5 其他类
a. 组件类
1) Greeter, 对应hello.xml中的配置: <component class="org.mule.example.hello.Greeter" doc:name="Greeter Component"/>
package org.mule.example.hello; public class Greeter { private String greeting = ""; public Greeter() {
greeting = LocaleMessage.getGreetingPart1();
} public Object greet(NameString person) {
Object payload = person; if (person.isValid())
person.setGreeting(greeting);
else
payload = new Exception(LocaleMessage.getInvalidNameError());
return payload;
}
}
2) ChitChatter, 对应hello.xml中的配置:<component class="org.mule.example.hello.ChitChatter" doc:name="ChitChatter component"/>
package org.mule.example.hello; public class ChitChatter { private String chitchat = ""; public ChitChatter() {
chitchat = LocaleMessage.getGreetingPart2(); //, how are you?
} public void chat(ChatString string) {
string.append(chitchat);
}
}
b. 可序列化对象类
1)NameString
package org.mule.example.hello; import java.io.Serializable; public class NameString implements Serializable { /**
*
*/
private static final long serialVersionUID = 8285728498650648583L; private String name;
private String greeting; public NameString() {
this.name = null;
} public NameString(String name) {
this.name = name;
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGreeting() {
return greeting;
}
public void setGreeting(String greeting) {
this.greeting = greeting;
} //名字是一个非null非空字符串就是合法的
public boolean isValid() {
return name != null && name.length() > 0;
}
}
2) ChatString
package org.mule.example.hello; import java.io.Serializable; public class ChatString implements Serializable { /**
*
*/
private static final long serialVersionUID = 3034358132588499676L; private StringBuffer string = new StringBuffer(); public StringBuffer append(String str) {
return string.append(str);
} public StringBuffer append(StringBuffer sb) {
return string.append(sb);
} public StringBuffer insert(int offset, char[] str) {
return string.insert(offset, str);
} public StringBuffer insert(int index, char[] str, int offset, int len) {
return string.insert(index, str, offset, len);
} public int getSize() {
return string.length();
} public String toString() {
return string.toString();
}
}
c. 本地资源获取工具类
资源文件 hello-example-messages.properties
1=, how are you?
2=Hello
3=Please enter you name
3=Please provide a valid name with at least one character!
获取资源工具类 LocaleMessage
package org.mule.example.hello; import org.mule.config.i18n.MessageFactory; public class LocaleMessage extends MessageFactory { private static final LocaleMessage factory = new LocaleMessage();
private static final String BUNDLE_PATH = "messages.hello-example-messages"; public static String getGreetingPart2() {
return factory.getString(BUNDLE_PATH, 1);
} public static String getGreetingPart1() {
return factory.getString(BUNDLE_PATH, 2);
} public static String getPrompt() {
return factory.getString(BUNDLE_PATH, 3);
} public static String getInvalidNameError() {
return factory.getString(BUNDLE_PATH, 4);
}
}
d. 测试类
1)可序列化对象类和自定义消息处理器类的测试
package org.mule.example.hello; import java.io.ByteArrayInputStream;
import java.io.InputStream; import org.junit.Test;
import org.mule.tck.junit4.AbstractMuleTestCase;
import org.mule.transformer.types.DataTypeFactory; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue; public class HelloSampleTestCase extends AbstractMuleTestCase { /**
* 对可序列化对象类Greeter的方法进行测试
*/
@Test
public void testGreeter() {
NameString name = new NameString("Fred");
assertNotNull(name.getName());
assertNull(name.getGreeting()); name.setName("Another Fred");
Greeter greeter = new Greeter();
greeter.greet(name);
assertNotNull(name.getGreeting());
} /**
* 对可序列化对象类testChitChatter的方法进行测试
*/
@Test
public void testChitChatter() {
NameString name = new NameString("Barney");
assertNotNull(name.getName());
assertNull(name.getGreeting()); ChatString chat = new ChatString();
assertTrue(chat.getSize() == 0);
ChitChatter chitChatter = new ChitChatter();
chitChatter.chat(chat);
assertTrue(chat.getSize() > 0);
System.out.println("chat.getSize(): " + chat.getSize() + ", chat.getGreeting(): " + chat); int size = chat.getSize();
chat.append("Blah");
chat.append(new StringBuffer("Blah"));
assertTrue(chat.toString().endsWith("BlahBlah"));
chat.insert(0, "Blah".toCharArray(), 0, 2);
chat.insert(2, "Blah".toCharArray());
assertTrue(chat.toString().startsWith("BlBlah"));
assertEquals(size + 4 + 4 + 2 + 4, chat.getSize());
} //测试 StringToNameString 消息转换器
@Test
public void testStringToNameTransformer() throws Exception {
String temp = "Wilma";
StringToNameString trans = new StringToNameString();
Object result = trans.transform(temp); assertNotNull(result);
assertTrue(result instanceof NameString); NameString name = (NameString) result;
assertNotNull(name.getName());
assertNull(name.getGreeting()); result = trans.transform("Another Wilma");
assertNotNull(result);
assertTrue(result instanceof NameString); name = (NameString) result;
assertNotNull(name.getName());
assertEquals("Another Wilma", name.getName());
} //测试 HttpRequestToNameString 消息转换器
@Test
public void testHttpRequestToNameTransformer() throws Exception {
String temp = "whateverUrl?name=Wilma";
HttpRequestToNameString trans = new HttpRequestToNameString();
Object result = trans.transform(temp); assertNotNull(result);
assertTrue(result instanceof NameString); NameString name = (NameString) result;
assertNotNull(name.getName());
assertNull(name.getGreeting()); result = trans.transform("whateverUrl?street=Sonnenstrasse&name=Another%20Wilma");
assertNotNull(result);
assertTrue(result instanceof NameString); name = (NameString) result;
assertNotNull(name.getName());
assertEquals("Another Wilma", name.getName());
} //测试 HttpRequestToNameString 消息转换器
@Test
public void testHttpRequestToNameStreamingTransformer() throws Exception {
InputStream in = new ByteArrayInputStream("whateverUrl?name=Wilma".getBytes());
HttpRequestToNameString transformer = new HttpRequestToNameString();
Object result = transformer.transform(in); assertNotNull(result);
assertTrue(result instanceof NameString); NameString name = (NameString) result;
assertNotNull(name.getName());
assertNull(name.getGreeting());
} //测试 NameToChatString 消息转换器
@Test
public void testNameToChatTransformer() throws Exception {
NameString temp = new NameString("the other one");
NameStringToChatString trans = new NameStringToChatString();
trans.setReturnDataType(DataTypeFactory.create(ChatString.class)); Object result = trans.transform(temp);
assertNotNull(result);
assertTrue(result instanceof ChatString); ChatString chat = (ChatString) result;
assertTrue(chat.getSize() > 0);
}
}
2)带有VM入站端点的HelloWorldVm流测试
package org.mule.example.hello; import org.junit.Test;
import org.mule.api.MuleMessage;
import org.mule.api.client.MuleClient;
import org.mule.tck.junit4.FunctionalTestCase; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue; public class HelloTestCase extends FunctionalTestCase { @Override
protected String getConfigResources() {
return "hello.xml";
} @Test
public void testHelloVM() throws Exception {
MuleClient client = muleContext.getClient();
MuleMessage responseMessage = client.send("vm://greeter", "Rose", null); System.out.println("####>>>response: " + responseMessage.getPayloadAsString()); assertNotNull(responseMessage);
assertTrue(responseMessage.getPayloadAsString().contains("Rose"));
}
}
[06-19 19:15:19] DEBUG JmxAgent [Thread-0]: Registering configuration with name: Mule.76f5418f-1674-11e5-a544-239f9557e574:name=Configuration ##注册配置信息
[06-19 19:15:19] DEBUG JmxAgent [Thread-0]: Registering model with name: Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Model,name="_muleSystemModel(seda)" ##注册模型
[06-19 19:15:19] DEBUG JmxAgent [Thread-0]: Registering service with name: Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Flow,name="HelloWorld" ##注册HelloWorld服务
[06-19 19:15:19] DEBUG JmxAgent [Thread-0]: Registering service with name: Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Flow,name="HelloWorldVm" ##注册HelloWorldVm服务 注册端点Endpoint
[06-19 19:15:19] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'endpoint.vm.greeter' is defined ##Spring容器中没有名为'endpoint.vm.greeter'的bean定义
[06-19 19:15:19] INFO JmxAgent [Thread-0]: Attempting to register service with name: ##尝试去注册服务
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Endpoint,service="HelloWorldVm",connector=connector.VM.mule.default,name="endpoint.vm.greeter"
[06-19 19:15:19] INFO JmxAgent [Thread-0]: Registered Endpoint Service with name: ##该服务注册成功
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Endpoint,service="HelloWorldVm",connector=connector.VM.mule.default,name="endpoint.vm.greeter"
[06-19 19:15:19] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'endpoint.http.localhost.8888' is defined ##Spring容器中没有名为'endpoint.http.localhost.8888'的bean定义
[06-19 19:15:19] INFO JmxAgent [Thread-0]: Attempting to register service with name:
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Endpoint,service="HelloWorld",connector=connector.http.mule.default,name="endpoint.http.localhost.8888"
[06-19 19:15:19] INFO JmxAgent [Thread-0]: Registered Endpoint Service with name:
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Endpoint,service="HelloWorld",connector=connector.http.mule.default,name="endpoint.http.localhost.8888" 注册连接器Connector
[06-19 19:15:19] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'connector.VM.mule.default.1' is defined ##spring容器中没有名为'connector.VM.mule.default.1'的bean定义
[06-19 19:15:19] DEBUG JmxAgent [Thread-0]: Attempting to register service with name:
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Connector,name="connector.VM.mule.default.1"
[06-19 19:15:19] INFO JmxAgent [Thread-0]: Registered Connector Service with name
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Connector,name="connector.VM.mule.default.1"
[06-19 19:15:19] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'connector.http.mule.default.1' is defined ##spring容器中没有'connector.http.mule.default.1'的bean定义
[06-19 19:15:19] DEBUG JmxAgent [Thread-0]: Attempting to register service with name:
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Connector,name="connector.http.mule.default.1"
[06-19 19:15:19] INFO JmxAgent [Thread-0]: Registered Connector Service with name
Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Connector,name="connector.http.mule.default.1" 注册统计应用Application
[06-19 19:15:19] DEBUG JmxAgent [Thread-0]: Registering application statistics with name: Mule.76f5418f-1674-11e5-a544-239f9557e574:type=Application,name="application totals" ##注册统计应用
通过DefaultMuleContext打印平台相关信息
[06-19 19:15:19] INFO DefaultMuleContext [Thread-0]:
**********************************************************************
* Mule ESB and Integration Platform *
* Version: 3.4.0 Build: c8afb471 *
* MuleSoft, Inc. *
* For more information go to http://www.mulesoft.org *
* *
* Server started: 15-6-19 下午7:15 *
* Server ID: 76f5418f-1674-11e5-a544-239f9557e574 *
* JDK: 1.7.0_76 (mixed mode, sharing) *
* OS encoding: GBK, Mule encoding: UTF-8 *
* OS: Windows 7 - Service Pack 1 (6.1, x86) *
* Host: scada1 (127.0.0.1) *
* *
* Agents Running: *
* JMX Agent *
********************************************************************** [06-19 19:15:19] DEBUG DefaultEndpointFactory [Thread-0]: DefaultEndpointFactory request for endpoint builder for uri: vm://greeter
[06-19 19:15:19] DEBUG DefaultEndpointFactory [Thread-0]: Looking up EndpointBuilder with name:vm://greeter in registry ##在注册表中,查询名字为'vm://greeter'的端点构建器
[06-19 19:15:19] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'vm://greeter' is defined
[06-19 19:15:19] DEBUG MuleRegistryHelper [Thread-0]: No endpoint builder with the name: vm://greeter found. ##没有发现名为XX的端点构建器
[06-19 19:15:19] DEBUG DefaultEndpointFactory [Thread-0]: Named EndpointBuilder not found, creating endpoint builder for uri ##创建端点构建器
[06-19 19:15:19] DEBUG DefaultTransportServiceDescriptor [Thread-0]: Endpoint builder not set, Loading default builder: org.mule.endpoint.EndpointURIEndpointBuilder ##加载默认的端点构建器
[06-19 19:15:19] DEBUG DefaultTransportServiceDescriptor [Thread-0]: Loading endpointUri resolver: org.mule.endpoint.ResourceNameEndpointURIBuilder ##加载端点URI解析器
[06-19 19:15:19] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'endpoint.vm.greeter' is defined
[06-19 19:15:19] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'endpoint:1778981589' is defined
[06-19 19:15:19] DEBUG TransientRegistry [Thread-0]: registering key/object endpoint:1778981589/DefaultOutboundEndpoint ##没有发现端点endpoint.vm.greeter',然后注册该端点
{
endpointUri=vm://greeter, connector=VMConnector
{
name=connector.VM.mule.default
lifecycle=start
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[vm]
serviceOverrides=<none>
},
name='endpoint.vm.greeter',
mep=REQUEST_RESPONSE,
properties={},
transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0},
deleteUnacceptedMessages=false,
initialState=started,
responseTimeout=10000,
endpointEncoding=UTF-8,
disableTransportTransformer=false
}
[06-19 19:15:19] DEBUG TransientRegistry [Thread-0]: applying processors ##应用处理器
[06-19 19:15:19] DEBUG TransientRegistry [Thread-0]: applying lifecycle to object: DefaultOutboundEndpoint ##应用生命周期
{
endpointUri=vm://greeter, connector=VMConnector
{
name=connector.VM.mule.default
lifecycle=start
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[vm]
serviceOverrides=<none>
}
, name='endpoint.vm.greeter', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false} [06-19 19:15:19] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for OutboundEndpoint 'vm://greeter' composite request/response chain'
[
InterceptingChainLifecycleWrapper 'wrapper for OutboundEndpoint 'vm://greeter' request chain'
[
org.mule.endpoint.outbound.OutboundLoggingMessageProcessor,
org.mule.lifecycle.processor.ProcessIfStartedMessageProcessor,
org.mule.processor.EndpointTransactionalInterceptingMessageProcessor,
org.mule.endpoint.outbound.OutboundEventTimeoutMessageProcessor,
org.mule.endpoint.outbound.OutboundSessionHandlerMessageProcessor,
org.mule.endpoint.outbound.OutboundEndpointPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundRootMessageIdPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundResponsePropertiesMessageProcessor,
org.mule.endpoint.outbound.OutboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.transport.AbstractConnector$DispatcherMessageProcessor
],
InterceptingChainLifecycleWrapper 'wrapper for OutboundEndpoint 'vm://greeter' response chain'
[
org.mule.endpoint.outbound.OutboundRewriteResponseEventMessageProcessor
]
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none [06-19 19:15:19] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain ##调用简单的消息处理器链
[
InterceptingChainLifecycleWrapper 'wrapper for OutboundEndpoint 'vm://greeter' request chain'
[
org.mule.endpoint.outbound.OutboundLoggingMessageProcessor,
org.mule.lifecycle.processor.ProcessIfStartedMessageProcessor,
org.mule.processor.EndpointTransactionalInterceptingMessageProcessor,
org.mule.endpoint.outbound.OutboundEventTimeoutMessageProcessor,
org.mule.endpoint.outbound.OutboundSessionHandlerMessageProcessor,
org.mule.endpoint.outbound.OutboundEndpointPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundRootMessageIdPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundResponsePropertiesMessageProcessor,
org.mule.endpoint.outbound.OutboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.transport.AbstractConnector$DispatcherMessageProcessor
],
InterceptingChainLifecycleWrapper 'wrapper for OutboundEndpoint 'vm://greeter' response chain'
[
org.mule.endpoint.outbound.OutboundRewriteResponseEventMessageProcessor
]
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none [06-19 19:15:19] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for OutboundEndpoint 'vm://greeter' request chain'
[
org.mule.endpoint.outbound.OutboundLoggingMessageProcessor,
org.mule.lifecycle.processor.ProcessIfStartedMessageProcessor,
org.mule.processor.EndpointTransactionalInterceptingMessageProcessor,
org.mule.endpoint.outbound.OutboundEventTimeoutMessageProcessor,
org.mule.endpoint.outbound.OutboundSessionHandlerMessageProcessor,
org.mule.endpoint.outbound.OutboundEndpointPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundRootMessageIdPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundResponsePropertiesMessageProcessor,
org.mule.endpoint.outbound.OutboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.transport.AbstractConnector$DispatcherMessageProcessor
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none [06-19 19:15:19] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain
[
org.mule.endpoint.outbound.OutboundLoggingMessageProcessor,
org.mule.lifecycle.processor.ProcessIfStartedMessageProcessor
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none
[06-19 19:15:19] DEBUG OutboundLoggingMessageProcessor [Thread-0]: sending event: MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none
[06-19 19:15:19] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain
[
org.mule.endpoint.outbound.OutboundEventTimeoutMessageProcessor,
org.mule.endpoint.outbound.OutboundSessionHandlerMessageProcessor,
org.mule.endpoint.outbound.OutboundEndpointPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundRootMessageIdPropertyMessageProcessor,
org.mule.endpoint.outbound.OutboundResponsePropertiesMessageProcessor
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none [06-19 19:15:19] DEBUG SerializeAndEncodeSessionHandler [Thread-0]: Adding serialized and base64-encoded Session header to message: ##把已序列化并编码后的Session头添加到消息
rO0ABXNyACNvcmcubXVsZS5zZXNzaW9uLkRlZmF1bHRNdWxlU2Vzc2lvbi7rdtEW7GGKAwAEWgAFdmFsaWRMAA1mbG93Q29uc3RydWN0dAAmTG9yZy9tdWxlL2FwaS9jb25zdHJ1Y3QvRmxvd0NvbnN0cnVjdDtMAAJpZHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wAD3NlY3VyaXR5Q29udGV4dHQAJ0xvcmcvbXVsZS9hcGkvc2VjdXJpdHkvU2VjdXJpdHlDb250ZXh0O3hwAXB0ACQ3ODYzOWVjOC0xNjc0LTExZTUtYTU0NC0yMzlmOTU1N2U1NzRwc3IAJWphdmEudXRpbC5Db2xsZWN0aW9ucyRTeW5jaHJvbml6ZWRNYXAbc/kJS0s5ewMAAkwAAW10AA9MamF2YS91dGlsL01hcDtMAAVtdXRleHQAEkxqYXZhL2xhbmcvT2JqZWN0O3hwc3IAJG9yZy5tdWxlLnV0aWwuQ2FzZUluc2Vuc2l0aXZlSGFzaE1hcJ3R2e9nRc4AAwAAeHB3DD9AAAAAAAAQAAAAAHhxAH4ACXh4 [06-19 19:15:19] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain
[
org.mule.endpoint.outbound.OutboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.transport.AbstractConnector$DispatcherMessageProcessor
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none [06-19 19:15:19] DEBUG VMConnector [Thread-0]: Borrowing a dispatcher for endpoint: vm://greeter
[06-19 19:15:19] INFO AbstractLifecycleManager [Thread-0]: Initialising: 'connector.VM.mule.default.dispatcher.3027266'. Object is: VMMessageDispatcher
[06-19 19:15:19] DEBUG VMMessageDispatcher [Thread-0]: Connecting: VMMessageDispatcher{this=2e3142, endpoint=vm://greeter, disposed=false}
[06-19 19:15:19] DEBUG VMMessageDispatcher [Thread-0]: Connected: endpoint.outbound.vm://greeter
[06-19 19:15:19] INFO AbstractLifecycleManager [Thread-0]: Starting: 'connector.VM.mule.default.dispatcher.3027266'. Object is: VMMessageDispatcher
[06-19 19:15:19] DEBUG VMConnector [Thread-0]: Borrowed a dispatcher for endpoint: vm://greeter = VMMessageDispatcher{this=2e3142, endpoint=vm://greeter, disposed=false}
[06-19 19:15:19] DEBUG VMConnector [Thread-0]: Borrowed dispatcher: VMMessageDispatcher{this=2e3142, endpoint=vm://greeter, disposed=false} [06-19 19:15:19] DEBUG SerializeAndEncodeSessionHandler [Thread-0]: Adding serialized and base64-encoded Session header to message:
rO0ABXNyACNvcmcubXVsZS5zZXNzaW9uLkRlZmF1bHRNdWxlU2Vzc2lvbi7rdtEW7GGKAwAEWgAFdmFsaWRMAA1mbG93Q29uc3RydWN0dAAmTG9yZy9tdWxlL2FwaS9jb25zdHJ1Y3QvRmxvd0NvbnN0cnVjdDtMAAJpZHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wAD3NlY3VyaXR5Q29udGV4dHQAJ0xvcmcvbXVsZS9hcGkvc2VjdXJpdHkvU2VjdXJpdHlDb250ZXh0O3hwAXB0ACQ3ODYzOWVjOC0xNjc0LTExZTUtYTU0NC0yMzlmOTU1N2U1NzRwc3IAJWphdmEudXRpbC5Db2xsZWN0aW9ucyRTeW5jaHJvbml6ZWRNYXAbc/kJS0s5ewMAAkwAAW10AA9MamF2YS91dGlsL01hcDtMAAVtdXRleHQAEkxqYXZhL2xhbmcvT2JqZWN0O3hwc3IAJG9yZy5tdWxlLnV0aWwuQ2FzZUluc2Vuc2l0aXZlSGFzaE1hcJ3R2e9nRc4AAwAAeHB3DD9AAAAAAAAQAAAAAHhxAH4ACXh4 [06-19 19:15:19] DEBUG VMConnector [Thread-0]: Looking up vm receiver for address: vm://greeter
[06-19 19:15:19] DEBUG VMConnector [Thread-0]: Found exact receiver match on endpointUri: vm://greeter
[06-19 19:15:19] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for InboundEndpoint 'vm://greeter' composite request/response chain'
[
InterceptingChainLifecycleWrapper 'wrapper for InboundEndpoint 'vm://greeter' request chain'
[
org.mule.endpoint.inbound.InboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.endpoint.inbound.InboundEndpointPropertyMessageProcessor,
org.mule.endpoint.inbound.InboundNotificationMessageProcessor,
org.mule.endpoint.inbound.InboundLoggingMessageProcessor,
org.mule.routing.requestreply.ReplyToParameterProcessor@1b97ab3,
org.mule.construct.AbstractPipeline$3
],
InterceptingChainLifecycleWrapper 'wrapper for InboundEndpoint 'vm://greeter' response chain'
[
org.mule.endpoint.inbound.InboundExceptionDetailsMessageProcessor,
org.mule.routing.requestreply.ReplyToPropertyRequestReplyReplier
]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:19] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain
[
InterceptingChainLifecycleWrapper 'wrapper for InboundEndpoint 'vm://greeter' request chain'
[
org.mule.endpoint.inbound.InboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.endpoint.inbound.InboundEndpointPropertyMessageProcessor,
org.mule.endpoint.inbound.InboundNotificationMessageProcessor,
org.mule.endpoint.inbound.InboundLoggingMessageProcessor,
org.mule.routing.requestreply.ReplyToParameterProcessor@1b97ab3,
org.mule.construct.AbstractPipeline$3
],
InterceptingChainLifecycleWrapper 'wrapper for InboundEndpoint 'vm://greeter' response chain'
[
org.mule.endpoint.inbound.InboundExceptionDetailsMessageProcessor,
org.mule.routing.requestreply.ReplyToPropertyRequestReplyReplier
]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:19] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for InboundEndpoint 'vm://greeter' request chain'
[
org.mule.endpoint.inbound.InboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.endpoint.inbound.InboundEndpointPropertyMessageProcessor,
org.mule.endpoint.inbound.InboundNotificationMessageProcessor,
org.mule.endpoint.inbound.InboundLoggingMessageProcessor,
org.mule.routing.requestreply.ReplyToParameterProcessor@1b97ab3,
org.mule.construct.AbstractPipeline$3
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter
[06-19 19:15:19] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain
[
org.mule.endpoint.inbound.InboundEndpointMimeTypeCheckingMessageProcessor,
org.mule.endpoint.inbound.InboundEndpointPropertyMessageProcessor,
org.mule.endpoint.inbound.InboundNotificationMessageProcessor,
org.mule.endpoint.inbound.InboundLoggingMessageProcessor,
org.mule.routing.requestreply.ReplyToParameterProcessor@1b97ab3,
org.mule.construct.AbstractPipeline$3
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:19] DEBUG InboundLoggingMessageProcessor [Thread-0]: Message Received on: vm://greeter
[06-19 19:15:19] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for 'HelloWorldVm' processor chain'
[
org.mule.construct.AbstractPipeline$1,
org.mule.construct.AbstractPipeline$ProcessIfPipelineStartedMessageProcessor,
org.mule.interceptor.ProcessingTimeInterceptor,
org.mule.construct.processor.FlowConstructStatisticsMessageProcessor,
org.mule.processor.LaxSedaStageInterceptingMessageProcessor,
StringToNameString{this=b4fb76, name='StringToNameString', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]},
SubflowInterceptingChainLifecycleWrapper 'HelloWorldSubFlow'
[
DefaultJavaComponent{HelloWorldVm.component.26247488},
ChoiceRouter [flow-construct=HelloWorldVm, started=true]
],
org.mule.routing.requestreply.AsyncReplyToPropertyRequestReplyReplier,
org.mule.construct.AbstractPipeline$2@f2d81
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:19] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of 'HelloWorldVm' processor chain'
[
org.mule.construct.AbstractPipeline$1
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter
[06-19 19:15:19] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of 'HelloWorldVm' processor chain'
[
org.mule.construct.processor.FlowConstructStatisticsMessageProcessor,
org.mule.processor.LaxSedaStageInterceptingMessageProcessor
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter
[06-19 19:15:19] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of 'HelloWorldVm' processor chain'
[
StringToNameString{this=b4fb76, name='StringToNameString', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]},
SubflowInterceptingChainLifecycleWrapper 'HelloWorldSubFlow'
[
DefaultJavaComponent{HelloWorldVm.component.26247488},
ChoiceRouter [flow-construct=HelloWorldVm, started=true]
],
org.mule.routing.requestreply.AsyncReplyToPropertyRequestReplyReplier
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter 应用StringToNameString消息转换器
[06-19 19:15:19] DEBUG StringToNameString [Thread-0]: Applying transformer StringToNameString (org.mule.example.hello.StringToNameString)
[06-19 19:15:19] DEBUG StringToNameString [Thread-0]: Object before transform: Rose
[06-19 19:15:19] DEBUG StringToNameString [Thread-0]: Object after transform: org.mule.example.hello.NameString@1bbd1f9
[06-19 19:15:19] DEBUG AbstractTransformer [Thread-0]: The transformed value is of expected type. Type is: NameString 调用子流
[06-19 19:15:19] DEBUG SubflowInterceptingChainLifecycleWrapper [Thread-0]: Invoking SubflowInterceptingChainLifecycleWrapper 'HelloWorldSubFlow'
[
DefaultJavaComponent{HelloWorldVm.component.26247488},
ChoiceRouter [flow-construct=HelloWorldVm, started=true]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter 调用子流(HelloWorldSubFlow)内对的消息处理器链
[06-19 19:15:19] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of HelloWorldSubFlow'
[
DefaultJavaComponent{HelloWorldVm.component.26247488},
ChoiceRouter [flow-construct=HelloWorldVm, started=true]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter 为组件拦截器处理器链,调用拦截器链生命周期包装器
[06-19 19:15:19] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for Component interceptor processor chain for :HelloWorldVm.component.26247488'
[
org.mule.component.AbstractComponent$1$1@12da381
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:19] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of Component interceptor processor chain for :HelloWorldVm.component.26247488'
[
org.mule.component.AbstractComponent$1$1@12da381
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:19] DEBUG AbstractEntryPointResolver [Thread-0]: Invoking org.mule.example.hello.Greeter.greet({class org.mule.example.hello.NameString})
[06-19 19:15:19] DEBUG AbstractEntryPointResolver [Thread-0]: Result of call org.mule.example.hello.Greeter.greet({class org.mule.example.hello.NameString}) is not null
[06-19 19:15:19] DEBUG TransformerTemplate [Thread-0]: Applying transformer TransformerTemplate (org.mule.transformer.TransformerTemplate)
[06-19 19:15:19] DEBUG TransformerTemplate [Thread-0]: Object before transform:
org.mule.DefaultMuleMessage
{
id=7861ca07-1674-11e5-a544-239f9557e574
payload=org.mule.example.hello.NameString
correlationId=<not set>
correlationGroup=-1
correlationSeq=-1
encoding=UTF-8
exceptionPayload=<not set> Message properties:
INVOCATION scoped properties:
INBOUND scoped properties:
MULE_ENCODING=UTF-8
MULE_ENDPOINT=vm://greeter
MULE_ORIGINATING_ENDPOINT=endpoint.vm.greeter
MULE_SESSION=rO0ABXNyACNvcmcubXVsZS5zZXNzaW9uLkRlZmF1bHRNdWxlU2Vzc2lvbi7rdtEW7GGKAwAEWgAFdmFsaWRMAA1mbG93Q29uc3RydWN0dAAmTG9yZy9tdWxlL2FwaS9jb25zdHJ1Y3QvRmxvd0NvbnN0cnVjdDtMAAJpZHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wAD3NlY3VyaXR5Q29udGV4dHQAJ0xvcmcvbXVsZS9hcGkvc2VjdXJpdHkvU2VjdXJpdHlDb250ZXh0O3hwAXB0ACQ3ODYzOWVjOC0xNjc0LTExZTUtYTU0NC0yMzlmOTU1N2U1NzRwc3IAJWphdmEudXRpbC5Db2xsZWN0aW9ucyRTeW5jaHJvbml6ZWRNYXAbc/kJS0s5ewMAAkwAAW10AA9MamF2YS91dGlsL01hcDtMAAVtdXRleHQAEkxqYXZhL2xhbmcvT2JqZWN0O3hwc3IAJG9yZy5tdWxlLnV0aWwuQ2FzZUluc2Vuc2l0aXZlSGFzaE1hcJ3R2e9nRc4AAwAAeHB3DD9AAAAAAAAQAAAAAHhxAH4ACXh4
OUTBOUND scoped properties:
MULE_CORRELATION_GROUP_SIZE=-1
MULE_CORRELATION_SEQUENCE=-1
MULE_ENCODING=UTF-8
SESSION scoped properties:
}
[06-19 19:15:19] DEBUG TransformerTemplate [Thread-0]: Object after transform: org.mule.example.hello.NameString@1bbd1f9
[06-19 19:15:19] DEBUG TransformerTemplate [Thread-0]: The transformed object is of expected type. Type is: NameString
[06-19 19:15:20] DEBUG SpringRegistry [Thread-0]: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'context' is defined [06-19 19:15:20] DEBUG DefaultExpressionManager [Thread-0]: Result of expression: groovy:payload instanceof org.mule.example.hello.NameString is: true ##when条件评估未true //-----------------处理器链定义片段------------------------------------
<when expression="payload instanceof org.mule.example.hello.NameString" evaluator="groovy">
<processor-chain doc:name="ProcessorChain1">
<flow-ref name="ChitChat" doc:name="Process ChitChat"/>
</processor-chain>
</when>
//-------------------------------------------------------------------
为'null'调用拦截器链生命周期包装器(把其下的消息转换器、组件封装成一个链)
[06-19 19:15:20] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for null' ##因为处理器链<processor-chain doc:name="ProcessorChain1">未命名(未指定name属性),所以此处显示为’null'处理器链
[
InterceptingChainLifecycleWrapper 'wrapper for processor chain 'null''
[
SubflowInterceptingChainLifecycleWrapper 'ChitChat' ##子流ChitChat的拦截链生命周期包装器
[
NameStringToChatString ##对应消息转换器
{
this=152c7b9,
name='NameStringToChatString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'},
sourceTypes=[SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}]
},
DefaultJavaComponent{HelloWorldVm.component.26070302}, ##对应java组件
ChatStringToString ##对应消息转换器
{
this=1b64fac,
name='ChatStringToString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'},
sourceTypes=[SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}]
}
]
]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter //--------------------- 子流ChitChat声明片段----------------------------------
<sub-flow name="ChitChat">
<transformer ref="NameStringToChatString" doc:name="Transform NameString to ChatString"/>
<component class="org.mule.example.hello.ChitChatter" doc:name="ChitChatter component"/>
<transformer ref="ChatStringToString" doc:name="Transform ChatString to String"/>
</sub-flow>
//-------------------------------------------------------------------------- 调用(上面封装好的)消息处理器链
[06-19 19:15:20] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of null'
[
InterceptingChainLifecycleWrapper 'wrapper for processor chain 'null''
[
SubflowInterceptingChainLifecycleWrapper 'ChitChat'
[
NameStringToChatString{this=152c7b9, name='NameStringToChatString', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}]},
DefaultJavaComponent{HelloWorldVm.component.26070302},
ChatStringToString{this=1b64fac, name='ChatStringToString', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}]}
]
]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:20] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for processor chain 'null''
[
SubflowInterceptingChainLifecycleWrapper 'ChitChat'
[
NameStringToChatString{this=152c7b9, name='NameStringToChatString', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}]},
DefaultJavaComponent{HelloWorldVm.component.26070302},
ChatStringToString{this=1b64fac, name='ChatStringToString', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}]}
]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:20] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of processor chain 'null''
[
SubflowInterceptingChainLifecycleWrapper 'ChitChat'
[
NameStringToChatString{this=152c7b9, name='NameStringToChatString', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}]},
DefaultJavaComponent{HelloWorldVm.component.26070302},
ChatStringToString{this=1b64fac, name='ChatStringToString', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}]}
]
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter 调用子流ChitChat拦截器链包装器
[06-19 19:15:20] DEBUG SubflowInterceptingChainLifecycleWrapper [Thread-0]: Invoking SubflowInterceptingChainLifecycleWrapper 'ChitChat'
[
NameStringToChatString{this=152c7b9, name='NameStringToChatString', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}]},
DefaultJavaComponent{HelloWorldVm.component.26070302},
ChatStringToString{this=1b64fac, name='ChatStringToString', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}]}
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter 迭代调用子流ChitChat内部链中的消息处理器
[06-19 19:15:20] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of ChitChat'
[
NameStringToChatString{this=152c7b9, name='NameStringToChatString', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.NameString, mimeType='*/*'}]},
DefaultJavaComponent{HelloWorldVm.component.26070302},
ChatStringToString{this=1b64fac, name='ChatStringToString', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.mule.example.hello.ChatString, mimeType='*/*'}]}
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:20] DEBUG NameStringToChatString [Thread-0]: Applying transformer NameStringToChatString (org.mule.example.hello.NameStringToChatString)
[06-19 19:15:20] DEBUG NameStringToChatString [Thread-0]: Object before transform: org.mule.example.hello.NameString@1bbd1f9
[06-19 19:15:20] DEBUG NameStringToChatString [Thread-0]: Object after transform: Hello Rose
[06-19 19:15:20] DEBUG AbstractTransformer [Thread-0]: The transformed value is of expected type. Type is: ChatString 调用子流中的Component组件
[06-19 19:15:20] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for Component interceptor processor chain for :HelloWorldVm.component.26070302'
[
org.mule.component.AbstractComponent$1$1@130ac20
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter
[06-19 19:15:20] DEBUG DefaultMessageProcessorChain [Thread-0]: Invoking DefaultMessageProcessorChain '(inner iterating chain) of Component interceptor processor chain for :HelloWorldVm.component.26070302'
[
org.mule.component.AbstractComponent$1$1@130ac20
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter
执行输出:
[06-19 19:15:20] DEBUG AbstractEntryPointResolver [Thread-0]: Invoking org.mule.example.hello.ChitChatter.chat({class org.mule.example.hello.ChatString})
[06-19 19:15:20] DEBUG AbstractEntryPointResolver [Thread-0]: Result of call org.mule.example.hello.ChitChatter.chat({class org.mule.example.hello.ChatString}) is not null 应用消息转换器ChatStringToString
[06-19 19:15:20] DEBUG ChatStringToString [Thread-0]: Applying transformer ChatStringToString (org.mule.example.hello.ChatStringToString)
[06-19 19:15:20] DEBUG ChatStringToString [Thread-0]: Object before transform: Hello Rose, how are you?
[06-19 19:15:20] DEBUG ChatStringToString [Thread-0]: Object after transform: Hello Rose, how are you?
[06-19 19:15:20] DEBUG AbstractTransformer [Thread-0]: The transformed value is of expected type. Type is: String [06-19 19:15:20] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for InboundEndpoint 'vm://greeter' response chain'
[
org.mule.endpoint.inbound.InboundExceptionDetailsMessageProcessor,
org.mule.routing.requestreply.ReplyToPropertyRequestReplyReplier
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter
[06-19 19:15:20] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain
[
org.mule.endpoint.inbound.InboundExceptionDetailsMessageProcessor,
org.mule.routing.requestreply.ReplyToPropertyRequestReplyReplier
] with event MuleEvent: 0-7867966d-1674-11e5-a544-239f9557e574, stop processing=false, vm://greeter [06-19 19:15:20] DEBUG SerializeAndEncodeSessionHandler [Thread-0]: Adding serialized and base64-encoded Session header to message: rO0ABXNyACNvcmcubXVsZS5zZXNzaW9uLkRlZmF1bHRNdWxlU2Vzc2lvbi7rdtEW7GGKAwAEWgAFdmFsaWRMAA1mbG93Q29uc3RydWN0dAAmTG9yZy9tdWxlL2FwaS9jb25zdHJ1Y3QvRmxvd0NvbnN0cnVjdDtMAAJpZHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wAD3NlY3VyaXR5Q29udGV4dHQAJ0xvcmcvbXVsZS9hcGkvc2VjdXJpdHkvU2VjdXJpdHlDb250ZXh0O3hwAXB0ACQ3ODYzOWVjOC0xNjc0LTExZTUtYTU0NC0yMzlmOTU1N2U1NzRwc3IAJWphdmEudXRpbC5Db2xsZWN0aW9ucyRTeW5jaHJvbml6ZWRNYXAbc/kJS0s5ewMAAkwAAW10AA9MamF2YS91dGlsL01hcDtMAAVtdXRleHQAEkxqYXZhL2xhbmcvT2JqZWN0O3hwc3IAJG9yZy5tdWxlLnV0aWwuQ2FzZUluc2Vuc2l0aXZlSGFzaE1hcJ3R2e9nRc4AAwAAeHB3DD9AAAAAAAAQAAAAAHhxAH4ACXh4
[06-19 19:15:20] DEBUG VMMessageDispatcher [Thread-0]: sent event on endpointUri: vm://greeter
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Returning dispatcher for endpoint: vm://greeter = VMMessageDispatcher{this=2e3142, endpoint=vm://greeter, disposed=false}
[06-19 19:15:20] DEBUG InterceptingChainLifecycleWrapper [Thread-0]: Invoking InterceptingChainLifecycleWrapper 'wrapper for OutboundEndpoint 'vm://greeter' response chain'
[
org.mule.endpoint.outbound.OutboundRewriteResponseEventMessageProcessor
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none
[06-19 19:15:20] DEBUG SimpleMessageProcessorChain [Thread-0]: Invoking SimpleMessageProcessorChain
[
org.mule.endpoint.outbound.OutboundRewriteResponseEventMessageProcessor
] with event MuleEvent: 0-78639ec9-1674-11e5-a544-239f9557e574, stop processing=false, none
####>>>response: Hello Rose, how are you?
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: Applying lifecycle phase: org.mule.lifecycle.phases.MuleContextStopPhase@168ae23 for registry: DefaultRegistryBroker
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: Flow{HelloWorld}
[06-19 19:15:20] INFO FlowConstructLifecycleManager [Thread-0]: Stopping flow: HelloWorld
[06-19 19:15:20] INFO HttpConnector [Thread-0]: Removing listener on endpointUri: http://localhost:8888
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Disposing: 'null'. Object is: HttpMessageReceiver
[06-19 19:15:20] INFO SedaStageLifecycleManager [Thread-0]: Stopping service: HelloWorld.stage1
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Stopping component: component.30676305
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Stopping component: component.14463286
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: Flow{HelloWorldVm}
[06-19 19:15:20] INFO FlowConstructLifecycleManager [Thread-0]: Stopping flow: HelloWorldVm
[06-19 19:15:20] INFO VMConnector [Thread-0]: Removing listener on endpointUri: vm://greeter
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Stopping: 'null'. Object is: VMMessageReceiver
[06-19 19:15:20] DEBUG VMMessageReceiver [Thread-0]: Disconnecting: VMMessageReceiver{this=6bc833, receiverKey=greeter, endpoint=vm://greeter}
[06-19 19:15:20] DEBUG VMMessageReceiver [Thread-0]: Disconnected: VMMessageReceiver{this=6bc833, receiverKey=greeter, endpoint=vm://greeter}
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Disposing: 'null'. Object is: VMMessageReceiver
[06-19 19:15:20] INFO SedaStageLifecycleManager [Thread-0]: Stopping service: HelloWorldVm.stage1
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Stopping component: component.26247488
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Stopping component: component.26070302
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: SedaModel{_muleSystemModel}
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Stopping model: _muleSystemModel
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: org.mule.module.management.agent.JmxAgent@7d7969
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: VMConnector
{
name=connector.VM.mule.default
lifecycle=start
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[vm]
serviceOverrides=<none>
} [06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Stopping connector: connector.VM.mule.default
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Disposing dispatcher work manager
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Disposing requester work manager
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Disposing receiver work manager
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Clearing Dispatcher pool
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Stopping: 'connector.VM.mule.default.dispatcher.3027266'. Object is: VMMessageDispatcher
[06-19 19:15:20] DEBUG VMMessageDispatcher [Thread-0]: Disconnecting: VMMessageDispatcher{this=2e3142, endpoint=vm://greeter, disposed=false}
[06-19 19:15:20] DEBUG VMMessageDispatcher [Thread-0]: Disconnected: VMMessageDispatcher{this=2e3142, endpoint=vm://greeter, disposed=false}
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Disposing: 'connector.VM.mule.default.dispatcher.3027266'. Object is: VMMessageDispatcher
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Dispatcher pool cleared
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Clearing Requester pool
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Requester pool cleared
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: HttpConnector
{
name=connector.http.mule.default
lifecycle=stop
this=2410f1
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=false
supportedProtocols=[http]
serviceOverrides=<none>
} [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: org.mule.util.queue.TransactionalQueueManager@6e4ea2
[06-19 19:15:20] INFO TransactionalQueueManager [Thread-0]: Stopping ResourceManager
[06-19 19:15:20] INFO TransactionalQueueManager [Thread-0]: Stopped ResourceManager
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: DefaultInboundEndpoint{endpointUri=http://localhost:8888, connector=HttpConnector
{
name=connector.http.mule.default
lifecycle=stop
this=2410f1
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=false
supportedProtocols=[http]
serviceOverrides=<none>
}
, name='endpoint.http.localhost.8888', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: DefaultInboundEndpoint{endpointUri=vm://greeter, connector=VMConnector
{
name=connector.VM.mule.default
lifecycle=stop
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[vm]
serviceOverrides=<none>
}
, name='endpoint.vm.greeter', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: org.mule.management.stats.DefaultProcessingTimeWatcher@b57b0a
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: stop for object: org.mule.DefaultMuleContext@903261
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Disposing RegistryBroker
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: Applying lifecycle phase: org.mule.lifecycle.phases.MuleContextDisposePhase@13833a7 for registry: TransientRegistry
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.management.agent.JmxAgent@7d7969
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: VMConnector
{
name=connector.VM.mule.default
lifecycle=stop
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[vm]
serviceOverrides=<none>
} [06-19 19:15:20] INFO VMConnector [Thread-0]: Disconnected: VMConnector
{
name=connector.VM.mule.default
lifecycle=stop
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=true
supportedProtocols=[vm]
serviceOverrides=<none>
} [06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Disposing connector: connector.VM.mule.default
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Disposing Receivers
[06-19 19:15:20] DEBUG VMConnector [Thread-0]: Receivers Disposed
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: HttpConnector
{
name=connector.http.mule.default
lifecycle=stop
this=2410f1
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=false
supportedProtocols=[http]
serviceOverrides=<none>
} [06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Disposing connector: connector.http.mule.default
[06-19 19:15:20] DEBUG HttpConnector [Thread-0]: Closing TCP connector
[06-19 19:15:20] INFO ExpiryMonitor [Thread-0]: disposing monitor
[06-19 19:15:20] DEBUG HttpConnector [Thread-0]: Disposing Receivers
[06-19 19:15:20] DEBUG HttpConnector [Thread-0]: Receivers Disposed
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: DefaultInboundEndpoint{endpointUri=http://localhost:8888, connector=HttpConnector
{
name=connector.http.mule.default
lifecycle=dispose
this=2410f1
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=false
supportedProtocols=[http]
serviceOverrides=<none>
}
, name='endpoint.http.localhost.8888', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: DefaultInboundEndpoint{endpointUri=vm://greeter, connector=VMConnector
{
name=connector.VM.mule.default
lifecycle=dispose
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=false
supportedProtocols=[vm]
serviceOverrides=<none>
}
, name='endpoint.vm.greeter', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessagePayloadExpressionEvaluator@133c9a1
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.expression.BeanPayloadExpressionEvaluator@ba638e
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: JMSMessageToObject{this=13ae860, name='_JMSMessageToVector', ignoreBadInput=false, returnClass=CollectionDataType{type=java.util.Vector, itemType=java.lang.Object, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=javax.jms.Message, mimeType='*/*'}, SimpleDataType{type=javax.jms.TextMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.ObjectMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.BytesMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.MapMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.StreamMessage, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.scripting.config.GroovyAnnotationParser@1ed0e8e
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToString{this=fe9c23, name='ObjectToAtomString', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.String, mimeType='application/atom+xml'}, sourceTypes=[SimpleDataType{type=java.lang.Object, mimeType='*/*'}, SimpleDataType{type=[B, mimeType='*/*'}, SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: StringToBoolean{this=f3eac0, name='StringToBoolean', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.Boolean, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToFeed{this=1453782, name='_ObjectToFeed', ignoreBadInput=false, returnClass=SimpleDataType{type=org.apache.abdera.model.Feed, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=[B, mimeType='*/*'}, SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, SimpleDataType{type=java.lang.String, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageExpressionEvaluator@451d62
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: StringToNumber{this=1d80dfe, name='StringToLong', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.Long, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToInputStream{this=4ba6de, name='_ObjectToInputStream', ignoreBadInput=false, returnClass=SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.io.Serializable, mimeType='*/*'}, SimpleDataType{type=java.lang.String, mimeType='*/*'}, SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MapPayloadExpressionEvaluator@12719ad
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.RegexExpressionEvaluator@150da10
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.processors.DecoratingAnnotatedServiceProcessor@1e69671
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.parsers.OutboundAttachmentsAnnotationParser@c67308
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MuleExpressionEvaluator@c190b5
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.expression.JaxpXPathExpressionEvaluator@8320d1
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.transport.service.DefaultTransportServiceDescriptor@16b4de4
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToRssFeed{this=1c08732, name='null', ignoreBadInput=false, returnClass=SimpleDataType{type=com.sun.syndication.feed.synd.SyndFeed, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=[B, mimeType='*/*'}, SimpleDataType{type=java.lang.String, mimeType='*/*'}, SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'}, SimpleDataType{type=org.xml.sax.InputSource, mimeType='*/*'}, SimpleDataType{type=java.io.File, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: JsonToObject{this=efc7f1, name='_JsonToJsonData', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.module.json.JsonData, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.io.Reader, mimeType='*/*'}, SimpleDataType{type=java.net.URL, mimeType='*/*'}, SimpleDataType{type=java.io.File, mimeType='*/*'}, SimpleDataType{type=java.lang.String, mimeType='*/*'}, SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, SimpleDataType{type=[B, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.endpoint.RegistryBackedAnnotationsParserFactory@11d7bd5
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MuleContextExpressionEvaluator@1987b05
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.config.XPathAnnotationParser@629ceb
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.el.XMLExpressionLanguageExtension@1d4a708
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.util.XMLStreamCloser@12d5cf3
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.EndpointInfoExpressionEvaluator@f73fe2
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.RegistryExpressionEvaluator@aa6e7e
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: {}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToString{this=fa3ce4, name='ObjectToHtmlString', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.String, mimeType='text/html'}, sourceTypes=[SimpleDataType{type=java.lang.Object, mimeType='*/*'}, SimpleDataType{type=[B, mimeType='*/*'}, SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.transport.service.DefaultTransportServiceDescriptor@d5a66a
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: StringToNumber{this=ebd747, name='StringToShort', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.Short, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: XmlToDomDocument{this=1847a91, name='XmlToW3CDocument', ignoreBadInput=false, returnClass=SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}, SimpleDataType{type=[B, mimeType='*/*'}, SimpleDataType{type=javax.xml.transform.Source, mimeType='*/*'}, SimpleDataType{type=org.xml.sax.InputSource, mimeType='*/*'}, SimpleDataType{type=org.dom4j.Node, mimeType='*/*'}, SimpleDataType{type=org.dom4j.Document, mimeType='*/*'}, SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'}, SimpleDataType{type=org.w3c.dom.Element, mimeType='*/*'}, SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}, SimpleDataType{type=javax.xml.stream.XMLStreamReader, mimeType='*/*'}, SimpleDataType{type=org.mule.module.xml.transformer.DelayedResult, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: DefaultOutboundEndpoint{endpointUri=vm://greeter, connector=VMConnector
{
name=connector.VM.mule.default
lifecycle=dispose
this=1351a4
numberOfConcurrentTransactedReceivers=4
createMultipleTransactedReceivers=true
connected=false
supportedProtocols=[vm]
serviceOverrides=<none>
}
, name='endpoint.vm.greeter', mep=REQUEST_RESPONSE, properties={}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.json.transformers.JsonTransformerResolver@18af427
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.json.JsonNodeExpressionEvaluator@108bddb
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: BaseToOutputHandler{this=14906b9, name='_BaseToOutputHandler', ignoreBadInput=false, returnClass=SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=org.apache.abdera.model.Base, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.WilcardExpressionEvaluator@1805c16
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.lifecycle.RegistryLifecycleManager@2ad892
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: StringToNumber{this=b4ff9a, name='StringToFloat', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.Float, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToByteArray{this=1d8a5c4, name='_ObjectToByteArray', ignoreBadInput=false, returnClass=SimpleDataType{type=[B, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.io.Serializable, mimeType='*/*'}, SimpleDataType{type=java.io.InputStream, mimeType='*/*'}, SimpleDataType{type=java.lang.String, mimeType='*/*'}, SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageProcessorExpressionEvaluator@3a5e80
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: JMSMessageToObject{this=d405e2, name='_JMSMessageToHashtable', ignoreBadInput=false, returnClass=SimpleDataType{type=java.util.Hashtable, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=javax.jms.Message, mimeType='*/*'}, SimpleDataType{type=javax.jms.TextMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.ObjectMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.BytesMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.MapMessage, mimeType='*/*'}, SimpleDataType{type=javax.jms.StreamMessage, mimeType='*/*'}]}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.json.config.JsonPathAnnotationParser@1870b40
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: StringToNumber
{this=c44924, name='StringToDouble', ignoreBadInput=false, returnClass=SimpleDataType{type=java.lang.Double, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]} [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.apache.abdera.parser.stax.FOMFactory@15458df
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.ExceptionTypeExpressionEvaluator@1f32798
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: StringToNumber
{this=171a8f6, name='StringToBigDecimal', ignoreBadInput=false, returnClass=SimpleDataType{type=java.math.BigDecimal, mimeType='*/*'}, sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]} [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.parsers.OutboundHeadersAnnotationParser@1282373
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.ognl.config.OgnlAnnotationParser@4177e3
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageHeadersExpressionEvaluator@508204
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.transformer.jaxb.JAXBContextResolver@8eb36a
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.StringExpressionEvaluator@7fd415
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.FunctionExpressionEvaluator@e696f9
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.json.JsonExpressionEvaluator@1299648
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.registry.LifecycleStateInjectorProcessor@4d9531
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.VariableExpressionEnricher@134accc [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: JMSMessageToObject
{
this=68333e,
name='_JMSMessageToByteArray',
ignoreBadInput=false, returnClass=SimpleDataType{type=[B, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=javax.jms.Message, mimeType='*/*'},
SimpleDataType{type=javax.jms.TextMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.ObjectMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.BytesMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.MapMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.StreamMessage, mimeType='*/*'}
]
} [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: XmlToDomDocument
{
this=16d0dd3,
name='XmlToDom4jDocument',
ignoreBadInput=false,
returnClass=SimpleDataType{type=org.dom4j.Document, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=java.lang.String, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=javax.xml.transform.Source, mimeType='*/*'},
SimpleDataType{type=org.xml.sax.InputSource, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Node, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Element, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
SimpleDataType{type=javax.xml.stream.XMLStreamReader, mimeType='*/*'},
SimpleDataType{type=org.mule.module.xml.transformer.DelayedResult, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.expression.XPathNodeExpressionEvaluator@147b1c8
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.parsers.PayloadAnnotationParser@c184cd
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageAttachmentExpressionEvaluator@1cadfde
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: JsonToObject
{
this=2d6636,
name='_JsonToDynaBean',
ignoreBadInput=false,
returnClass=SimpleDataType{type=org.apache.commons.beanutils.DynaBean, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=java.io.Reader, mimeType='*/*'},
SimpleDataType{type=java.net.URL, mimeType='*/*'},
SimpleDataType{type=java.io.File, mimeType='*/*'},
SimpleDataType{type=java.lang.String, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.scripting.expression.GroovyExpressionEvaluator@11117d3
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.parsers.InboundAttachmentsAnnotationParser@a6aae0
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToString
{
this=ad8a09,
name='ObjectToRssString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='application/rss+xml'},
sourceTypes=[
SimpleDataType{type=java.lang.Object, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.OutboundAttachmentsExpressionEvaluator@cd564c
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToJMSMessage
{
this=1a42493,
name='_ObjectToMessage',
ignoreBadInput=false,
returnClass=SimpleDataType{type=javax.jms.Message, mimeType='*/*'},
sourceTypes=[]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.registry.MuleContextProcessor@c890f0 [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: XmlToDomDocument
{
this=e02ea0,
name='_XmlToDocumentResult',
ignoreBadInput=false,
returnClass=SimpleDataType{type=org.dom4j.io.DocumentResult, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=java.lang.String, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=javax.xml.transform.Source, mimeType='*/*'},
SimpleDataType{type=org.xml.sax.InputSource, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Node, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Element, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
SimpleDataType{type=javax.xml.stream.XMLStreamReader, mimeType='*/*'},
SimpleDataType{type=org.mule.module.xml.transformer.DelayedResult, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageHeadersListExpressionEvaluator@6bad10 [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: XmlToXMLStreamReader
{
this=1630366,
name='_XmlToXMLStreamReader',
ignoreBadInput=false,
returnClass=SimpleDataType{type=javax.xml.stream.XMLStreamReader, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=java.lang.String, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=javax.xml.transform.Source, mimeType='*/*'},
SimpleDataType{type=org.xml.sax.InputSource, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Node, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Element, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
SimpleDataType{type=javax.xml.stream.XMLStreamReader, mimeType='*/*'},
SimpleDataType{type=org.mule.module.xml.transformer.DelayedResult, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.expression.LookupAnnotationParser@f01f4d
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: JMSMessageToObject
{
this=1a7261,
name='_JMSMessageToString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=javax.jms.Message, mimeType='*/*'},
SimpleDataType{type=javax.jms.TextMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.ObjectMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.BytesMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.MapMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.StreamMessage, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.expression.XPathBranchExpressionEvaluator@17b20c6
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.transport.quartz.config.ScheduleAnnotationParser@f07524
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.transformer.AnnotatedTransformerObjectProcessor@17a7bae
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.PayloadTypeExpressionEvaluator@17189ad
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.registry.ExpressionEvaluatorProcessor@b189d7
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.registry.ExpressionEnricherProcessor@1c2e94c
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageAttachmentsListExpressionEvaluator@50aec4
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.expression.XPathExpressionEvaluator@1e64c3a
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.registry.JSR250ValidatorProcessor@1f71eb7 [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: DomDocumentToXml
{
this=672832,
name='_DomDocumentToString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='text/xml'},
sourceTypes=[
SimpleDataType{type=java.lang.String, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=javax.xml.transform.Source, mimeType='*/*'},
SimpleDataType{type=org.xml.sax.InputSource, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Node, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Element, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
SimpleDataType{type=javax.xml.stream.XMLStreamReader, mimeType='*/*'},
SimpleDataType{type=org.mule.module.xml.transformer.DelayedResult, mimeType='*/*'}
]
} [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToString
{
this=1db9ab7,
name='ObjectToTextString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='text/plain'},
sourceTypes=[
SimpleDataType{type=java.lang.Object, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}
]
} [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.expression.FunctionAnnotationParser@45e380
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.OutboundHeadersExpressionEvaluator@133f28b
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.ognl.expression.OgnlExpressionEvaluator@188a54 [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: DataHandlerToInputStreamTransformer
{
this=1542b5b,
name='_DataHandlerToInputStream',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
sourceTypes=[SimpleDataType{type=javax.activation.DataHandler, mimeType='*/*'}]
} [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageHeaderExpressionEnricher@c0b7f6
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.json.transformers.JsonMapperResolver@1874ef4
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.VariableExpressionEvaluator@d77506
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.expression.ExprAnnotationParser@bc71dd
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: JMSMessageToObject
{
this=3c447d,
name='_JMSMessageToObject',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.Object, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=javax.jms.Message, mimeType='*/*'},
SimpleDataType{type=javax.jms.TextMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.ObjectMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.BytesMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.MapMessage, mimeType='*/*'},
SimpleDataType{type=javax.jms.StreamMessage, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ServletRequestToOutputHandler
{
this=c25ffa,
name='_ServletRequestToOutputHandler',
ignoreBadInput=false,
returnClass=SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
sourceTypes=[SimpleDataType{type=javax.servlet.http.HttpServletRequest, mimeType='*/*'}]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToString
{
this=f02b36,
name='ObjectToJsonString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='application/json'},
sourceTypes=[
SimpleDataType{type=java.lang.Object, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.registry.TypeBasedTransformerResolver@1d69ffc
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.expression.MuleAnnotationParser@199832c [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: NumberToString
{
this=9df87d,
name='NumberToString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='*/*'},
sourceTypes=[SimpleDataType{type=java.lang.Number, mimeType='*/*'}]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: XmlToOutputHandler
{
this=e4af77,
name='_XmlToOutputHandler',
ignoreBadInput=false,
returnClass=SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=java.lang.String, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=javax.xml.transform.Source, mimeType='*/*'},
SimpleDataType{type=org.xml.sax.InputSource, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Node, mimeType='*/*'},
SimpleDataType{type=org.dom4j.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Document, mimeType='*/*'},
SimpleDataType{type=org.w3c.dom.Element, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
SimpleDataType{type=javax.xml.stream.XMLStreamReader, mimeType='*/*'},
SimpleDataType{type=org.mule.module.xml.transformer.DelayedResult, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageHeaderExpressionEvaluator@7de4f1 [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToOutputHandler
{
this=10e6f59,
name='_ObjectToOutputHandler',
ignoreBadInput=false,
returnClass=SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'},
sourceTypes=[
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=java.lang.String, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=java.io.Serializable, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.parsers.InboundHeadersAnnotationParser@f0f875 [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: StringToNumber
{
this=b31e28,
name='StringToInteger',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.Integer, mimeType='*/*'},
sourceTypes=[SimpleDataType{type=java.lang.String, mimeType='*/*'}]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.config.processors.LookupInjectionProcessor@560d91
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.expression.JXPathExpressionEvaluator@4993d4
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.expression.MessageAttachmentsExpressionEvaluator@25c793
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: org.mule.module.xml.transformer.jaxb.JAXBTransformerResolver@167e012 [06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: lifecycle phase: dispose for object: ObjectToString {
this=147af37,
name='ObjectToXmlString',
ignoreBadInput=false,
returnClass=SimpleDataType{type=java.lang.String, mimeType='text/xml'},
sourceTypes=[
SimpleDataType{type=java.lang.Object, mimeType='*/*'},
SimpleDataType{type=[B, mimeType='*/*'},
SimpleDataType{type=java.io.InputStream, mimeType='*/*'},
SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}
]
}
[06-19 19:15:20] DEBUG RegistryLifecycleManager$RegistryLifecycleCallback [Thread-0]: Applying lifecycle phase: org.mule.config.spring.SpringRegistryLifecycleManager$SpringContextDisposePhase@1e64a23 for registry: SpringRegistry
[06-19 19:15:20] INFO MuleApplicationContext [Thread-0]: Closing org.mule.config.spring.MuleApplicationContext@be0382: startup date [Fri Jun 19 19:15:17 CST 2015]; root of context hierarchy
[06-19 19:15:20] INFO FlowConstructLifecycleManager [Thread-0]: Disposing flow: HelloWorldVm
[06-19 19:15:20] INFO SedaStageLifecycleManager [Thread-0]: Disposing service: HelloWorldVm.stage1
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Disposing component: component.26247488
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Disposing component: component.26070302
[06-19 19:15:20] INFO FlowConstructLifecycleManager [Thread-0]: Disposing flow: HelloWorld
[06-19 19:15:20] INFO SedaStageLifecycleManager [Thread-0]: Disposing service: HelloWorld.stage1
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Disposing component: component.30676305
[06-19 19:15:20] INFO ComponentLifecycleManager [Thread-0]: Disposing component: component.14463286
[06-19 19:15:20] INFO AbstractLifecycleManager [Thread-0]: Disposing model: _muleSystemModel
[06-19 19:15:20] INFO DefaultMuleContext [Thread-0]:
**********************************************************************
* Mule Context shut down normally on: 15-6-19 下午7:15 *
* Server was up for: 0 days, 0 hours, 0 mins, 1.70 sec *
**********************************************************************
6 浏览器测试HelloWorld流
Mule ESB 自带例子hello初体验的更多相关文章
- .NET自带IOC容器MEF之初体验
.NET自带IOC容器MEF之初体验 本文主要把MEF作为一种IOC容器进行讲解,.net中可用的IOC容器非常多,如 CastleWindsor,Unity,Autofac,ObjectBuil ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- Java8初体验(二)Stream语法详解
感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com 上篇文章Java8初体验(一)lambda表达式语法比 较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例 ...
- Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- 【Spark深入学习 -15】Spark Streaming前奏-Kafka初体验
----本节内容------- 1.Kafka基础概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知识 1.2.2.架构和原理 1.2.3.基本概念 1.2.4.kafka特点 2.Kafk ...
- [Ajax] AJAX初体验之-在博客中添加无刷新搜索
现在博客很流行,相信应该上网时间稍微长点的朋友都会在这或者在那的有一个自己的博客.对于一些有一定能力的朋友,可能更喜欢自己去下载一个博客程序来架设一个自己的博客,而不是使用一些博客网站提供的服务.而大 ...
- 数据结构(逻辑结构,物理结构,特点) C#多线程编程的同步也线程安全 C#多线程编程笔记 String 与 StringBuilder (StringBuffer) 数据结构与算法-初体验(极客专栏)
数据结构(逻辑结构,物理结构,特点) 一.数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关.逻辑结构包括: 集合 数 ...
- SSH初体验系列--Hibernate--2--crud操作
Ok,今天比较详细的学习一下hibernate的C(create).R(read).U(update).D(delete) 相关api... 前言 Session: 是Hibernate持久化操作的基 ...
- (数据科学学习手札35)tensorflow初体验
一.简介 TensorFlow时谷歌于2015年11月宣布在Github上开源的第二代分布式机器学习系统,目前仍处于快速开发迭代中,有大量的新功能新特性在陆续研发中: TensorFlow既是一个实现 ...
随机推荐
- Leetcode914.X of a Kind in a Deck of Cards卡牌分组
给定一副牌,每张牌上都写着一个整数. 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌. 组内所有的牌上都写着相同的整数. 仅当你可选的 X > ...
- git pull 提示错误,Your local changes to the following files would be overwritten by merge
error: Your local changes to the following files would be overwritten by merge: Please commit your c ...
- Directx11教程(35) 纹理映射(5)
原文:Directx11教程(35) 纹理映射(5) 到现在为止,我们的TextureClass初始化函数非常简单,说白了就是一行代码: result = D3DX11CreateShader ...
- 浅谈JavaScript的面向对象和它的封装、继承、多态
写在前面 既然是浅谈,就不会从原理上深度分析,只是帮助我们更好地理解... 面向对象与面向过程 面向对象和面向过程是两种不同的编程思想,刚开始接触编程的时候,我们大都是从面向过程起步的,毕竟像我一样, ...
- C++之ARX 读取配置文件内容时,会出现编码问题(utf-8转unicode)
CString CConvert::UTF82WCS(const char* szU8){ //预转换,得到所需空间的大小; int wcsLen = ::MultiByteToWideChar(CP ...
- MUI - 封装localStorage与plus.storage
MUI - 封装localStorage与plus.storage 2.0版本 在使用plus.storage频繁地存取数据时,可以感觉到明显的卡顿,而且很耗内存, 在切换到localstorage时 ...
- poj2391 最大流+拆点
题意:F块草坪,上面有n头牛,可以容纳m个牛遮雨.将草坪一份为2,成为二部图. 对于此题,和poj2112很像,只是2112很明显的二部图.这道题就开始敲,但是建图遇到问题,草坪的2个值怎么处理,于是 ...
- Java注解初步了解 2016-07-24 22:20 240人阅读 评论(21) 收藏
Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据. Java语言中的类.方法.变量.参数和包等都可以被标注.Java标注和Javadoc不同,标注有自反性.在编 ...
- Java练习 SDUT-3339_计算长方形的周长和面积(类和对象)
计算长方形的周长和面积(类和对象) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 设计一个长方形类Rect,计算长方形 ...
- HDU_1005:Number Sequence
Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1 ...