Mule ESB 自带例子hello初体验
1 配置的流的效果图
2 应用配置文件hello.xml内容
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <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" 4 xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.4.0" 5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 7 http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 8 http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd 9 http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd"> 10 11 <!-- 自定义全局转换器 --> 12 <custom-transformer class="org.mule.example.hello.StringToNameString" name="StringToNameString" doc:name="Java" /> 13 <custom-transformer class="org.mule.example.hello.NameStringToChatString" name="NameStringToChatString" doc:name="Java" /> 14 <custom-transformer class="org.mule.example.hello.HttpRequestToNameString" name="HttpRequestToNameString" doc:name="Java" /> 15 <custom-transformer class="org.mule.example.hello.ChatStringToString" name="ChatStringToString" doc:name="Java" /> 16 17 <!-- 定义HelloWorld流(消息源是一个HTTP入站端点) --> 18 <flow name="HelloWorld"> 19 <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8888" doc:name="Http Endpoint"/> 20 <message-filter doc:name="Filter favicon"> 21 <not-filter> 22 <wildcard-filter pattern="/favicon.ico" caseSensitive="true"/> 23 </not-filter> 24 </message-filter> 25 <transformer ref="HttpRequestToNameString" doc:name="Transrom HttpRequest to NameString"/> 26 <flow-ref name="HelloWorldSubFlow" doc:name="Process request"/> 27 <catch-exception-strategy doc:name="Catch Exception Strategy"> 28 <logger message="#[payload]" level="ERROR" doc:name="Error Log"/> 29 </catch-exception-strategy> 30 </flow> 31 32 <!-- 定义HelloWorldVm流(消息源是一个VM入站端点) --> 33 <flow name="HelloWorldVm"> 34 <vm:inbound-endpoint exchange-pattern="request-response" path="greeter" doc:name="VM Endpoint"/> 35 <transformer ref="StringToNameString" doc:name="Transform String to NameString"/> 36 <flow-ref name="HelloWorldSubFlow" doc:name="Process request"/> 37 </flow> 38 39 <!-- 定义子流HelloWorldSubFlow --> 40 <sub-flow name="HelloWorldSubFlow"> 41 <component class="org.mule.example.hello.Greeter" doc:name="Greeter Component"/> 42 <choice doc:name="Choice"> 43 <when expression="payload instanceof org.mule.example.hello.NameString" evaluator="groovy"> 44 <processor-chain doc:name="ProcessorChain1"> 45 <flow-ref name="ChitChat" doc:name="Process ChitChat"/> 46 </processor-chain> 47 </when> 48 <when expression="payload instanceof java.lang.Exception" evaluator="groovy"> 49 <processor-chain doc:name="ProcessorChain2"> 50 <logger message="#[payload]" level="ERROR" doc:name="Error Log"/> 51 </processor-chain> 52 </when> 53 </choice> 54 </sub-flow> 55 56 <!-- 定义子流ChitChat --> 57 <sub-flow name="ChitChat"> 58 <transformer ref="NameStringToChatString" doc:name="Transform NameString to ChatString"/> 59 <component class="org.mule.example.hello.ChitChatter" doc:name="ChitChatter component"/> 60 <transformer ref="ChatStringToString" doc:name="Transform ChatString to String"/> 61 </sub-flow> 62 </mule>
4 消息处理器类
1)HttpRequestToNameString
1 package org.mule.example.hello; 2 3 import java.io.InputStream; 4 import java.net.URLDecoder; 5 6 import org.mule.api.transformer.TransformerException; 7 import org.mule.transformer.AbstractTransformer; 8 import org.mule.transformer.types.DataTypeFactory; 9 import org.mule.util.IOUtils; 10 11 public class HttpRequestToNameString extends AbstractTransformer { 12 13 private static final String NAME_REQUEST_PARAMETER = "name="; 14 15 public HttpRequestToNameString() { 16 super(); 17 this.registerSourceType(DataTypeFactory.STRING); 18 this.registerSourceType(DataTypeFactory.BYTE_ARRAY); 19 this.registerSourceType(DataTypeFactory.INPUT_STREAM); 20 this.registerSourceType(DataTypeFactory.create(NameString.class)); 21 } 22 23 @Override 24 protected Object doTransform(Object src, String enc) throws TransformerException { 25 String srcStr = converRequestToString(src, enc); 26 String requestQueryStr = extractRequestQuery(srcStr); 27 String nameValueStr = extractNameValue(requestQueryStr); 28 29 System.out.println("消息负载字符串:" + srcStr); //"/?name=asn" 30 return new NameString(nameValueStr); 32 } 33 34 /** 35 * 转换消息负载为字符串对象 36 * @param src 37 * @param outputEncoding 38 * @return 39 */ 40 private String converRequestToString(Object src, String outputEncoding) { 41 String srcAsString = null; 42 43 if (src instanceof Byte[]) { 44 if (outputEncoding != null) { 45 try { 46 srcAsString = new String((byte[]) src, outputEncoding); 47 } catch (Exception e) { 48 srcAsString = new String((byte[]) src); 49 } 50 } else { 51 srcAsString = new String((byte[]) src); 52 } 53 } else if (src instanceof InputStream) { 54 InputStream input = (InputStream) src; 55 try { 56 srcAsString = IOUtils.toString(input); 57 } catch (Exception e) { 58 59 } finally { 60 IOUtils.closeQuietly(input); 61 } 62 } else { 63 srcAsString = src.toString(); 64 } 65 return srcAsString; 66 } 67 68 /** 69 * 从消息负载字符串中,取出查询串 70 * @param request 71 * @return 72 */ 73 private String extractRequestQuery(String request) { 74 String requestQuery = null; 75 76 if (request != null && request.length() > 0 && request.indexOf('?') != -1) { 77 requestQuery = request.substring(request.indexOf('?') + 1).trim(); 78 } 79 return requestQuery; 80 } 81 82 /** 83 * 从查询字符串中,抽取出 name对应的值xxx 84 * @param requestQuery 85 * @return 86 * @throws TransformerException 87 */ 88 private String extractNameValue(String requestQuery) throws TransformerException { 89 String nameValue = null; 90 91 if (requestQuery != null && requestQuery.length() > 0) { 92 int nameParamterPos = requestQuery.indexOf(NAME_REQUEST_PARAMETER); 93 94 if (nameParamterPos != -1) { 95 int nextParameterValuePos = requestQuery.indexOf('&'); 96 if (nextParameterValuePos == -1 || nextParameterValuePos < nameParamterPos) { 97 nextParameterValuePos = requestQuery.length(); 98 } 99 nameValue = requestQuery.substring(nameParamterPos + NAME_REQUEST_PARAMETER.length(), nextParameterValuePos); 100 } 101 if (nameValue != null && nameValue.length() > 0) { 102 try { 103 nameValue = URLDecoder.decode(nameValue, "utf-8"); 104 } catch (Exception e) { 105 logger.error(e.getMessage()); 106 } 107 } 108 } 109 110 if (nameValue == null) { 111 nameValue = ""; 112 } 113 return nameValue; 114 } 115 }
2) StringToNameString
1 package org.mule.example.hello; 2 3 import org.mule.api.transformer.TransformerException; 4 import org.mule.transformer.AbstractTransformer; 5 import org.mule.transformer.types.DataTypeFactory; 6 7 public class StringToNameString extends AbstractTransformer { 8 9 public StringToNameString() { 10 super(); 11 this.registerSourceType(DataTypeFactory.STRING); 12 this.setReturnDataType(DataTypeFactory.create(NameString.class)); 13 } 14 15 @Override 16 protected Object doTransform(Object src, String enc) throws TransformerException { 17 return new NameString((String) src); 18 } 19 }
3) NameStringToChatString
1 package org.mule.example.hello; 2 3 import org.mule.api.transformer.TransformerException; 4 import org.mule.transformer.AbstractTransformer; 5 import org.mule.transformer.types.DataTypeFactory; 6 7 public class NameStringToChatString extends AbstractTransformer { 8 9 public NameStringToChatString() { 10 super(); 11 this.registerSourceType(DataTypeFactory.create(NameString.class)); 12 this.setReturnDataType(DataTypeFactory.create(ChatString.class)); 13 } 14 15 16 @Override 17 protected Object doTransform(Object src, String enc) throws TransformerException { 18 19 ChatString chatString = new ChatString(); 20 NameString nameString = (NameString) src; 21 chatString.append(nameString.getGreeting() + " "); 22 chatString.append(nameString.getName()); 23 24 return chatString; 25 } 26 }
4) ChatStringToString
1 package org.mule.example.hello; 2 3 import org.mule.api.transformer.TransformerException; 4 import org.mule.transformer.AbstractTransformer; 5 import org.mule.transformer.types.DataTypeFactory; 6 7 public class ChatStringToString extends AbstractTransformer { 8 9 public ChatStringToString() { 10 super(); 11 this.registerSourceType(DataTypeFactory.create(ChatString.class)); 12 this.setReturnDataType(DataTypeFactory.STRING); 13 } 14 15 @Override 16 protected Object doTransform(Object src, String enc) throws TransformerException { 17 ChatString chatString = (ChatString) src; 18 return chatString.toString(); 19 } 20 }
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"/>
1 package org.mule.example.hello; 2 3 public class ChitChatter { 4 5 private String chitchat = ""; 6 7 public ChitChatter() { 8 chitchat = LocaleMessage.getGreetingPart2(); //, how are you? 9 } 10 11 public void chat(ChatString string) { 12 string.append(chitchat); 13 } 14 }
b. 可序列化对象类
1)NameString
1 package org.mule.example.hello; 2 3 import java.io.Serializable; 4 5 public class NameString implements Serializable { 6 7 /** 8 * 9 */ 10 private static final long serialVersionUID = 8285728498650648583L; 11 12 13 private String name; 14 private String greeting; 15 16 17 public NameString() { 18 this.name = null; 19 } 20 21 public NameString(String name) { 22 this.name = name; 23 } 24 25 26 public String getName() { 27 return name; 28 } 29 public void setName(String name) { 30 this.name = name; 31 } 32 public String getGreeting() { 33 return greeting; 34 } 35 public void setGreeting(String greeting) { 36 this.greeting = greeting; 37 } 38 39 //名字是一个非null非空字符串就是合法的 40 public boolean isValid() { 41 return name != null && name.length() > 0; 42 } 43 }
2) ChatString
1 package org.mule.example.hello; 2 3 import java.io.Serializable; 4 5 public class ChatString implements Serializable { 6 7 8 /** 9 * 10 */ 11 private static final long serialVersionUID = 3034358132588499676L; 12 13 14 15 private StringBuffer string = new StringBuffer(); 16 17 18 public StringBuffer append(String str) { 19 return string.append(str); 20 } 21 22 23 public StringBuffer append(StringBuffer sb) { 24 return string.append(sb); 25 } 26 27 public StringBuffer insert(int offset, char[] str) { 28 return string.insert(offset, str); 29 } 30 31 32 public StringBuffer insert(int index, char[] str, int offset, int len) { 33 return string.insert(index, str, offset, len); 34 } 35 36 public int getSize() { 37 return string.length(); 38 } 39 40 public String toString() { 41 return string.toString(); 42 } 43 }
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
1 package org.mule.example.hello; 2 3 import org.mule.config.i18n.MessageFactory; 4 5 public class LocaleMessage extends MessageFactory { 6 7 8 private static final LocaleMessage factory = new LocaleMessage(); 9 private static final String BUNDLE_PATH = "messages.hello-example-messages"; 10 11 public static String getGreetingPart2() { 12 return factory.getString(BUNDLE_PATH, 1); 13 } 14 15 public static String getGreetingPart1() { 16 return factory.getString(BUNDLE_PATH, 2); 17 } 18 19 public static String getPrompt() { 20 return factory.getString(BUNDLE_PATH, 3); 21 } 22 23 public static String getInvalidNameError() { 24 return factory.getString(BUNDLE_PATH, 4); 25 } 26 }
d. 测试类
1)可序列化对象类和自定义消息处理器类的测试
1 package org.mule.example.hello; 2 3 import java.io.ByteArrayInputStream; 4 import java.io.InputStream; 5 6 import org.junit.Test; 7 import org.mule.tck.junit4.AbstractMuleTestCase; 8 import org.mule.transformer.types.DataTypeFactory; 9 10 import static org.junit.Assert.assertNotNull; 11 import static org.junit.Assert.assertNull; 12 import static org.junit.Assert.assertEquals; 13 import static org.junit.Assert.assertTrue; 14 15 public class HelloSampleTestCase extends AbstractMuleTestCase { 16 17 /** 18 * 对可序列化对象类Greeter的方法进行测试 19 */ 20 @Test 21 public void testGreeter() { 22 NameString name = new NameString("Fred"); 23 assertNotNull(name.getName()); 24 assertNull(name.getGreeting()); 25 26 name.setName("Another Fred"); 27 Greeter greeter = new Greeter(); 28 greeter.greet(name); 29 assertNotNull(name.getGreeting()); 30 } 31 32 /** 33 * 对可序列化对象类testChitChatter的方法进行测试 34 */ 35 @Test 36 public void testChitChatter() { 37 NameString name = new NameString("Barney"); 38 assertNotNull(name.getName()); 39 assertNull(name.getGreeting()); 40 41 ChatString chat = new ChatString(); 42 assertTrue(chat.getSize() == 0); 43 ChitChatter chitChatter = new ChitChatter(); 44 chitChatter.chat(chat); 45 assertTrue(chat.getSize() > 0); 46 System.out.println("chat.getSize(): " + chat.getSize() + ", chat.getGreeting(): " + chat); 47 48 int size = chat.getSize(); 49 chat.append("Blah"); 50 chat.append(new StringBuffer("Blah")); 51 assertTrue(chat.toString().endsWith("BlahBlah")); 52 chat.insert(0, "Blah".toCharArray(), 0, 2); 53 chat.insert(2, "Blah".toCharArray()); 54 assertTrue(chat.toString().startsWith("BlBlah")); 55 assertEquals(size + 4 + 4 + 2 + 4, chat.getSize()); 56 } 57 58 //测试 StringToNameString 消息转换器 59 @Test 60 public void testStringToNameTransformer() throws Exception { 61 String temp = "Wilma"; 62 StringToNameString trans = new StringToNameString(); 63 Object result = trans.transform(temp); 64 65 assertNotNull(result); 66 assertTrue(result instanceof NameString); 67 68 NameString name = (NameString) result; 69 assertNotNull(name.getName()); 70 assertNull(name.getGreeting()); 71 72 result = trans.transform("Another Wilma"); 73 assertNotNull(result); 74 assertTrue(result instanceof NameString); 75 76 name = (NameString) result; 77 assertNotNull(name.getName()); 78 assertEquals("Another Wilma", name.getName()); 79 } 80 81 82 //测试 HttpRequestToNameString 消息转换器 83 @Test 84 public void testHttpRequestToNameTransformer() throws Exception { 85 String temp = "whateverUrl?name=Wilma"; 86 HttpRequestToNameString trans = new HttpRequestToNameString(); 87 Object result = trans.transform(temp); 88 89 assertNotNull(result); 90 assertTrue(result instanceof NameString); 91 92 NameString name = (NameString) result; 93 assertNotNull(name.getName()); 94 assertNull(name.getGreeting()); 95 96 result = trans.transform("whateverUrl?street=Sonnenstrasse&name=Another%20Wilma"); 97 assertNotNull(result); 98 assertTrue(result instanceof NameString); 99 100 name = (NameString) result; 101 assertNotNull(name.getName()); 102 assertEquals("Another Wilma", name.getName()); 103 } 104 105 //测试 HttpRequestToNameString 消息转换器 106 @Test 107 public void testHttpRequestToNameStreamingTransformer() throws Exception { 108 InputStream in = new ByteArrayInputStream("whateverUrl?name=Wilma".getBytes()); 109 HttpRequestToNameString transformer = new HttpRequestToNameString(); 110 Object result = transformer.transform(in); 111 112 assertNotNull(result); 113 assertTrue(result instanceof NameString); 114 115 NameString name = (NameString) result; 116 assertNotNull(name.getName()); 117 assertNull(name.getGreeting()); 118 } 119 120 //测试 NameToChatString 消息转换器 121 @Test 122 public void testNameToChatTransformer() throws Exception { 123 NameString temp = new NameString("the other one"); 124 NameStringToChatString trans = new NameStringToChatString(); 125 trans.setReturnDataType(DataTypeFactory.create(ChatString.class)); 126 127 Object result = trans.transform(temp); 128 assertNotNull(result); 129 assertTrue(result instanceof ChatString); 130 131 ChatString chat = (ChatString) result; 132 assertTrue(chat.getSize() > 0); 133 } 134 }
2)带有VM入站端点的HelloWorldVm流测试
1 package org.mule.example.hello; 2 3 import org.junit.Test; 4 import org.mule.api.MuleMessage; 5 import org.mule.api.client.MuleClient; 6 import org.mule.tck.junit4.FunctionalTestCase; 7 8 import static org.junit.Assert.assertNotNull; 9 import static org.junit.Assert.assertTrue; 10 11 public class HelloTestCase extends FunctionalTestCase { 12 13 @Override 14 protected String getConfigResources() { 15 return "hello.xml"; 16 } 17 18 @Test 19 public void testHelloVM() throws Exception { 20 MuleClient client = muleContext.getClient(); 21 MuleMessage responseMessage = client.send("vm://greeter", "Rose", null); 22 23 System.out.println("####>>>response: " + responseMessage.getPayloadAsString()); 24 25 assertNotNull(responseMessage); 26 assertTrue(responseMessage.getPayloadAsString().contains("Rose")); 27 } 28 }
[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流