Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程一

简介: Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程一
  1. 文档结构

以下章节解释了 Spring Data 为 Apache Geode 提供的核心功能:

Bootstrapping Apache Geode with the Spring Container描述了为配置、初始化和访问 Apache Geode 缓存、区域和相关分布式系统组件提供的配置支持。
使用 Apache Geode API解释了 Apache Geode API 与 Spring 中可用的各种数据访问功能之间的集成,例如基于模板的数据访问、异常转换、事务管理和缓存。
使用 Apache Geode 序列化描述了对 Apache Geode 的托管对象序列化和反序列化的增强。
POJO 映射描述了使用 Spring Data 存储在 Apache Geode 中的 POJO 的持久性映射。
Spring Data for Apache Geode Repositories描述了如何通过使用基本的 CRUD 和简单的查询操作来创建和使用 Spring Data Repositories 来访问存储在 Apache Geode 中的数据。
函数执行的注释支持描述了如何通过使用注释来执行数据所在的分布式计算来创建和使用 Apache Geode 函数。
连续查询 (CQ)描述了如何使用 Apache Geode 的连续查询 (CQ) 功能来处理基于兴趣的事件流,该兴趣使用 Apache Geode 的 OQL(对象查询语言)定义和注册。
在 Apache Geode中引导 Spring ApplicationContext描述了如何ApplicationContext 使用Gfsh.
示例应用程序描述了随发行版提供的示例,以说明 Spring Data for Apache Geode 中可用的各种功能。

  1. 使用 Spring 容器引导 Apache Geode

Spring Data for Apache Geode 使用 Spring IoC 容器提供了 Apache Geode In-Memory Data Grid (IMDG) 的完整配置和初始化。该框架包括几个类来帮助简化 Apache Geode 组件的配置,包括:缓存、区域、索引、磁盘存储、函数、WAN 网关、持久性备份和其他几个分布式系统组件,以最少的工作支持各种应用程序用例.

本节假设您基本熟悉 Apache Geode。有关更多信息,请参阅 Apache Geode 产品文档。

5.1.使用 Spring 而不是 Apache Geode 的优势cache.xml
Spring Data for Apache Geode 的 XML 命名空间支持 Apache Geode In-Memory Data Grid (IMDG) 的完整配置。XML 命名空间是在 Spring 上下文中配置 Apache Geode 以在 Spring 容器内正确管理 Apache Geode 生命周期的两种方法之一。在 Spring 上下文中配置 Apache Geode 的另一种方法是使用基于注解的配置。

虽然cache.xml由于遗留原因仍然支持 Apache Geode 的本机,但鼓励使用 XML 配置的 Apache Geode 应用程序开发人员在 Spring XML 中做所有事情,以利用 Spring 提供的许多美妙的东西,例如模块化 XML 配置、属性占位符和覆盖、SpEL(Spring 表达式语言)和环境配置文件。在 XML 命名空间的背后,Spring Data for Apache Geode 广泛使用 Spring 的FactoryBean模式来简化 Apache Geode 组件的创建、配置和初始化。

阿帕奇的Geode提供了几个回调接口,如CacheListener,CacheLoader和CacheWriter,这让开发人员添加自定义事件处理程序。使用 Spring 的 IoC 容器,您可以将这些回调配置为普通的 Spring bean,并将它们注入到 Apache Geode 组件中。这是对 native 的重大改进cache.xml,它提供了相对有限的配置选项,并且需要回调来实现 Apache Geode 的Declarable接口(请参阅Wiring DeclarableComponents以了解如何仍然可以Declarables 在 Spring 的容器中使用)。

此外,诸如 Spring Tool Suite (STS) 之类的 IDE 为 Spring XML 命名空间提供了出色的支持,包括代码完成、弹出注释和实时验证。

5.2.使用核心命名空间
为了简化配置,Spring Data for Apache Geode 提供了一个专用的 XML 命名空间来配置核心 Apache Geode 组件。可以使用 Spring 的标准定义直接配置 bean 。但是,所有 bean 属性都通过 XML 名称空间公开,因此使用原始 bean 定义几乎没有好处。

