问题标签 [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 回答
443 浏览

java - Generics usage in the gemfire tutorial

In this gemfire tutorial

I am not able to interpret this generic declaration:

What is the significance of the generics the way they have been used in this code snippet?

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 中,我可以看到类似的行

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

有什么解决办法吗?

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

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

0 投票
1 回答
754 浏览

java - 没有定义类型 [com.gemstone.gemfire.cache.GemFireCache] 的唯一 bean:预期单个 bean 但找到 2

我正在尝试配置 java gemfire 模板以在 spring 应用程序中查询数据。
要创建 spring 模板我需要创建客户端区域,要创建客户端区域我需要创建客户端缓存,要创建客户端缓存我需要创建池。
池参数之一是 server-goup。我需要 gemfire 模板来查询其中的几个。
我没有发现可以为多个服务器组配置池,因此我创建了两个池(具有不同的服务器组)两个客户端缓存两个客户端区域和两个模板并出现错误。

我错过了什么?如何修复错误或设法为多个服务器组设置客户端区域?

这是春天的背景:

谢谢。

0 投票
2 回答
828 浏览

java - gemfire自定义序列化没有帮助

我使用 gemfire 作为我的缓存。缓存堆大小远高于 100GB。我发现当我们从客户端将数据放入 gemfire 缓存中时,它会将数据序列化并发送到服务器,并且在服务器上数据以序列化的形式存储。问题:

  1. 当我尝试执行任何服务器上的函数调用时,它会开始反序列化数据,这确实非常耗时,有时仅遍历缓存中的对象就需要一个多小时。(对象数量接近 600 万)。
  2. 我尝试使用 gemfire 自定义序列化(DataSerializer 类)。所有数据都在缓存中后所需的内存量约为 60GB,如果我要使用 Java 默认序列化,则它是相同的。
  3. 我尝试使用一个名为 Kryo https://github.com/EsotericSoftware/kryo的库,这确实有很大帮助,但我仍然不明白为什么 gemfire 序列化对我没有帮助,因为我正在单独序列化类的每个属性所以编写类头和任何其他元数据不应该有任何负担。

任何帮助将非常感激。

0 投票
1 回答
340 浏览

java - Spring Data Gemfire 存储 java.lang.Class 字段

在我的代码中,我有一个通用的“值”POJO,它包含值本身和它的类:

我正在使用 Spring Data GemFire 和 Spring Data 的“存储库”功能(DAO 是从接口自动创建的)。当 Spring 为这个 bean 创建 DAO 时,我得到:

FactoryBean threw exception on object creation; nested exception is java.lang.SecurityException: Can not make a java.lang.Class constructor accessible

如何java.lang.Class使用 Spring Data 存储在 GemFire 中?

更新

0 投票
2 回答
367 浏览

benchmarking - 将 YCSB 与 Gemfire 一起使用时出错

您好,我正在使用 YCSB 对 Pivotal Gemfire 进行基准测试 我的 Gemfire 服务器运行正常,并且通过使用以下命令运行基准测试。

bin/ycsb 加载 gemfire -P 工作负载/workloada -p gemfire.serverhost=xxxx -P gemfire-binding/conf/cache.xml -p gemfire.serverport=40404 -s > load.txt

正在加载工作负载...开始测试。0 秒:0 次操作;线程“Thread-1”java.lang.IllegalStateException 中的异常:使用 ClientCacheFactory 时,必须在 cache.xml 中使用 client-cache。在 com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation.create(CacheCreation.java:316) 在 com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlParser.create(CacheXmlParser.java:274) 在 com.gemstone .gemfire.internal.cache.GemFireCacheImpl.loadCacheXml(GemFireCacheImpl.java:3495) 在 com.gemstone.gemfire.internal.cache.GemFireCacheImpl.initializeDeclarativeCache(GemFireCacheImpl.java:926) 在 com.gemstone.gemfire.internal.cache.GemFireCacheImpl .init(GemFireCacheImpl.java:708) 在 com.gemstone.gemfire.internal.cache.GemFireCacheImpl.create(GemFireCacheImpl.java:533) 在 com.gemstone.gemfire.cache.client。

请任何人告诉可以告诉我哪里出错了

提前致谢

0 投票
2 回答
3263 浏览

expression - 使用 Spring-Integration Gemfire 支持时出现 SpEL 错误

我正在使用 Spring-Integration 3.0 和 Spring-Integration Gemfire 支持。我希望我的入站通道适配器根据 SpEL 表达式将缓存中的对象作为有效负载提取。我编写了一个自定义表达式评估器类来检查输入适配器选择的有效负载的属性。类代码如下:

}

配置代码如下

但是,执行此代码后出现以下错误:

谁能帮我理解它有什么问题?

用#替换@后,我得到了这个错误:

0 投票
1 回答
106 浏览

java - 无论如何,我是否可以拥有 Gemfire 的备份对等方,它只能只读访问所有数据?

我们已经有一个缓存集群,它使用 Gemfire 锁定以同步方式进行冲突工作,但现在我们需要第三个缓存客户端/缓存对等方,它有数据但不应该参与 Gemfire 锁定,但拥有所有最新数据,这些数据将由用于在 UI 上显示数据的外部 UI 应用程序。新的 Gemfire Client/Peer 将驻留在 UI 应用程序中。