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

gemfire - 我们如何在 Gemfire 中实现顺序唯一键以写入数据库?

我们正在尝试使用 Spring-data-Gemfire 和 Oracle 支持的数据库来实现 Gemfire 缓存。

但是,我无法使用 Oracle 排序器从 Gemfire 更新数据库。请参阅:如何从 Gemfire 获得独特的长音?

我找到了一个密钥生成器的示例@:https ://github.com/Pivotal-Field-Engineering/gemfire-fe/tree/master/gemfire-utils/gemfire-keyfw但我不确定如何为长身份证。

有什么方法可以做到这一点或我可以参考单元测试吗?或者,还有其他方法可以实现吗?

任何帮助将不胜感激,谢谢。

0 投票
1 回答
41 浏览

transactions - 获取查询仅适用于同一事务中的 Id 列

考虑一个类 Person,它有 3 个属性 { id ,name ,age } id 形成为 name||age。获取查询仅按 Id 工作(在创建记录的同一事务中)

从另一个事务调用 repository.findByNameAndAge("abc", "23")返回结果,但在创建该记录的同一事务中,它不返回任何结果。

这里的存储库是

这些区域是 REPLICATE_PERSISTENT 并且我正在使用 PDX 序列化即使在同一个事务中调用也应该有效,这是任何已知问题吗?

0 投票
1 回答
382 浏览

gemfire - OQL 关键 gemfire 中的 IN 与 OR

在处理集群中不同节点上跨多个表(就 gemfire 而言的区域)的内容时,哪个运算符提供更快的结果。

假设,现在我的搜索 OQL 查询如下所示:

考虑“shared_with”是列表。

参考:

SQL WHERE 子句中的 IN 与 OR

Oracle Many OR vs IN () 的 SQL 性能调整 [重复]

0 投票
1 回答
202 浏览

gemfire - Gemfire 查询接口 - gfsh/pulse 的替代方案

是否有任何厚客户端替代 Pulse / Gfsh 来查询 Gemfire 的区域?虽然脉冲很好,但它不能用作用于测试/查询的 sqldeveloper/toad。

0 投票
1 回答
363 浏览

gemfire - Gemfire 按功能分组

在 Gemfire OQL 中是否有使用 Group by、聚合函数的选项?找不到任何相关文档。只有相关的谷歌结果指向旧版本的 gemfire - 不确定这方面是否有变化?

我们正在考虑避免迭代并让 Gemfire 完成繁重的工作。

http://forum.spring.io/forum/spring-projects/data/gemfire/108266-no-group-by-having-order-by-key-words-in-gemfire-oql

0 投票
3 回答
3475 浏览

spring-data - Spring Gemfire xml 的 Java 配置

我已经将我的 Gemfire 的“client-cache.xml”定义如下:

我想为它创建一个相应的 Java 配置。

我试过以下配置:

但是,我一直遇到异常说:

不能将上述 XML 转换为基于 Java 的配置吗?

任何帮助,将不胜感激。谢谢。

===============根据约翰的评论在下面编辑==============

@约翰,

为 gemfire 客户端尝试了 @sample 测试用例中提到的示例,并且该示例运行良好。我正在使用定位器,该示例在定位器配置中运行良好,如 gemfirePool.setLocators(Collections.singletonList(new InetSocketAddress(host, port))). 但是,根据 Pivotal 支持的建议,我正在使用 spring-data-gemfire 版本 1.8.2.RELEASE。所以我

  • 将 spring-data-gemfire 版本升级到 1.8.2.RELEASE @ pom.xml
  • 修复了编译错误
    (评论gemfireCache.setLazyInitialize(true)),
  • 并更改gemfirePool.setLocators(Collections.singletonList(new InetSocketAddress(locatorHost, locatorPort)))gemfirePool.addLocators(Collections.singletonList(new ConnectionEndpoint(locatorHost, locatorPort))),

测试用例被折腾了。

测试用例开始给我以下异常:

所以,看起来,这是 spring-data-gemfire 1.8.2.RELEASE 的问题。我不确定我是否应该简单地恢复到 1.6.2.RELEASE 以及恢复到以前的版本会失去什么。

