- 浏览: 2091354 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (196)
- groovy&grails (0)
- gis (3)
- Linux (12)
- spring (15)
- database (1)
- jquery (4)
- chrome (3)
- java基础 (1)
- java高级 (3)
- hibernate (1)
- hadoop (2)
- javascript OOP (1)
- spring4.0系列 (10)
- spring boot (4)
- spring-boot (13)
- PaaS (20)
- OpenSource (1)
- docker (13)
- 点睛Spring4.1 (20)
- 非技术 (4)
- fedora21 (5)
- golang (2)
- CloudStack (2)
- puppet (2)
- tools (2)
- apache mesos (5)
- 点睛Spring MVC 4.1 (10)
- Mac (1)
- Spring 4.2新特性 (4)
- work (1)
- news (7)
- postgresql (2)
- IntelliJ IDEA (1)
- XenServer (2)
- docker swarm Portainer (1)
- kargo (1)
- ansible (1)
- kubernetes (8)
- Spring Data JPA (3)
- spring cloud (3)
- Spring Data (2)
- Hibernate-Spatial (1)
- PostGIS (1)
- jsonb (1)
- minikube (1)
- geojson (1)
- geometry (1)
- spring mvc (1)
- kuberspay (1)
- kubespray (2)
- kubectl (2)
- spring securityhttps://www.youtube.com/watch?v=R8m48ARSTm4 (1)
- spark (1)
- cassandra (1)
- spark-cassandra-connector (1)
- Spring Security (1)
- spring batch (1)
- elaticsearch (1)
- kettle (1)
- data integration (1)
- Spring Data Jest (1)
- Elasticsearch (3)
- Spring boot 2.0 (2)
- OAUTH2 (1)
- SseEmitter (1)
- @EventListener (1)
- Spring Cloud Sleuth (1)
- Zipkin (1)
- Kafka (1)
- fluentd (1)
- kibana (1)
- 审计 (1)
- https://blog.csdn.net/wiselyman (1)
- k8s (2)
- Strimzi (1)
- Kafka Connect (1)
- debezium (1)
最新评论
-
lhs472194266:
我在搜索是,面临一个问题,是用maven 将第三方jar包的s ...
如何在IntelliJ IDEA中检索maven依赖jar包的源码 -
淡炒番茄:
博主,你这个认证服务器是个单应用,作微服务、我要用几个认证服务 ...
Spring Cloud下基于OAUTH2认证授权的实现 -
lianghuado:
Spring4.0系列9-websocket简单应用 -
yangjianzhouctgu:
汪老师,你好,我想就spring boot测试方面的问题请教一 ...
Spring Boot使用自定义的properties -
dyj025:
wiselyman 写道dyj025 写道楼主源码访问不了.可 ...
Spring Cloud下基于OAUTH2认证授权的实现
需求为:当客户已有系统的数据被同步到我方数据库后,若再有新数据,只同步新数据到我方数据库。
解决:因为客户的业务表是不能变动的,我方在客户数据库中新建一状态表,记录哪些数据被更新过。
当客户业务表有新数据插入时,用触发器将新数据id插入到状态表。
为方便实例:业务表pp,状态表status
结构为:
pp:
CREATE TABLE `pp` (
`name` varchar(255) default NULL,
`address` varchar(255) default NULL,
`id` int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
status:
CREATE TABLE `status` (
`id` int(11) NOT NULL auto_increment,
`status` varchar(255) default 'new',
`ppid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
触发器:
DROP TRIGGER if EXISTS mytrigger
CREATE TRIGGER mytrigger after INSERT on pp
for EACH ROW
BEGIN
INSERT into `status`(ppid) values(new.id);
END;
核心配置:jdbc-inbound-context.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:int="http://www.springframework.org/schema/integration" xmlns:int-jdbc="http://www.springframework.org/schema/integration/jdbc" xmlns:int-jms="http://www.springframework.org/schema/integration/jms" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-2.0.xsd http://www.springframework.org/schema/integration/jdbc http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc-2.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd http://www.springframework.org/schema/integration/jms http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd"> <context:component-scan base-package="com.wisely.inbound"/> <int:channel id="target"/> <int-jdbc:inbound-channel-adapter channel="target" data-source="dataSource" query="select p.id as ppid,p.name as ppname from pp p,status s where p.id=s.ppid and s.status='new'" update="update status as st set st.status='old' where ppid in (:ppid)" > <!-- 每隔多少毫秒去抓取 --> <int:poller fixed-rate="5000" > <int:transactional/> </int:poller> <!-- 指定时刻抓取 <int:poller max-messages-per-poll="1"> <int:transactional/> <int:cron-trigger expression="0 0 3 * * ?"/> </int:poller> --> </int-jdbc:inbound-channel-adapter> <int:service-activator input-channel="target" ref="jdbcMessageHandler"/> <context:property-placeholder location="classpath*:META-INF/spring/*.properties"/> <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource"> <property name="driverClassName" value="${database.driverClassName}"/> <property name="url" value="${database.url}"/> <property name="username" value="${database.username}"/> <property name="password" value="${database.password}"/> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> </beans>
JdbcMessageHandler:
package com.wisely.inbound.jdbc; import java.util.List; import java.util.Map; import org.springframework.integration.annotation.ServiceActivator; import org.springframework.stereotype.Component; @Component public class JdbcMessageHandler { @ServiceActivator public void handleJdbcMessage(List<Map<String ,Object>> message){ for(Map<String,Object> resultMap:message){ System.out.println("组:"); for(String column:resultMap.keySet()){ System.out.println("字段:"+column+" 值:"+resultMap.get(column)); } } } }
测试类:
package com.wisely.inbound.jdbc; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class JdbcInbound { /** * @param args */ public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("/META-INF/spring/jdbc-inbound-context.xml"); } }
若将channel改为jms的通道。配置文件做以下修改:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:int="http://www.springframework.org/schema/integration" xmlns:int-jdbc="http://www.springframework.org/schema/integration/jdbc" xmlns:int-jms="http://www.springframework.org/schema/integration/jms" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-2.0.xsd http://www.springframework.org/schema/integration/jdbc http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc-2.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd http://www.springframework.org/schema/integration/jms http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd"> <context:component-scan base-package="com.wisely.inbound"/> <int-jms:channel id="target" queue-name="jdbc.queue" connection-factory="connectionFactory"/> <int-jdbc:inbound-channel-adapter channel="target" data-source="dataSource" query="select p.id as ppid,p.name as ppname from pp p,status s where p.id=s.ppid and s.status='new'" update="update status as st set st.status='old' where ppid in (:ppid)" > <!-- 每隔多少毫秒去抓取 --> <int:poller fixed-rate="5000" > <int:transactional/> </int:poller> <!-- 指定时刻抓取 <int:poller max-messages-per-poll="1"> <int:transactional/> <int:cron-trigger expression="0 0 3 * * ?"/> </int:poller> --> </int-jdbc:inbound-channel-adapter> <!-- <int-jms:message-driven-channel-adapter id="queInbound" destination-name="jmsQueue" channel="target"/> --> <int:service-activator input-channel="target" ref="jdbcMessageHandler"/> <context:property-placeholder location="classpath*:META-INF/spring/*.properties"/> <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource"> <property name="driverClassName" value="${database.driverClassName}"/> <property name="url" value="${database.url}"/> <property name="username" value="${database.username}"/> <property name="password" value="${database.password}"/> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <bean id="activeMqConnectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory"> <property name="brokerURL" value="vm://localhost" /> </bean> <bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <property name="sessionCacheSize" value="10" /> <property name="cacheProducers" value="false"/> <property name="targetConnectionFactory" ref="activeMqConnectionFactory"/> </bean> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory"/> <property name="defaultDestinationName" value="jmsQueue" /> </bean> </beans>
- jdbc-inbound.rar (1.5 MB)
- 下载次数: 119
- jdbc-inbound-jms.rar (1.5 MB)
- 下载次数: 91
发表评论
-
发现目前市面上唯一一本关于Spring 4的新书的下载地址
2014-10-29 08:56 4024magnet:?xt=urn:btih:76D615947 ... -
Spring Boot + Spring-loaded 热部署
2014-10-22 15:01 10022spring boot大大加快了目前使用sp ... -
Spring Tool Suite(STS)加速
2014-10-22 14:40 8583Java开发首选技术是Spring,使用Sp ... -
spring 学习3-Spring AOP
2013-09-21 21:42 2043Using @AspectJ-Style Annotati ... -
spring 学习2-Spring Configuration in detail
2013-09-21 20:53 38701.Bean Life-Cycle Management ... -
spring 学习1
2013-09-21 19:55 17751. Spring is lightweight= min ... -
Easy Integration Testing with Spring+Hibernate
2012-12-03 08:58 1492原文地址:http://architects.dzone.c ... -
Spring Shell 1.0 M1 发布
2012-07-19 08:58 2476亲爱的spring社区, 我很高兴的发布了S ... -
SpringSource Tool Suite 3.0.0.M1 发布
2012-05-04 15:37 2517亲爱的Spring社区, 我很高兴发布Spring ... -
SpringSource Tool Suite 2.8.0.M1 发布
2011-08-12 11:15 2125亲爱的spring社区, 我很高兴的发布下一个STS版本 ... -
SpringSource Tool Suite 2.7.0 发布
2011-07-07 12:00 2376亲爱的Spring社区, 我们很高兴的发布最新的2.7. ... -
SpringSource Tool Suite 2.7.0.M2 发布
2011-06-14 08:41 1793亲爱的Spring社区, 我很高兴发布SpringSourc ... -
SpringSource Tool Suite 2.5.2 发布
2011-01-12 10:26 3061亲爱的spring社区: 我 ... -
Spring Web Services 2.0.0.RC2 发布
2010-12-24 11:03 1683亲爱Spring 社区, 我们很高兴发布Spri ...
相关推荐
该项目是一款采用Java语言开发的国际象棋棋盘游戏,包含40个文件,其中包括15个Java源文件、13个PNG图像文件、4个中文文件、3个WAV音频文件、1个Git忽略文件、1个LICENSE许可文件和1个Markdown文件。
该项目是一款开源的志愿汇系统,采用Java核心技术实现,并融合了JavaScript, HTML, CSS等前端技术。系统源码包含3648个文件,其中SVG文件2164个,PNG文件640个,JavaScript文件333个,HTML文件140个,CSS文件136个,Java文件56个,SCSS文件42个,LESS文件26个,JPG文件17个,XML文件11个。此系统提供了一个简单的开源实现,便于用户学习和定制。
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
目前应用最广的梯控分析修改软件
和印尼植物相关的图像数据集 数据说明: 该数据集呈现在您面前的是部分印尼植物图像,包括五种类型的植物,这些植物使印度尼西亚的植物群多样化。 五个类别分别为:1.钛无花果2.爪哇花3.冷冻甘蓝(黑兰)5.拉夫莱西亚阿诺迪亚(巨型棕榈花) 该数据集共包含2158张相关的图像。
学生成绩管理系统 毕业设计 源码+数据库+论文(JAVA+SpringBoot+Vue.JS) 启动教程:https://www.bilibili.com/video/BV11ktveuE2d
汽车底盘运输线1_三维3D设计图纸.zip
液压弯管机_三维3D设计图纸.zip
该项目是一款基于Go语言的ruidingCheng框架设计源码,共计172个文件,其中包含137个Go源文件,以及若干个配置文件、文档和忽略文件。
该项目为黑龙江大学2022届毕业生学业论文“校园生活APP的设计与实现”的服务端源码,采用Kotlin作为主要开发语言,同时包含Java语言支持。项目文件共计77个,其中Kotlin文件36个,Java类文件14个,图片文件12个,Markdown文件2个,属性文件和SQL文件各2个,以及LICENSE、gitignore、JAR文件各1个。
EPLAN史上最全部件库,部件宏,EDZ格式,大小合适导入容易 部件包含图片宏,尺寸宏,有西门子全系列PLC,s7-1200 1500 300 400 200 三菱FX系列,数字模拟,特殊模块,三菱变频器,伺服,触摸屏,台达,施耐徳,正泰,欧姆龙,得力西,ABB等低压电器等等。 做电气元件布局很方便, 与实物1:1大小对应。 你想要的里面都有。 导入后一劳永逸。
全自动立式圆瓶贴标机_三维3D设计图纸.zip
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
内容概要:SEAL是一种新的层次化的模仿学习框架。它引入了一种利用预训练大型语言模型(LLMs)生成高层次计划并提供有意义的目标表示的方法,而不需要任务层级的先验知识。为了强化子目标表征,研究提出了一种双编码器架构,分别采用了带有监督机制的LLMs 子目标学习以及非监督的矢量量化(Vector Quantization)。另外,SEAL 还融合了过渡增强型低级别规划器来改进对长跨度任务中目标状态转换情况下的适应度,实验证明这种方法可以显著提升复杂任务下的性能表现。 适合人群:具有强化学习和层次化模仿学习基础的人群。 使用场景及目标:用于解决机器人操作任务,特别是在少量专家数据的情况下解决长时间序列、稀疏奖励的任务,同时保持较好的泛化能力和较强的鲁棒性。 使用限制与注意点:目前SEAL仅适用于完全可观测的状态,针对部分观测状态下效果还有待优化,存在一定的不稳定现象需要进一步提高。对于大规模真实场景中的应用还需考虑模型扩展性等问题。
圆管倒角机_三维3D设计图纸.zip
Surfing-Segment是一款基于ik-analyzer的高级文本分词工具,源码文件共计62个,其中Java源文件46个,词典文件8个,XML配置文件3个,其他还包括Git忽略文件、LICENSE、Markdown文件、属性文件和政策文件等。该工具显著提升了专业术语和复杂型号的分词准确性,并集成了自定义词典、动态识别型号、同义词功能以及Elasticsearch插件等特色功能,非常适合用于电商平台提升用户体验。
该项目为基于Python核心的Frappe框架设计源码,综合运用Python、JavaScript、HTML、CSS、Shell等多种编程语言,共计2005个文件,其中包含728个Python文件、467个JavaScript文件、221个JSON文件、174个HTML文件、98个Markdown文件、77个CSS文件、74个CSV文件、38个PNG图片文件、34个LESS文件、16个SVG文件。此项目结构清晰,适用于构建复杂的应用程序和系统。
那些年,与你同分同位次的同学都去了哪里?全国各大学在辽宁2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据