Mule的JDBC应用1
来源:互联网 发布:电信100兆宽带网络测试 编辑:程序博客网 时间:2024/05/04 00:01
- <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:
- http:
- http:
- http:
- http:
- http:
- http:
- http:
-
- <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="1200" dataSource-ref="dataSource">
-
- <!-- 激活 -->
- <jdbc:query key="orderQry"
- value="select 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:query key="userInfoSynQry"
- value="select a.user_info_syn_id,
- a.system_id,
- a.action_type,
- a.prod_spec_code,
- a.product_no,
- a.old_product_no,
- a.user_state,
- a.user_pay_type,
- a.state
- from user_info_syn a where a.state = '100'
- and rownum between 0 and 100" />
- <jdbc:query key="userInfoSynQry.ack"
- value="update user_info_syn t set t.state = '200' where t.user_info_syn_id = #[map-payload:user_info_syn_id] " />
-
- <!-- 服开回单 -->
- <jdbc:query key="pfOrderQry"
- value="SELECT T.WORK_ORDER_ID workOrderId,
- T.CUST_ORDER_ID custOrderId,
- T.STATE state,
- T.ADD_TIME addTime,
- T.REMARK remark,
- T.ORDER_STATE orderState
- FROM RETURN_WORK_ORDER T
- WHERE T.STATE='0' and rownum between 0 and 100" />
- <jdbc:query key="pfOrderQry.ack"
- value="update RETURN_WORK_ORDER set STATE='9' where CUST_ORDER_ID = #[map-payload:custOrderId] "/>
- </jdbc:connector>
-
- <endpoint name="CustomerOrderItemRequests" address="vm://customerOrderitem.requests" />
- <vm:connector name="vmConnector" queueEvents="true" />
-
- <model name="jdbcInboundActionModel">
- <!-- 集团改造 -->
- <!-- 激活流程 start -->
- <service name="jdbcService">
- <inbound>
- <jdbc:inbound-endpoint queryKey="orderQry" />
- </inbound>
- <!-- 使用对象池技术,在系统启动时就会先创建一批对象(本配置为50个)放在对象池里,等发起调用时,系统不会创建新的对象,because the component will reused -->
- <pooled-component class="com.tydic.mule.component.OrderProcessComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="100" maxIdle="200" maxWait="300" />
- </pooled-component>
- <outbound>
- <pass-through-router>
- <vm:outbound-endpoint address="vm://orders" />
- </pass-through-router>
- </outbound>
- </service>
-
- <service name="creatXMLService">
- <inbound>
- <vm:inbound-endpoint address="vm://orders" />
- </inbound>
- <!-- 使用对象池技术,在系统启动时就会先创建一批对象(本配置为50个)放在对象池里,等发起调用时,系统不会创建新的对象,because the component will reused -->
- <pooled-component class="com.tydic.mule.component.ActiveXMLBuilderComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="600" maxIdle="700" maxWait="800" />
- </pooled-component>
- <outbound>
- <pass-through-router>
- <vm:outbound-endpoint address="vm://activeXML" />
- </pass-through-router>
- </outbound>
- <threading-profile maxThreadsActive="300" maxThreadsIdle="200" threadWaitTimeout="1000" threadTTL="60000" poolExhaustedAction="RUN"></threading-profile>
- </service>
-
- <service name="sendXMLService">
- <inbound>
- <vm:inbound-endpoint address="vm://activeXML" />
- </inbound>
- <!-- 使用对象池技术,在系统启动时就会先创建一批对象(本配置为50个)放在对象池里,等发起调用时,系统不会创建新的对象,because the component will reused -->
- <pooled-component class="com.tydic.mule.component.ActiveXMLSendComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="600" maxIdle="700" maxWait="800" />
- </pooled-component>
- <threading-profile maxThreadsActive="300" maxThreadsIdle="200" threadWaitTimeout="1000" threadTTL="60000"></threading-profile>
- </service>
- <!-- 激活流程 end -->
-
- <!-- 竣工流程 start -->
- <service name="jdbcCompletionService">
- <inbound>
- <jdbc:inbound-endpoint queryKey="orderCompletionQry" />
- </inbound>
- <!-- 使用对象池技术,在系统启动时就会先创建一批对象(本配置为50个)放在对象池里,等发起调用时,系统不会创建新的对象,because the component will reused -->
- <pooled-component class="com.tydic.mule.component.OrderCompletionComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="100" maxIdle="200" maxWait="300" />
- </pooled-component>
- </service>
- <!-- 竣工流程 end -->
-
-
- <!-- 用户状态同步下发 -->
- <service name="jdbcUserInfoSynService">
- <inbound>
- <jdbc:inbound-endpoint queryKey="userInfoSynQry" />
- </inbound>
- <!-- 使用对象池技术,在系统启动时就会先创建一批对象(本配置为50个)放在对象池里,等发起调用时,系统不会创建新的对象,because the component will reused -->
- <pooled-component class="com.tydic.mule.component.UserInfoSynXMLBuilderComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="600" maxIdle="700" maxWait="800" />
- </pooled-component>
- <outbound>
- <pass-through-router>
- <vm:outbound-endpoint address="vm://userInfoSynXML" />
- </pass-through-router>
- </outbound>
- <threading-profile maxThreadsActive="200" maxThreadsIdle="100" threadWaitTimeout="1000" threadTTL="60000" poolExhaustedAction="RUN"></threading-profile>
- </service>
-
- <service name="userInfoSynSendXMLService">
- <inbound>
- <vm:inbound-endpoint address="vm://userInfoSynXML" />
- </inbound>
- <!-- 使用对象池技术,在系统启动时就会先创建一批对象(本配置为50个)放在对象池里,等发起调用时,系统不会创建新的对象,because the component will reused -->
- <pooled-component class="com.tydic.mule.component.UserInfoSynXMLSendComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="200" maxIdle="300" maxWait="400" />
- </pooled-component>
- </service>
- <!-- 用户状态同步下发 end-->
-
-
- <!-- 服开回单服务 -->
- <service name="jdbcInboundPFReturnService">
- <inbound>
- <jdbc:inbound-endpoint queryKey="pfOrderQry" />
- </inbound>
- <pooled-component class="com.tydic.mule.component.PFReturnXMLBuilderComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="600" maxIdle="700" maxWait="800" />
- </pooled-component>
- <outbound>
- <pass-through-router>
- <vm:outbound-endpoint address="vm://pfReturnXMLOrders" />
- </pass-through-router>
- </outbound>
- <threading-profile maxThreadsActive="150" maxThreadsIdle="75" threadWaitTimeout="1000" threadTTL="60000" poolExhaustedAction="RUN"></threading-profile>
- </service>
-
- <service name="pfReturnSendXMLService">
- <inbound>
- <vm:inbound-endpoint address="vm://pfReturnXMLOrders" />
- </inbound>
- <pooled-component class="com.tydic.mule.component.PFReturnXMLSendComponent">
- <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL"
- maxActive="600" maxIdle="700" maxWait="800" />
- </pooled-component>
- <threading-profile maxThreadsActive="200" maxThreadsIdle="100" threadWaitTimeout="1000" threadTTL="60000" poolExhaustedAction="RUN"></threading-profile>
- </service>
- <!-- 服开回单服务 end -->
-
- <!--
- <service name="jdbcInboundActionService">
- <inbound>
- <jdbc:inbound-endpoint queryKey="orderQry" />
- </inbound>
- <component class="com.muleinaction.MuleDataServiceComponent" />
- <outbound>
- <pass-through-router>
- <vm:outbound-endpoint address="vm://orders" />
- </pass-through-router>
- </outbound>
- </service>
- <service name="ThreeWebService">
- <inbound>
- <vm:inbound-endpoint address="vm://orders" />
- </inbound>
- <component class="com.muleinaction.ThreeWebServiceComponent" />
- </service>
- <service name="ClientWebService">
- <inbound>
- <vm:inbound-endpoint ref="CustomerOrderItemRequests" />
- </inbound>
- <component class="com.muleinaction.ClientCXFWebServiceComponent">
- </component>
- </service>
- -->
- </model>
- </mule>