从前,从前
程序跑的太慢,对mule有点误解
jaxb解析xml在高压力下会有互相等待的问题,可能是使用的方式不对
使用mule简单就好了,不要太复杂,任何一个功能最好分成2个stage就好(容易查找内存堵塞)
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.mulesource.org/schema/mule/jdbc/2.2" xmlns:xm="http://www.mulesource.org/schema/mule/xml/2.2"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2" xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.2"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/jdbc/2.2 http://www.mulesource.org/schema/mule/jdbc/2.2/mule-jdbc.xsd
http://www.mulesource.org/schema/mule/xml/2.2 http://www.mulesource.org/schema/mule/xml/2.2/mule-xml.xsd
http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd
http://www.mulesource.org/schema/mule/cxf/2.2 http://www.mulesource.org/schema/mule/cxf/2.2/mule-cxf.xsd
http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd">
<context:property-placeholder location="classpath:conf/webserviceClientUrl.properties" />
<stdio:connector name="SystemStreamConnectorActive"
promptMessageCode="3" messageDelayTime="1000" />
<spring:beans>
<spring:import resource="classpath:conf/applicationContext.xml" />
</spring:beans>
<configuration>
<default-dispatcher-threading-profile
maxThreadsActive="50" maxThreadsIdle="25" threadWaitTimeout="1000" threadTTL="60000" />
<default-receiver-threading-profile
maxThreadsActive="50" maxThreadsIdle="25" threadWaitTimeout="1000" threadTTL="60000" />
<default-service-threading-profile
maxThreadsActive="50" maxThreadsIdle="25" threadWaitTimeout="1000" threadTTL="60000" />
</configuration>
<jdbc:connector name="jdbcConnectorActive" pollingFrequency="1000" dataSource-ref="dataSource">
<!-- 激活 -->
<jdbc:query key="orderQry"
value="select /*+ FULL(c) */
c.cust_order_id
from customer_order c
where exists (select b.cust_order_id
from order_item b
where b.order_item_cd = 'T20'
and b.status = '1501'
and b.cust_order_id = c.cust_order_id)
and c.status = '040'
and rownum between 0 and 100" />
<jdbc:query key="orderQry.ack"
value="update CUSTOMER_ORDER set STATUS='110' where CUST_ORDER_ID = #[map-payload:CUST_ORDER_ID] " />
<!-- 竣工 -->
<jdbc:query key="orderCompletionQry"
value="select a.cust_order_id from customer_order a where a.status = '120' and rownum between 0 and 100" />
<jdbc:query key="orderCompletionQry.ack"
value="update CUSTOMER_ORDER set STATUS='899' where CUST_ORDER_ID = #[map-payload:CUST_ORDER_ID] " />
</jdbc:connector>
<model name="jdbcInboundActionModel">
<!-- 集团改造 -->
<!-- 激活流程 start -->
<service name="jdbcService">
<inbound>
<jdbc:inbound-endpoint queryKey="orderQry" />
</inbound>
<component class="com.tydic.mule.component.OrderProcessComponent" />
<outbound>
<pass-through-router>
<vm:outbound-endpoint address="vm://activeXML" />
</pass-through-router>
</outbound>
</service>
<!-- 废弃的组件
<service name="creatXMLService">
<inbound>
<vm:inbound-endpoint address="vm://orders" />
</inbound>
<component class="com.tydic.mule.component.ActiveXMLBuilderComponent" />
<outbound>
<pass-through-router>
<vm:outbound-endpoint address="vm://activeXML" />
</pass-through-router>
</outbound>
<threading-profile maxThreadsActive="200" maxThreadsIdle="100" threadWaitTimeout="400" threadTTL="6000000" poolExhaustedAction="RUN"></threading-profile>
</service>
-->
<service name="sendXMLService">
<inbound>
<vm:inbound-endpoint address="vm://activeXML" />
</inbound>
<component class="com.tydic.mule.component.ActiveXMLSendComponent" />
</service>
<!-- 激活流程 end -->
<!-- 竣工流程 start -->
<service name="jdbcCompletionService">
<inbound>
<jdbc:inbound-endpoint queryKey="orderCompletionQry" />
</inbound>
<component class="com.tydic.mule.component.OrderCompletionComponent" />
</service>
<!-- 竣工流程 end -->
</model>
</mule>
分享到:
相关推荐
mule &amp; seda 学习二.docx
描述如何通过Mule实现Webservice的发布、实现JMS消息通信、ftp、File应用、协议转换等
这是mule入门时的学习笔记,供大家参考。对于初学者安装来说非常有效。
此学习文档为mule,主要用于对开源框架mule的学习。有助于提高开发效率
包含http、cxf、vm、sap、activeMq、ftp、file、poll、Smtp、attachment、melExpression、Java、template节点的使用示例等。
Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...
mule的介绍和案例..............................................
本文档适合初学mule的童鞋们,文档里面的内容参照了, 以下链接 http://my.oschina.net/moon/blog/10701 大家可以先看一下。 我在这基础上整理成一个word文档了并加了一些内容。收你一积分完全划算。有兴趣的朋友看...
Mule是一个企业服务总线(ESB)消息框架,而且Mule是一个轻量级且高度可扩展的ESB。
Mule 的核心是一个基于SEDA的服务容器,该容器管理被称为通用消息对象(Universal Message Objects /UMO)的服务对象,而这些对象都是POJO。所有UMO和其他应用之间的通信都是通过消息端点(message endpoint)来进行...
企业服务总线ESB中用户数量大,文档丰富,社区成熟的一款开源ESB。
Chapter 4. Transforming data with Mule Chapter 5. Routing data with Mule Chapter 6. Working with components and patterns Part 2: Running Mule Chapter 7. Integration architecture with Mule Chapter 8. ...
mule in action 和doc文档详细介绍 Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。UMO可以是POJO,JavaBean等等。它支持30多种传输协议...
mule -esb 源码
MuleESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。MuleESB支持集成现有系统而无论其底层采用何种技术,如JMS、WebServices、JDBC、HTTP以及其他...
mule,mule esb,Mule,ESB