有关 Spring 中基于 XML Schema 的配置的更多信息,请参阅Spring Framework 参考文档中的 附录。

Spring Data Repository 支持使用单独的 XML 命名空间。有关如何为 Apache Geode Repositories 配置 Spring Data 的更多信息,请参阅Spring Data for Apache Geode Repositories。

要使用 Spring Data for Apache Geode XML 命名空间,请在 Spring XML 配置元数据中声明它,如以下示例所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:gfe="https://www.springframework.org/schema/geode" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
https://www.springframework.org/schema/geode https://www.springframework.org/schema/geode/spring-geode.xsd 

">

<gfe:cache ...>


pring Data for Apache Geode XML 命名空间前缀。任何名称都可以使用,但在本参考文档gfe中使用了所有名称。

XML 命名空间前缀映射到 URI。

XML 命名空间 URI 位置。请注意,即使该位置指向外部地址(确实存在且有效),Spring 也会在本地解析模式,因为它包含在 Spring Data for Apache Geode 库中。

使用带有gfe前缀的 XML 命名空间的示例声明。

您可以将默认命名空间从 更改beans为gfe。这对于主要由 Apache Geode 组件组成的 XML 配置很有用,因为它避免了声明前缀。为此,请交换前面显示的命名空间前缀声明,如以下示例所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://www.springframework.org/schema/geode"

   xmlns:beans="http://www.springframework.org/schema/beans" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
https://www.springframework.org/schema/geode https://www.springframework.org/schema/geode/spring-geode.xsd

">

<beans:bean id ... >


此 XML 文档的默认命名空间声明指向 Spring Data for Apache Geode XML 命名空间。

beansSpring 原始 bean 定义的命名空间前缀声明。

使用beans命名空间的Bean 声明。注意前缀。

使用gfe命名空间的Bean 声明。请注意缺少前缀,因为gfe它是默认命名空间。

Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程一
5.3.使用数据访问命名空间
除了核心 XML 命名空间 ( gfe) 之外,Spring Data for Apache Geode 还提供了数据访问 XML 命名空间 ( gfe-data),主要用于简化 Apache Geode 客户端应用程序的开发。此命名空间当前包含对 Apache Geode Repositories和 Function execution 的支持,以及提供连接到 Apache Geode 集群的便捷方式的标签。

5.3.1.连接到 Apache Geode 的简单方法
对于许多应用程序,使用默认值与 Apache Geode 数据网格的基本连接就足够了。Spring Data for Apache Geode 的标签提供了一种访问数据的简单方法。数据源创建一个ClientCache 和连接Pool。此外,它会查询所有现有根区域的集群服务器,并为每个区域创建一个(空)客户端区域代理。

<gfe-data:datasource>

</gfe-data:datasource>
该标签在语法上类似于<gfe:pool>。它可以配置一个或多个嵌套locator 或server元素以连接到现有数据网格。此外,支持可用于配置池的所有属性。此配置为连接到 Locator 的集群成员上定义的每个 Region 自动创建客户端 Region bean,因此它们可以被 Spring Data 映射注释 ( GemfireTemplate)无缝引用并自动装配到应用程序类中。

当然,您可以显式配置客户端区域。例如,如果要将数据缓存在本地内存中,如下例所示:

<gfe-data:datasource>

</gfe-data:datasource>

<gfe:client-region id="Example" shortcut="CACHING_PROXY"/>

