12.2. 框架集成
此 Data Grid 发行版本改进了与已知的企业 Java 框架(如 Spring 和 Hibernate)的集成。
12.2.1. Spring 增强 复制链接链接已复制到粘贴板!
此发行版本为 Data Grid 与 Spring Framework 集成增加了几个改进:
此 Data Grid 发行版本支持 Spring Framework 和 Spring Boot 的特定版本。请参阅 https://access.redhat.com/articles/2435931 支持的配置。
12.2.1.1. 同步获取操作 复制链接链接已复制到粘贴板!
Data Grid 实施 SPR-9254,以便 get () 方法使用多线程机制返回键值。
如需更多信息,请参阅 org.springframework.cache 界面中 获取 的描述。
12.2.1.2. 异步操作和超时配置 复制链接链接已复制到粘贴板!
现在,您可以在使用 Data Grid 作为 Spring 缓存供应商时,设置等待读取和写入操作的最大时间。超时允许方法调用异步发生。
使用以下 put () 方法示例来考虑超时前和后的不同:
写超时前
public void put(Object key, Object value, long lifespan, TimeUnit unit) {
this.cacheImplementation.put(key, value != null ? value : NullValue.NULL, lifespan, unit);
}
public void put(Object key, Object value, long lifespan, TimeUnit unit) {
this.cacheImplementation.put(key, value != null ? value : NullValue.NULL, lifespan, unit);
}
写超时后
如果您为写入操作配置超时,则调用 putAsync,这是一个"fire-and-forget"调用,不会阻止其他写操作。
如果您没有配置超时,则会调用同步 放置,这会阻止其他写入。
使用 infinispan.spring.operation.read.timeout 和 infinispan.spring.operation.write.timeout 设置超时配置。阅读文档中的 配置超时以了解如何。
12.2.1.3. Spring 应用程序的集中式配置属性 复制链接链接已复制到粘贴板!
如果您在远程客户端模式中将 Data Grid 用作 Spring Cache Provider,您可以在 classpath 的 hotrod-client.properties 中设置配置属性。然后,您的应用程序可以使用该配置创建 RemoteCacheManager。
有关可用配置属性的信息,请参阅 org.infinispan.client.hotrod.configuration 软件包描述。
12.2.1.4. 检索缓存名称的功能 复制链接链接已复制到粘贴板!
RemoteCacheManager 类现在包含一个 getCacheNames () 方法,它将缓存名称返回为字符串的 JSON 数组,如 ["cache1", "cache2"]。这个方法包含在 org.springframework.cache.CacheManager 实现中,以便在将 Data Grid 用作 Sping 缓存提供程序时查找定义的缓存名称。
如需更多信息,请参阅 RemoteCacheManager 的 Java 文档。
12.2.1.5. Spring Boot Starter 复制链接链接已复制到粘贴板!
Data Grid 包括一个 Spring Boot 启动程序,可帮助您快速启动并运行。请参阅 Data Grid Spring Boot Starter。
12.2.2. Hibernate Second-level (L2)缓存 复制链接链接已复制到粘贴板!
Data Grid 与 Hibernate 作为(L2)缓存供应商无缝集成,以提高应用程序的持久层的性能。
Hibernate 为 Java 提供 Object/Relational Mapping (ORM)功能,它是完全兼容的 JPA (Java Persistence API)持久性提供程序。Hibernate 使用第一级(L1)缓存,其中缓存中的对象绑定到会话。作为 L2 缓存提供程序,Data Grid 充当所有会话中对象的全局缓存。
您可以将 Data Grid 配置为 L2 缓存:
- JPA: persistence.xml
- spring: application.properties
有关启用 L2 缓存以及不同部署场景的信息,请参阅文档中的 JPA/Hibernate L2 Cache。
12.2.3. 以嵌入式模式与红帽 SSO 集成 复制链接链接已复制到粘贴板!
此发行版本支持使用 Red Hat SSO 来保护 库(embedded) 模式中对 Data Grid 的访问。
如需更多信息,请参阅 secure-embedded-cache Quickstart,并部署并运行演示了与红帽 SSO 集成的示例应用程序。