`
rrsy23
  • 浏览: 182700 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ServiceMix-流程

    博客分类:
  • SOA
阅读更多

1.HTTP-binding(ServiceMix)

   

1.4 各组件间传递消息流的过程如下:

1.        HttpClientHttp客户端运行一个独立的Java客户端程序,通过其中的URLConnection类连接到http://localhost:8912,将request.xml文件发送到此端口。

2.        HttpReceiver:在Http服务器上(Http server)HttpReceiver通过监听http://localhost:8912端口,得到此消息。

3.        HttpReceiver根据消息的destinationService(目标服务)属性中的信息,将此消息通过NMR发送给相应的stockQuote服务。

4.        stockQuote再将此消息发送给另一个服务——soapEndpoint来处理。

5.        soapEndpoint处理之后,将响应消息返回给stockQuote

6.        stockQuote通过NMR将此相应消息发送给httpReceiver

7.        httpReceiver将相应消息发送到http://localhost:8912端口。

8.        HttpClient从端口读取该响应消息。

9.        最终响应消息在控制台输出。

 

 

 

2.Jms-binding (ServiceMix)

 

 

2.4消息流按以下方式通过各个组件:

  1. JMSClient, 通过 ActiveMQConnectionFactory, 连接到一个叫"demo.org.servicemix.source"的主题 并发送一个文本消息。
  2. jencks (JCA资源适配器) 在端口61616上监听消息
  3. inputReceiver 通过jencks订阅"demo.org.servicemix.source" 主题并接收JMS消息
  4. inputReceiver规格化JMS消息并通过规格化消息路由器(NMR)把它发送到 outputSender
  5. outputSender outputSender把规格化的消息marshal为一个JMS消息,并使用jmsTemplate"demo.org.servicemix.result" 主题上发布消息。
  6. jmsTemplate在"demo.org.servicemix.result" 主题上发布消息,使用jmsFactory获得一个到结果主题的连接。
  7. JMSClient, "demo.org.servicemix.result," 主题的另一个订阅者接收这个消息。
  8. 响应在控制台上打印。

 

 3.BPEL Example(ServiceMix)

 

3.5程序的逻辑流:

1.        JMSClient,通过ActiveMQConnectionFactory连接到一个叫"demo.org.servicemix.source"的主题上,并发送一个包含message.soap file.的文本消息。

2.        myComponent, "demo.org.servicemix.source,"主题的一个订阅者,接收这个消息。

3.        myComponent 实现类,JmsServiceComponent,通过ServiceMix总线发送消息至PxeBpelEngine,执行它的onMessage()方法。destinationService属性定了了消息的目的地。注意:destinationService属性在文件servicemix.xml中。

4.        PxeBpelEngine通过ServiceMix总线、NMR发送一个响应至myComponent 

5.      myComponent 使用 jmsTemplate bean 发布消息。.

6.        jmsTemplate 使用 jmsFactory bean获得一个到和JMS 主题"demo.org.servicemix.source."相关的端口的连接。这个消息被发布在"demo.org.servicemix.source" 主题.

7.      JMSClient, "demo.org.servicemix.source,"主题的订阅者, 接收这个消息。

8.        响应在控制台上打印。

 

 

4.RSS-binding(ServiceMix)

 

 

 

 

5.File binding(ServiceMix) 

 

5.4程序的逻辑流:

1.        FilePoller 1000ms检索收件箱目录一次寻找一个文件

2.        一旦在收件箱目录中找到一个文件,filePollerworkManager处获得一个线程。这个线程用来处理这个文件。

3.        filePoller创建一个包含了将要被传输的文件的规格化的消息,它把这个规格化的消息发送到NMRNMR把这个消息路由到fileSender组件。

4.        fileSender把规格化的消息转换到一个文件并“发送”(放置)到发件箱目录。

文件传输过程中,日志信息被写到控制台。

 

 

 6.Basic(ServiceMix)

 

6.4  消息流按以下方式通过各个组件:

1.        Timer组件通过规格化消息路由(NMR)向inputSender发送一个消息。

2.        inputsender把消息转换(marshals)为一个JMS消息,然后用jmsTemplate bean发布消息。

3.        jmsTemplatejmsFactorybean获得一个到和JMS 主题"demo.org.servicemix.source."相关的端口的连接。这个消息被发布在"demo.org.servicemix.source" 主题.

4.        jencks (the JCA资源适配器)在端口61616上监听消息

5.        inputReceiver通过jencks订阅"demo.org.servicemix.source" 主题并接收JMS消息

6.        inputReceiver规格化JMS消息并通过NMR把它发送到outputSender

7.        outputSender把规格化的消息marshal为一个JMS消息,并使用jmsTemplate"demo.org.servicemix.result" 主题上发布消息。

8.        jmsTemplate"demo.org.servicemix.result" 主题上发布消息,使用jmsFactory获得一个到结果主题的连接。

9.        Jencks61616端口上监听消息。

10.    jmsTrace订阅"demo.org.servicemix.result" 主题,并通过jencks接收JMS消息。

11.    jmsTraceJMS消息转换成规格化消息,并通过NMR把它发送到trace

12.    trace把规格化的消息转换成一个字符串,并在控制台上记录日志。

 

5秒在控制台上写一遍日志,还有从trace组件而来的信息。注意,他日ggers&apos,属性值为“名字”“我的示例工作”“组”,“ServiceMix”用时间戳显示。

 

 

7.Quartz-binding(ServiceMix) 

 

 

http://blog.csdn.net/juset/archive/2006/12/18/1447626.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics