我使用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.
任何人都可以帮助解决这个问题吗?
简而言之,Gfsh的deploy
命令无法处理上传到GemFire集群的FAT JAR部署。即使它可以,也没有什么可以引导Spring ApplicationContext
构建,配置和初始化你的GemFire CacheLoader
(我怀疑是一个Spring bean,因此你可以注入多个托管(Spring上下文中的其他bean)数据源(服务) ??),然后在Region注册CacheLoader
。
这里只有几个选项:
--spring-xml-location
命令中使用Gfsh的start server
选项来配置和使用Spring引导Pivotal GemFire(默认情况下为XML,但您可以使用一小段XML来启用注释配置,并在此处使用FAT JAR中的Spring @Configuration
类)。SpringContextBootstrappingInitializer
。更多细节可以在here找到。无论哪种方式,您都需要确保GemFire直接或间接地以某种方式引导Spring容器。
这应该让你从一些想法开始。