Mark:Camel SQL Route

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:cxf="http://camel.apache.org/schema/cxf"
 5        xmlns:context="http://www.springframework.org/schema/context"
 6        xsi:schemaLocation="
 7        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 8        http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
 9        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
10        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
11
12     <context:property-placeholder/>
13
14     <bean id="integrationMessageProcessor" class="com.exigen.dgig.message.IntegrationMessageProcessor"/>
15
16     <bean id="flowExtractor" class="com.exigen.dgig.message.FlowIdExtractor"/>
17
18     <bean id="routeStopper" class="com.exigen.dgig.message.RouteStopper"/>
19
20     <bean id="shutdownStrategy" class="org.apache.camel.impl.DefaultShutdownStrategy">
21         <property name="timeout" value="1"/>
22     </bean>
23
24     <cxf:cxfEndpoint id="publishEventClient"
25                      address="${PublishEventUrl}"
26                      serviceClass="com.desjardins.assurancedommages.sm840_integrationevenements.services.eventpublisher.v1.EventPublisherPortType"
27                      loggingFeatureEnabled="true"/>
28
29     <camelContext id="dgigIntegrationLayer" xmlns="http://camel.apache.org/schema/spring">
30         <route id="policyIntegrationMessageRoute" shutdownRunningTask="CompleteCurrentTaskOnly">
31             <from uri="sql:SELECT * FROM PolicyIntegrationMessage WHERE messageId IS NULL ORDER BY id?dataSource=#dataSource&amp;delay=1s"/>
32             <log message="Found new message transactionId:${body[transactionId]} in DB" loggingLevel="INFO"/>
33             <log message="${body[messageBody]}" loggingLevel="TRACE"/>
34             <onException>
35                 <exception>java.lang.Throwable</exception>
36                 <redeliveryPolicy maximumRedeliveries="10" redeliveryDelay="1000" logRetryAttempted="true"
37                                   retryAttemptedLogLevel="WARN"/>
38                 <process ref="routeStopper"/>
39                 <log message="Route stopped" loggingLevel="ERROR"/>
40             </onException>
41             <setHeader headerName="dbMessageId">
42                 <simple>${body[id]}</simple>
43             </setHeader>
44             <process ref="integrationMessageProcessor"/>
45             <to uri="cxf:bean:publishEventClient"/>
46             <log message="Message sent to DGIG NEXT layer. Received location: ${headers.Location}" loggingLevel="INFO"/>
47             <setHeader headerName="messageId">
48                 <ref>flowExtractor</ref>
49             </setHeader>
50             <to uri="sql:UPDATE PolicyIntegrationMessage SET messageId=:#messageId WHERE id=:#dbMessageId?dataSource=#dataSource"/>
51         </route>
52         <route id="billingIntegrationMessageRoute" shutdownRunningTask="CompleteCurrentTaskOnly">
53             <from uri="sql:SELECT * FROM BillingIntegrationMessage WHERE messageId IS NULL ORDER BY id?dataSource=#dataSource&amp;delay=1s"/>
54             <log message="Found new message transactionId:${body[transactionId]} in DB" loggingLevel="INFO"/>
55             <log message="${body[messageBody]}" loggingLevel="TRACE"/>
56             <onException>
57                 <exception>java.lang.Throwable</exception>
58                 <redeliveryPolicy maximumRedeliveries="10" redeliveryDelay="1000" logRetryAttempted="true"
59                                   retryAttemptedLogLevel="WARN"/>
60                 <process ref="routeStopper"/>
61                 <log message="Route stopped" loggingLevel="ERROR"/>
62             </onException>
63             <setHeader headerName="dbMessageId">
64                 <simple>${body[id]}</simple>
65             </setHeader>
66             <process ref="integrationMessageProcessor"/>
67             <to uri="cxf:bean:publishEventClient"/>
68             <log message="Message sent to DGIG NEXT layer. Received location: ${headers.Location}" loggingLevel="INFO"/>
69             <setHeader headerName="messageId">
70                 <ref>flowExtractor</ref>
71             </setHeader>
72             <to uri="sql:UPDATE BillingIntegrationMessage SET messageId=:#messageId WHERE id=:#dbMessageId?dataSource=#dataSource"/>
73         </route>
74     </camelContext>
75 </beans>

时间: 2024-08-03 07:09:08

Mark:Camel SQL Route的相关文章

Performance Monitor3:监控SQL Server的内存压力

SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度.一个好的数据库系统,必定在内存中缓存足够多的信息,以减少从物理硬盘中读取数据的次数:如果内存是系统瓶颈,那么SQL Server一定会运行的非常慢.监控SQL Server的内存压力,需要从Widnows级别上,对内存使用的整体使用情况进行监控:从SQL Server级别上,监控SQL Server对内存资源的使用情况. 一,从Wi

笔记:Hibernate SQL 查询

Hibernate 支持使用原生的SQL查询,使用原生SQL查询可以利用某些数据库特性,原生SQL查询也支持将SQL语句放在配置文件中配置,从而提高程序的解耦,命名SQL查询还可以用于调用存储过程. SQL查询是通过SQLQuery接口来表示的,SQLQuery接口是Query接口的子接口,完全可以使用Query接口的方法,SQLQuery增加了二个重载方法 addEntity():将查询到的记录与特定的实体关联 addScalar():江查询的记录关联标量值 执行SQL的步骤如下: 获取Hib

SQL Server Extended Events 进阶 1:从SQL Trace 到Extended Events

http://www.sqlservercentral.com/articles/Stairway+Series/134869/ SQL server 2008 中引入了Extended Events 用以替换SQL Trace. 然而在第一个版本中并没有为用户提供UI,因此使用Extended Events并不是很方便.SQL Server 2012及时修正了这一点,将UI管理工具集成在SSMS中, 这就意味着我们不需要再为了查询Event XML而学习使用XQuery了.因此跟多的DBA和开

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日之功) 继上四篇:ORACLE PL/SQL编程之八:把触发器说透                ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)                [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]

[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)

原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ——通过知识共享树立个人品牌. 继上五篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下) ——通过知识共享树立个人品牌. 继上六篇: [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程之四:把游标说透(

SQL Server 2012笔记分享-4:理解SQL server实例

每个单独的SQL server实例都有一个windows进程:sqlservr.exe,一个windows下能安装多个实例,多个实例会有多个sqlservr.exe进程. 一个SQL实例在后台对应一个服务,如果多个应用程序放在一个实例里,如果某个应用开发的程序有问题,比如死循环,会导致服务停止,从而导致所有数据库无法工作.可以采用多实例分开方式. 一个服务器上可以装多个实例,标准版(16个)和企业版(50个)支持的实例数量不同. SQL server实例的类型 (一)默认实例和命名实例 1.服务

SqlServer教程:经典SQL语句集锦

SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server --- 创建 备份数据的 deviceUSE

jeesite导入数据库错误:java.sql.SQLException: Incorrect string value: &#39;\xE4\xB8\xAD\xE5\x9B\xBD&#39; for column &#39;name&#39; at row 1问题解决

如果使用mvn antrun:run -Pinit-db进行数据库导入导致出现如下错误: 解决方法: 这个是由于新建数据库没有选择默认字符集导致的,只要选择utf-8即可. jeesite导入数据库错误:java.sql.SQLException: Incorrect string value: '\xE4\xB8\xAD\xE5\x9B\xBD' for column 'name' at row 1问题解决