具有Spring Boot的Spring Integration Standalone应用程序

我之前在博客中写过一种编写独立的Spring Integration应用程序的方法。
Spring Boot使创建此独立应用程序变得更加简单。

简单的流程是轮询USGS服务,以提供有关世界各地地震活动的信息并记录该信息。 使用Spring Integration描述的流程如下:

<int:inbound-channel-adapter channel="quakeinfotrigger.channel" expression="''"><int:poller fixed-delay="60000"></int:poller></int:inbound-channel-adapter><int:channel id="quakeinfo.channel"><int:queue capacity="10"/></int:channel><int:channel id="quakeinfotrigger.channel"></int:channel> <int-http:outbound-gateway id="quakerHttpGateway"request-channel="quakeinfotrigger.channel"url="http://earthquake.usgs.gov/earthquakes/feed/geojson/all/hour"http-method="GET"expected-response-type="java.lang.String"charset="UTF-8"reply-timeout="5000"reply-channel="quakeinfo.channel">     </int-http:outbound-gateway><int:logging-channel-adapter id="messageLogger" log-full-message="true" channel="quakeinfo.channel" level="ERROR"><int:poller fixed-delay="5000" ></int:poller></int:logging-channel-adapter>

在预引导过程中,编写主程序以启动此流程的方式应遵循以下原则:

