<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>深蓝的blog &#187; Spring</title>
	<atom:link href="http://www.lanxinbase.com/?feed=rss2&#038;tag=spring" rel="self" type="application/rss+xml" />
	<link>http://www.lanxinbase.com</link>
	<description>记录日常生活</description>
	<lastBuildDate>Sat, 18 Apr 2026 07:10:07 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.3</generator>
	<item>
		<title>Spring 官宣正式弃用 RestTemplate</title>
		<link>http://www.lanxinbase.com/?p=2984</link>
		<comments>http://www.lanxinbase.com/?p=2984#comments</comments>
		<pubDate>Tue, 14 Oct 2025 00:31:19 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[RestTemplate]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[WebClient]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2984</guid>
		<description><![CDATA[近日，Spring 团队正式宣布：RestTemplate 将在 Spring Framework 7.0 中 [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2984</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring事务管理中@Transactional的propagation参数</title>
		<link>http://www.lanxinbase.com/?p=2542</link>
		<comments>http://www.lanxinbase.com/?p=2542#comments</comments>
		<pubDate>Fri, 05 Jun 2020 02:03:47 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[@Transactional]]></category>
		<category><![CDATA[propagation]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2542</guid>
		<description><![CDATA[所谓事务传播性，就是被调用者的事务与调用者的事务之间的关系。举例说明。 //in A.java Class A [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2542</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring集成Apache Kafka</title>
		<link>http://www.lanxinbase.com/?p=2322</link>
		<comments>http://www.lanxinbase.com/?p=2322#comments</comments>
		<pubDate>Sat, 04 May 2019 09:14:28 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[Apache Kafka]]></category>
		<category><![CDATA[MQ]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[消息队列]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2322</guid>
		<description><![CDATA[之前写了一篇文章，当然，来自Apache Kafka的翻译文档，让大家更能理解Kafka，地址是： http: [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2322</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache ActiveMQ Artemis实战</title>
		<link>http://www.lanxinbase.com/?p=2308</link>
		<comments>http://www.lanxinbase.com/?p=2308#comments</comments>
		<pubDate>Fri, 03 May 2019 08:43:17 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[Apache ActiveMQ]]></category>
		<category><![CDATA[Artemis]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2308</guid>
		<description><![CDATA[虽然它们（ActiveMQ &#038; Artemis）的设计目的是做同样的工作，但内部的工作方式却不同。以下是您在规划迁移时需要注意的一些最显着的体系结构差异。

在ActiveMQ中，我们有一些IO连接层的不同实现，如TCP（阻塞的）和NIO（非阻塞的）。在Artemis中，IO层是使用Netty实现的，Netty是一个NIO框架。这意味着不再需要在不同的实现之间进行选择，因为默认情况下使用非阻塞实现。

每个broker都是一个重要消息存储。大多数ActiveMQ用户都应该熟悉KahaDB。它由一个消息日志组成，用于快速存储消息（和其他命令包）日志，以及在需要时用于检索取回消息。

Artemis有自己的消息存储。它只包含仅追加的消息日志。由于分页方式的不同，不需要使用消息索引。我们一会儿再谈。在这一点上，很重要的一点是，这两个存储是不能互换的，如果需要的话，必须仔细规划数据迁移。

我们所说的分页差异是什么意思？分页是当broker无法在其内存中保存所有传入消息时发生的过程。如何处理这种情况的策略在两个broker之间是不同的。ActiveMQ有一些游标，这些游标基本上是准备发送给使用者的消息的缓存。它将尝试将所有传入的消息保存在缓存。当可用内存用完时，消息会添加到存储中，但缓存会停止。当空间再次可用时，broker将通过批量从存储中提取消息来再次填充缓存。因此，我们需要在broker运行时，经常地读取日志。为了做到这一点，我们需要维护日志索引，以便在日志中跟踪消息的位置。

在Artemis中，在这方面的工作是不同的。整个消息日志保存在内存中，并直接从中发送消息。当内存耗尽时，消息会在生产者端进行分页（在消息到达broker之前）。它们按到达时的顺序存储在连续的页面文件中。一旦释放内存，消息就会从这些页面文件移到日志中。对于这样的分页工作，只有在broker启动时才从文件日志读取消息，以便在内存中重新创建日志的这个版本。在这种情况下，日志只能按顺序读取，这意味着不需要在日志中保留消息索引。]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2308</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring集成Apache ActiveMQ配置实现</title>
		<link>http://www.lanxinbase.com/?p=2305</link>
		<comments>http://www.lanxinbase.com/?p=2305#comments</comments>
		<pubDate>Fri, 03 May 2019 06:34:26 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[ActiveMQ]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=2305</guid>
		<description><![CDATA[Apache ActiveMQ是目前比较流行的开源、多协议、基于Java的消息服务器之一。它支持行业标准协议， [&#8230;]]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=2305</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring对mongoDB分布式数据库整合</title>
		<link>http://www.lanxinbase.com/?p=1894</link>
		<comments>http://www.lanxinbase.com/?p=1894#comments</comments>
		<pubDate>Wed, 20 Jun 2018 02:05:41 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[2.运维相关]]></category>
		<category><![CDATA[3.数据库相关]]></category>
		<category><![CDATA[mongo]]></category>
		<category><![CDATA[mongoDB]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Spring boot]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1894</guid>
		<description><![CDATA[MongoDB是一个介于关系数据库和非关系数据库之间的产品，是非关系数据库当中功能最丰富，最像关系数据库的。它支持的数据结构非常松散，是类似的格式，因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大，其语法有点类似于面向对象的查询语言，几乎可以实现类似关系数据库单表查询的绝大部分功能，而且还支持对数据建立索引。


它的特点是高性能、易部署、易使用，存储数据非常方便。主要功能特性有：

面向集合存储，易存储对象类型的数据。
模式自由。
支持动态查询。
支持完全索引，包含内部对象。
支持查询。
支持复制和故障恢复。
使用高效的二进制数据存储，包括大型对象（如视频等）。
自动处理碎片，以支持云计算层次的扩展性。
支持RUBY，PYTHON，JAVA，C++，PHP，C#等多种语言。
文件存储格式为BSON（一种JSON的扩展）。
可通过网络访问。
       所谓“面向集合”（Collection-Oriented），意思是数据被分组存储在数据集中，被称为一个集合（Collection)。每个集合在数据库中都有一个唯一的标识名，并且可以包含无限数目的文档。集合的概念类似关系型数据库（RDBMS）里的表（table），不同的是它不需要定义任何模式（schema)。Nytro MegaRAID技术中的闪存高速缓存算法，能够快速识别数据库内大数据集中的热数据，提供一致的性能改进。


       模式自由（schema-free)，意味着对于存储在mongodb数据库中的文件，我们不需要知道它的任何结构定义。如果需要的话，你完全可以把不同结构的文件存储在同一个数据库里。


      存储在集合中的文档，被存储为键-值对的形式。键用于唯一标识一个文档，为字符串类型，而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON（Binary Serialized Document Format）。 ]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1894</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring+MyBatis实现数据库读写分离4种方案</title>
		<link>http://www.lanxinbase.com/?p=1825</link>
		<comments>http://www.lanxinbase.com/?p=1825#comments</comments>
		<pubDate>Tue, 10 Apr 2018 09:12:33 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[myBatis]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[读写分离]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1825</guid>
		<description><![CDATA[通过MyBatis配置文件创建读写分离两个DataSource，每个SqlSessionFactoryBean对象的mapperLocations属性制定两个读写数据源的配置文件。将所有读的操作配置在读文件中，所有写的操作配置在写文件中。

优点：实现简单
缺点：维护麻烦，需要对原有的xml文件进行重新修改，不支持多读，不易扩展
实现方式]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1825</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring框架简介</title>
		<link>http://www.lanxinbase.com/?p=1779</link>
		<comments>http://www.lanxinbase.com/?p=1779#comments</comments>
		<pubDate>Mon, 23 Oct 2017 03:11:23 +0000</pubDate>
		<dc:creator><![CDATA[Alan]]></dc:creator>
				<category><![CDATA[1.服务端语言]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://www.lanxinbase.com/?p=1779</guid>
		<description><![CDATA[1. Spring框架的作用

轻量：Spring是轻量级的，基本的版本大小为2MB
控制反转：Spring通过控制反转实现了松散耦合，对象们给出它们的依赖，而不是创建或查找依赖的对象们。
面向切面的编程AOP:Spring支持面向切面的编程，并且把应用业务逻辑和系统服务分开。
容器：Spring包含并管理应用中对象的生命周期和配置
MVC框架： Spring-MVC
事务管理：Spring提供一个持续的事务管理接口，可以扩展到上至本地事务下至全局事务JTA
异常处理：Spring提供方便的API把具体技术相关的异常]]></description>
		<wfw:commentRss>http://www.lanxinbase.com/?feed=rss2&#038;p=1779</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
