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流

 

posted @ 2015-06-19 19:45  asnjudy  阅读(8843)  评论(1编辑  收藏  举报