我创建了另一个示例 Spring Boot 应用程序:

  • pom.xml

    http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.cdk.test TestGemfireLocators 0.0.1-SNAPSHOT

  • 应用程序.java

    @SpringBootApplication 公共类应用程序 {

    }

上面的代码也不起作用并返回相同的异常。我用包含在io.spring.platform(1.7.4.RELEASE)中的默认版本的“spring-data-gemfire”尝试了上面的代码,结果仍然相同。

-------------POST John 的评论和参考程序-------

非常感谢约翰。您提供的示例对我有所帮助,但是,我必须对代码进行一些更改。下面是我的最终项目的样子(如果你注意到,我正在注入GemfireCache而不是注入ClientCache):

  • pom.xml

    http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.cdk.test TestGemfireLocators 0.0.1-SNAPSHOT

  • 应用程序.java

    @SpringBootApplication 公共类应用程序 {

    }

0 投票
1 回答
838 浏览

spring - 如何使用带有注释的spring数据gemfire连接在本地机器上运行的gemfire

我尝试了很多演示,但无法在本地 gemfire 上创建区域。

我的代码在嵌入式模式下运行,但我想使用注释将它作为客户端服务器模式运行,我应该怎么做。

谢谢。

0 投票
1 回答
528 浏览

gemfire - 在 Gemfire 中的复制区域上配置并行异步事件队列

我正在尝试配置 Gemfire/Geode,以便parallel=true在复制区域上有一个异步事件队列。但是,我在启动时遇到以下异常:

这(即防止复制区域上的并行队列)似乎是一个设计决定,但我不明白为什么会这样。
我已经阅读了我能找到的所有文档(主要是http://gemfire.docs.pivotal.io/docs-gemfire/latest/reference/book_intro.html和相关文档),并搜索了任何类型的参考这个例外在互联网上,但我没有找到任何明确的解释说明为什么我不能在每个托管复制区域的成员上都有一个事件侦听器。
我的结论是我一定遗漏了一些关于复制区域和/或并行队列的基本概念,但由于我自己找不到合适的文档,我要求解释和/或指向正确的资源读。

提前致谢。

编辑:让我把这个问题放在上下文中。
我有一个外部系统使用 REST 服务向我的应用程序发送数据,这些服务在节点之间进行负载平衡,以最大限度地提高性能。每个节点都托管相同的区域(比如说 3 个,名为 AB 和 C)。数据经过所有这些区域(A 到 B 到 C)并在此过程中进行处理。这意味着区域 A 托管刚刚收到的数据,区域 B 已部分处理的数据和区域 C 托管已完成处理的数据。
我正在使用事件侦听器来处理数据并将其从一个区域移动到另一个区域,如果是区域 C 的侦听器,则将其导出到另一个外部系统。
所有的听众都必须(我重复一遍,必须)是事务性的。
我还需要水平可扩展性(即动态添加节点以增加吞吐量)和可能实现的最大数据复制量。
此外,我想用相同的 gemfire 配置运行所有节点。

我已经尝试过使用分区区域,但是由于一系列原因,它们不适合我的需求,为了简洁起见,我不会在这里解释(相信我,目前还不可能)。

所以我认为让所有节点托管复制的区域可能是一种方式,但我需要它们都能够独立处理事件并在活动/活动场景中执行区域同步。据我了解,这要求事件队列是并行的,但这似乎是不可能的(按设计)。

所以(更新的)问题是:这种情况甚至可能吗?如果是,我该如何实现?任何解释和/或文档、示例、资源或其他任何内容都非常受欢迎。

再次,提前感谢。

0 投票
1 回答
274 浏览

gemfire - 无法在 geode 上创建连续查询

我正在尝试在 Apache Geode 上创建连续查询。但低于异常

我已经使用创建了我的区域

请在下面找到我用于创建 QueryService 和注册 CQ 的代码

如果有人可以分享 Gemfire Continuous Query 的工作示例,那将是一个很大的帮助

0 投票
2 回答
1108 浏览

spring-boot - 尝试对其进行操作时获取@autowired intance null,抛出空指针异常

我正在尝试使用 crud 存储库将数据保存在 gemfire 上。我创建了一个操作类来调用存储库的保存方法,但是在自动装配的实例中我得到空指针异常。下面是我的代码: