问题标签 [spring-data-gemfire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
988 浏览

xml - gemfire 本地区域创建

我的 cache.xml 如下:

我看到如下异常

schema_reference.4:未能读取架构文档“http://www.springframework.org/schema/gemfire/spring-gemfire-1.2.xsd”,因为 1) 找不到该文档;2) 文件无法读取;3) 文档的根元素不是 .

cvc-complex-type.2.4.c:匹配通配符是严格的,但找不到元素“gfe:cache”的声明。

我尝试更改为不同版本的 xsd,如下所示,但没有运气,我仍然看到问题。

http://www.springframework.org/schema/gemfire/spring-gemfire.xsd

http://www.springframework.org/schema/gemfire/spring-gemfire-1.1.xsd

http://www.springframework.org/schema/gemfire/spring-gemfire-1.2.xsd

经过以上所有尝试,当我更改为 1.1 版本时,我发现它现在引发了另一个问题

cvc-complex-type.2.4.c:匹配通配符是严格的,但找不到元素“gfe:local-region”的声明。

谁能帮我解决这个问题?

0 投票
1 回答
2019 浏览

java - Gemfire 配置问题

我有一个用于设置 gemfire 的 xml 配置文件,如下所示

当我尝试加载此配置文件时,我看到以下异常..

org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 原因:org.springframework.beans.factory.BeanCreationException:创建名为“region1”的bean时出错:无法解析对bean的引用gemfireCache' 同时设置 bean 属性'cache';嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'gemfireCache' is defined at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) at org.springframework.beans.factory .support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory。

org.springframework.beans.factory.NoSuchBeanDefinitionException:在 org.springframework.beans.factory.support 的 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529) 中没有定义名为“gemfireCache”的 bean。 AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: 193) 在 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) ... 41 更多

当我从中删除 id 属性时

然后给

它工作正常。当我指定 id 属性时,它会抛出 t 任何人都可以帮助我吗

0 投票
1 回答
1224 浏览

java - 值未填充到 gemfire 缓存中

我有 2 个 xml 配置文件,如下所示

应用上下文.xml:

测试缓存.xml

我有一个名为TestCache.java的测试类

但我没有看到实际上没有缓存到该区域中。对于retrieveSomeValues() 方法的两个方法调用,该方法实际上正在执行,而不是从缓存中检索值。

我能知道上面的测试课有什么问题吗?我可以知道如何使用 @Cacheable 来缓存able retriveSomeValues() 方法的值吗?

0 投票
1 回答
398 浏览

java - 将居住时间添加到我的缓存中

我们如何为 LocalRegion1 或上面定义的缓存添加生存时间?我想每 24 小时完全刷新一次缓存并从服务器获取新数据。我使用本地缓存,它从服务器获取一些数据并在本地存储。

0 投票
2 回答
4900 浏览

java - Spring Data Gemfire 配置未连接到定位器?

假设我的目标部署环境中已经运行了 Gemfire 定位器和缓存服务器进程。目标部署环境使用客户端-服务器拓扑

我有一个 Spring 3.1 MVC 应用程序,它想要使用 Gemfire 缓存。我正在使用 Spring Data Gemfire 1.2.2 和 Gemfire 6.6.1

所以我在我的spring.xml

假设外部 JAR 依赖项都已在 Maven 中正确定义。还假设我加载了一个属性文件,该文件定义了上面引用的属性值。该locators属性定义为使用已启动的 Gemfire 定位器的 IP 和端口。

我相信这应该足够好,这样我就可以在我的 MVC 应用程序中使用@Cacheable. 我希望这些配置在应用程序服务器中启动一个定位器以连接到 Gemfire 网格,添加myCacheRegion到 Gemfire 缓存服务器,然后cacheManager应该能够使用新的缓存区域。

我得到BeanCreationExceptions 这是由于 Spring 启动时无法连接到定位器引起的:

但是当我部署到目标环境时,无法创建 Gemfire bean,因为定位器进程无法连接。我错过了什么?

