首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring xd Gemfire接收器键类和值类参数

Spring xd Gemfire接收器键类和值类参数
EN

Stack Overflow用户
提问于 2015-04-29 07:40:00
回答 2查看 140关注 0票数 0

是否有任何方法可以使用键类值类参数用于Spring 中的Gemfire接收器?关于文档,我只能使用keyExpression,而不能使用它的类类型。钥匙课也一样。

我对金火有这样的命令,

代码语言:javascript
复制
put --key-class = java.lang.String --value-class = Employee --key = ('id': '998') --value = ('id': 186, 'firstName': 'James', 'lastName': 'Goslinga') --region = replicated2

所以我在Gemfire中使用了--键类和参数。但是我不能使用Spring中的keyExpression参数,因为Gemfire Sink中只有参数。

有什么要解决的吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-29 15:03:29

据我所知,本机GemFire不支持上面的语法。所以你不能用Spring开箱即用。语法看上去有点像SQL。你用的是Gemfire XD吗?这是你自己写的吗?

gemfire接收器使用弹簧-集成-双子火,允许您使用SpEL声明keyExpression。使用gemfire接收器的值始终是有效负载。SI gemfire出站适配器包装Region.put(键,值)。GemFire API支持通过泛型(即区域<K,V>)进行键入,但在本例中不强制执行。GemFire RegionFactory允许keyConstraint和valueConstraint属性约束类型,但这是Spring外部区域配置的一部分。此外,所有这些都不能解决示例中的数据绑定问题,例如,

代码语言:javascript
复制
Person p = ('id': 186, 'firstName': 'James', 'lastName': 'Goslinga')

此功能将需要自定义接收器模块。如果您的命令可以作为shell脚本执行,则可以使用shell接收器来调用它。

票数 0
EN

Stack Overflow用户

发布于 2015-05-06 13:33:12

谢谢你的回答,

也许我可以用这种方式解释我的问题。

如果我将以下命令写入gemfire控制台,则可以在包含Employee类对象的区域中创建新条目。

代码语言:javascript
复制
put --key-class=java.lang.String --value-class=Employee --key=('id':'998') --value=('id':186,'firstName':'James','lastName':'Goslinga') --region=replicated2

我想要做的是发送spring的数据。我将在Gemfire有一个新的雇员课程目标。

如果我创建这样的流,它将从兔子MQ获取数据并将其发送到gemfire。

代码语言:javascript
复制
stream create --name reference-data-import --definition "rabbit --outputType=text/plain | gemfire-json-server --host=MC0WJ1BC --regionName=region10 --keyExpression=payload.getField('id')" --deploy

我可以看到这种类型的"com.gemstone.gemfire.pdx.internal.PdxInstanceImpl".中的数据

关于spring文档,我可以使用这样的参数化outputType=application/x-java-object;type=com.bar.Foo,但是即使我部署了类,我也无法解决它。如果我能看到一个简单的工作例子,那对我来说将是很棒的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29937280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档