相关文章
|
10月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
8460 125
|
10月前
|
NoSQL Java 数据库连接
《深入理解Spring》Spring Data——数据访问的统一抽象与极致简化
Spring Data通过Repository抽象和方法名派生查询,简化数据访问层开发,告别冗余CRUD代码。支持JPA、MongoDB、Redis等多种存储,统一编程模型,提升开发效率与架构灵活性,是Java开发者必备利器。(238字)
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——封装统一返回的数据结构
本文介绍了在Spring Boot中封装统一返回的数据结构的方法。通过定义一个泛型类`JsonResult&lt;T&gt;`,包含数据、状态码和提示信息三个属性,满足不同场景下的JSON返回需求。例如,无数据返回时可设置默认状态码&quot;0&quot;和消息&quot;操作成功!&quot;,有数据返回时也可自定义状态码和消息。同时,文章展示了如何在Controller中使用该结构,通过具体示例(如用户信息、列表和Map)说明其灵活性与便捷性。最后总结了Spring Boot中JSON数据返回的配置与实际项目中的应用技巧。
1087 0
|
JSON Java fastjson
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——使用 fastJson 处理 null
本文介绍如何使用 fastJson 处理 null 值。与 Jackson 不同,fastJson 需要通过继承 `WebMvcConfigurationSupport` 类并覆盖 `configureMessageConverters` 方法来配置 null 值的处理方式。例如,可将 String 类型的 null 转为 &quot;&quot;,Number 类型的 null 转为 0,避免循环引用等。代码示例展示了具体实现步骤,包括引入相关依赖、设置序列化特性及解决中文乱码问题。
798 0
|
JSON Java fastjson
微服务——SpringBoot使用归纳——Spring Boot返回Json数据及数据封装——Spring Boot 默认对Json的处理
本文介绍了在Spring Boot中返回Json数据的方法及数据封装技巧。通过使用`@RestController`注解,可以轻松实现接口返回Json格式的数据,默认使用的Json解析框架是Jackson。文章详细讲解了如何处理不同数据类型(如类对象、List、Map)的Json转换,并提供了自定义配置以应对null值问题。此外,还对比了Jackson与阿里巴巴FastJson的特点,以及如何在项目中引入和配置FastJson,解决null值转换和中文乱码等问题。
1878 0
|
人工智能 安全 Dubbo
Spring AI 智能体通过 MCP 集成本地文件数据
MCP 作为一款开放协议,直接规范了应用程序如何向 LLM 提供上下文。MCP 就像是面向 AI 应用程序的 USB-C 端口,正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一个将 AI 模型连接到不同数据源和工具的标准化方法。
10441 123
|
JSON Java 数据格式
Spring Boot返回Json数据及数据封装
在Spring Boot中,接口间及前后端的数据传输通常使用JSON格式。通过@RestController注解,可轻松实现Controller返回JSON数据。该注解是Spring Boot新增的组合注解,结合了@Controller和@ResponseBody的功能,默认将返回值转换为JSON格式。Spring Boot底层默认采用Jackson作为JSON解析框架,并通过spring-boot-starter-json依赖集成了相关库,包括jackson-databind、jackson-datatype-jdk8等常用模块,简化了开发者对依赖的手动管理。
914 3
|
存储 人工智能 数据处理
Apache Doris 2025 Roadmap:构建 GenAI 时代实时高效统一的数据底座
秉承“以场景驱动创新” 的核心理念,持续深耕三大核心场景的关键能力,并对大模型 GenAI 场景的融合应用进行重点投入,为智能时代构建实时、高效、统一的数据底座。
803 10
Apache Doris 2025 Roadmap:构建 GenAI 时代实时高效统一的数据底座
|
存储 运维 监控
从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地
日志数据已成为企业洞察系统状态、监控网络安全及分析业务动态的宝贵资源。网易云音乐引入 Apache Doris 作为日志库新方案,替换了 ClickHouse。解决了 ClickHouse 运维复杂、不支持倒排索引的问题。目前已经稳定运行 3 个季度,规模达到 50 台服务器, 倒排索引将全文检索性能提升7倍,2PB 数据,每天新增日志量超过万亿条,峰值写入吞吐 6GB/s 。
1263 5
从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地
|
存储 SQL 数据挖掘
数据无界、湖仓无界, Apache Doris 湖仓一体解决方案全面解读(上篇)
湖仓一体架构融合了数据湖的低成本、高扩展性,以及数据仓库的高性能、强数据治理能力,高效应对大数据时代的挑战。为助力企业实现湖仓一体的建设,Apache Doris 提出了数据无界和湖仓无界核心理念,并结合自身特性,助力企业加速从 0 到 1 构建湖仓体系,降低转型过程中的风险和成本。本文将对湖仓一体演进及 Apache Doris 湖仓一体方案进行介绍。
1586 1
数据无界、湖仓无界, Apache Doris 湖仓一体解决方案全面解读(上篇)

推荐镜像

更多