0 投票
1 回答
541 浏览

java - Gemfire 本地缓存过期

我有一个嵌入在具有本地 Gemfire 缓存的 web 服务中的 JAR。我要解决的问题是这些数据过期。

我创建了一个自定义过期计时器,它将以秒为单位设置每个条目的过期时间,并绑定了一个侦听器来检查 afterInvalidate(EntryEvent e)。

这是我春天的地区宣言

我正在尝试做的与我的设置方式有点不同。我想要做的是,一旦将初始条目放入我想要在该区域生存的区域。是否可以在当地的 gemfire 地区进行 Time to Live?

0 投票
1 回答
1359 浏览

java - Gemfire 中的多个缓存创建

我正在尝试在一个 JVM 中创建一个本地缓存和一个客户端缓存,但是我收到下面所述的错误,我认为这是由于缓存是单例的,您只能为每个 JVM 创建一个。

有人知道一个好的解决方法吗?

错误:

缓存.xml:

0 投票
1 回答
557 浏览

java - Spring-data-gemfire 布尔查询仅适用于 PDX 序列化?

我在 pojo 中有一个简单的布尔字段,我存储在gemfire区域中。pojo 还包括具有不同数据类型的其他字段(例如String, Long, Short,Date等)。我为每个字段编写了一个区域查询,除了布尔字段之外,它们都返回得很好。我的实体的示例存根:

这是存储库存根:

我已经尝试了所有可能的变体(使用手动查询和查询生成),但查询未配置 PDX 的布尔字段总是会导致此异常:

java.lang.IllegalArgumentException:不支持的运算符 TRUE!在 org.springframework.data.gemfire.repository.query.Predicates$AtomicPredicate.getOperator(Predicates.java:174) 在 org.springframework.data.gemfire.repository.query.Predicates$AtomicPredicate.toClause(Predicates.java:137)在 org.springframework.data.gemfire.repository.query.Predicates$AtomicPredicate.toString(Predicates.java:126) 在 org.springframework.data.gemfire.repository.query.Predicates.toString(Predicates.java:90) 在 org .springframework.data.gemfire.repository.query.QueryBuilder.create(QueryBuilder.java:44)

如果我启用 PDX,则布尔字段的查询工作正常。如果未启用 PDX(例如使用引导式 gemfire 服务器进行单元测试),则布尔查询不起作用。

有没有人遇到过这样的事情?我正在使用gemfire 7.0.1spring-data-gemfire 1.3.3。我认为这可能是 spring-data-gemfire 中的一个错误,但想把它放在那里只是为了确定。

0 投票
3 回答
1601 浏览

java - 使用 Spring Data Gemfire 时的 @Region 注释

我正在使用 Spring Data 和 Gemfire 开发数据服务。有注释

指定 POJO 将存储在哪个 Gemfire 区域。

它需要配置的 Gemfire 区域的名称。我觉得硬编码区域名称是一种不好的做法,因为 Gemfire 集群将由一个单独的团队管理,我相信区域名称应该是完全可配置的。

有没有更好的做法来避免对区域名称进行硬编码?

0 投票
0 回答
316 浏览

replication - 将新服务器添加到托管复制区域的 Gemfire 集群

我有一个托管复制区域的 1 台服务器的 Gemfire 集群。我正在使用客户端-服务器架构。

该区域已预加载数据。

然后我将一个新服务器添加到集群中。我可以在 Pulse 和 gfsh 中看到它。一些新客户端连接到新服务器,但它们接收到空数据。 数据不会从第一台服务器复制到新启动的服务器。

在第二台服务器的 cacheserver.log 中,我可以看到类似的行

我想这是来自第一台服务器的数据复制,但第二台服务器上似乎没有数据。

有什么解决办法吗?

更新:我注意到它与索引有关。我有一个索引定义为

如果删除索引,一切正常。但是,如果启用了索引,则索引似乎不会被复制,而缓存服务器仍会尝试使用它。因此 - 来自新启动的服务器的空数据。