在GemFire服务器中部署Spring Boot JAR

问题描述 投票:0回答:1

我使用Spring Boot实现了GemFire服务器端事件处理程序(CacheLoader),因为我将不得不调用多个外部服务来加载数据。

当我试图在GemFire中部署JAR(Spring Boot FAT JAR)时,我收到以下错误消息:

gfsh>deploy --jar=C:\GIT\client-cache\build\libs\client-cache.jar
Response was null for: "deploy --jar=C:\GIT\client-cache\build\libs\client- 
cache.jar". (gfsh.isConnected=true)

Could not read command response.  Error occurred while executing "deploy -- 
jar=C:\GIT\client-cache\build\libs\client-cache.jar" on manager. Please check 
manager logs for error.

任何人都可以帮助解决这个问题吗?

spring-boot gemfire spring-data-gemfire
1个回答
0
投票

简而言之,Gfsh的deploy命令无法处理上传到GemFire集群的FAT JAR部署。即使它可以,也没有什么可以引导Spring ApplicationContext构建,配置和初始化你的GemFire CacheLoader(我怀疑是一个Spring bean,因此你可以注入多个托管(Spring上下文中的其他bean)数据源(服务) ??),然后在Region注册CacheLoader

这里只有几个选项:

  1. 使用Spring [Boot]配置和引导Pivotal GemFire。我在Spring Boot for Pivotal GemFire(和Apache Geode)参考指南附录here上写了一整节。
  2. --spring-xml-location命令中使用Gfsh的start server选项来配置和使用Spring引导Pivotal GemFire(默认情况下为XML,但您可以使用一小段XML来启用注释配置,并在此处使用FAT JAR中的Spring @Configuration类)。
  3. 解决这个问题的第三种方法是使用SDG的SpringContextBootstrappingInitializer。更多细节可以在here找到。

无论哪种方式,您都需要确保GemFire直接或间接地以某种方式引导Spring容器。

这应该让你从一些想法开始。

© www.soinside.com 2019 - 2024. All rights reserved.