package standalone;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {public static void main(String[] args) {ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/httpgateway.xml");applicationContext.registerShutdownHook();}
}

但是,使用Spring-boot,恕我直言,配置更简单:

package standalone;import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;@Configuration
@ImportResource("classpath:httpgateway.xml")
public class Main {public static void main(String[] args) {SpringApplication.run(Main.class, args);}
}

并通过此更改以及spring-boot-maven-plugin插件,可以通过以下方式启动应用程序:

mvn spring-boot:run

我有一个非常小手在通过促进变化的插件来启动应用程序,而无需手动首先运行编译步骤解决这个启动脚本。

甚至更好的是,spring-boot-maven-plugin提供了将整个应用程序打包到可执行jar中的工具,该jar在打包阶段会被触发,如遮阳插件所示:

mvn package

可执行的jar运行如下:

java -jar target/si-standalone-sample-1.0-SNAPSHOT.jar
  • 可在此github位置获得具有此更改的更新项目– https://github.com/bijukunjummen/si-standalone-sample

参考: all和其他博客中来自JCG合作伙伴 Biju Kunjummen的带有Spring Boot的Spring Integration Standalone应用程序 。

翻译自: https://www.javacodegeeks.com/2014/02/spring-integration-standalone-application-with-spring-boot.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java设置jvm内存_浅谈设置JVM内存分配的几个妙招

一、设置JVM内存设置1. 设置JVM内存的参数有四个&#xff1a;-Xmx Java Heap***值&#xff0c;默认值为物理内存的1/4&#xff0c;***设值应该视物理内存大小及计算机内其他内存开销而定&#xff1b;-Xms Java Heap初始值&#xff0c;Server端JVM***将-Xms和-Xmx设为相同…

UITableViewCell出现动画

UITableViewCell出现动画 // 当cell 将要显示的时候调用 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{cell.transform CGAffineTransformMakeTranslation(self.view.width, 0);[UIView …

小程序如何传数组数据到vs后台中

首先小程序要跟vs运行的状态打通&#xff0c;首先要修改配置&#xff0c;也就是说调试的时候&#xff0c;小程序一使用Post请求后台的方法时就能让vs进入调试状态。 1.修改vs中的配置&#xff0c;注意这个.vs文件&#xff0c;如图&#xff1a; 找到这个文件 然后打开这个文件&a…

js实现QQ、微信、新浪微博分享功能

使用js实现QQ、微信、新浪微博分享功能。 微信分享需要手机扫描二维码&#xff0c;需要对url进行编码。在https协议下&#xff0c;扫描二维码时&#xff0c;浏览器打不开可能是没有安全证书导致的。 js代码&#xff1a; 1 var shareModel {2 3 /**4 * 分享…

使用Spring的Hibernate构建Java Web应用程序

这篇文章将展示如何在Spring环境中使用带有Hibernate ORM的MYSQL DB创建学生注册应用程序。 这是一个简单的应用程序&#xff0c;旨在在注册期间从用户收集输入详细信息&#xff0c;将详细信息保存在MYSQL DB中&#xff0c;并在登录期间对它们进行身份验证。 1.使用Maven模板创…

java单例模式理解_快速理解Java中的五种单例模式

解法一&#xff1a;只适合单线程环境(不好)packagetest;/***authorxiaoping**/public classSingleton {private static Singleton instancenull;privateSingleton(){}public staticSingleton getInstance(){if(instancenull){instancenewSingleton();}returninstance;}}注解:Si…

201771010102 常惠琢 《面向对象程序设计(java)》第十三周学习总结

实验十三 图形界面事件处理技术 实验时间 2018-11-22 1、实验目的与要求 (1) 掌握事件处理的基本原理&#xff0c;理解其用途&#xff1b; (2) 掌握AWT事件模型的工作机制&#xff1b; (3) 掌握事件处理的基本编程模型&#xff1b; (4) 了解GUI界面组件观感设置方法&#xff1…

vue中使用codemirror

https://blog.csdn.net/oumaharuki/article/details/79268498 别人的记载&#xff0c;写的很不错&#xff0c;还有下载的方法 以下是自己使用过的&#xff0c;做出来的例子&#xff1a; 做出来的效果图&#xff1a; 记住使用之前要npm下载哦 npm install vue-codemirror --s…

使用不可序列化的属性序列化Java对象

人们可能有多种原因想要使用自定义序列化而不是依赖Java的默认序列化。 最常见的原因之一是为了提高性能&#xff0c;但是编写自定义序列化的另一个原因是不支持默认序列化机制。 具体来说&#xff0c;如本博文所述&#xff0c;自定义序列化可用于允许将较大的对象序列化&#…

洛谷 P3455 [POI2007]ZAP-Queries (莫比乌斯反演)

题意: 给定a&#xff0c;b&#xff0c;d求gcd(x,y)d的对数(1<x<a,1<y<b) 思路&#xff1a;按照套路来先设f(n)为gcd(x,y)n的对数,g(n)表示为 n | gcd(x,y)的对数,则g(n)∑n|df(d)a/n*b/n f(n)∑n|dg(d)*mu(d/n),令td/n则f(n)∑t1g(t*n)*mu(t)&#xff0c;然后求f(d…

java thread isalive_Java线程编程中isAlive()和join()的使用详解

一个线程如何知道另一线程已经结束&#xff1f;Thread类提供了回答此问题的方法。有两种方法可以判定一个线程是否结束。第一&#xff0c;可以在线程中调用isAlive()。这种方法由Thread定义&#xff0c;它的通常形式如下&#xff1a;final boolean isAlive( )如果所调用线程仍在…

Gradle sync failed: Read timed out

23:52 Gradle sync started23:54 Gradle sync failed: Read timed outConsult IDE log for more details (Help | Show Log) (2 m 29 s 815 ms) 原因是Gradle下载超时 一.下载 https://gradle.org/releases/ 二.安装 $ mkdir /opt/gradle $ unzip -d /opt/gradle gradle-…

JQuery知识点

jQueqry01--------------------------------------------------------------------------------------------------1&#xff09;$(function(){ //相当于windows.onload,等待文档加载完毕后&#xff0c;再执行 } ) 2&#xff09;jquery中的时间添加&#xff0c;全部采用现代时…

使用Spring跟踪异常–第2部分–委托模式

在上一个博客中 &#xff0c;我开始谈论需要弄清楚您的应用程序在生产环境中是否行为异常。 我说过&#xff0c;监视应用程序的一种方法是检查其日志文件是否存在异常&#xff0c;如果发现异常&#xff0c;则采取适当的措施。 显然&#xff0c;日志文件会占用数百兆的磁盘空间&…

aix java home_java程序员工作日子一(java_home 配置)

安装 JDK 和设置 JAVA_HOME如果您尚未在系统中安装 Java Development Kit (JDK) 和/或尚未设置 JAVA_HOME&#xff0c;则在尝试安装 Java CAPS 之前&#xff0c;需要安装 JDK 并设置 JAVA_HOME。以下任务提供了在 UNIX 或 Windows 系统上安装 JDK 和设置 JAVA_HOME 所需的信息。…

MySQL 开启远程访问权限 | 宝塔系统

1.进入 MySQL 管理菜单 2.选择权限为所有人 转载于:https://www.cnblogs.com/Skrillex/p/10728681.html

基于vue实现百度离线地图

基于vue实现百度离线地图 1. 百度地图API文件获取 有网络 的情况下&#xff0c;需引入百度地图API文件。如下&#xff1a; <script type"text/javascript" src"http://api.map.baidu.com/api?v3.0&ak您的密钥"></script> 无网络 的情况下…

日期插件rolldate.js的使用

日期插件rolldate.js的使用 下载地址&#xff1a;http://www.jq22.com/jquery-info19834 效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" …

MapReduce算法–了解数据连接第二部分

自从我上一次发布以来已经有一段时间了&#xff0c;就像我上一次大休息一样&#xff0c;我正在Coursera上一些课程。 这次是Scala中的函数式编程 原理和反应式编程原理 。 我发现它们都是不错的课程&#xff0c;如果有时间的话&#xff0c;建议您选一门。 在本文中&#xff0c;…

C: City----逆向并查集

C: City 时间限制: 1 s 内存限制: 128 MB 题目描述 如果城市A和城市B互通&#xff0c;城市B和城市C互通&#xff0c;那么城市A和城市C也互通&#xff0c;A、B、C三个城市算一个聚集点。先已知有n个城市和m条道路&#xff0c;想求的是有几个聚集点&#xff1f;但小S觉…