отправка пользовательского объекта из spring-xd в gemfire

Здравствуйте, у меня проблема с записью объекта, который я определил из sprint-xd в gemfire.

если развернуть мой класс и если я напишу следующую команду в консоль gemfire, я смогу создать новую запись в регионе, которая содержит объект класса Employee.

put --key-class=java.lang.String --value-class=Employee --key=('id':'998') --value=('id':186,'firstName':'James','lastName':'Goslinga') --region=replicated2

Я думаю, что хочу отправить данные из spring-xd. И у меня будет новый объект класса Employee в Gemfire.

Если я создам такой поток, который будет получать данные от кролика MQ и отправлять их в gemfire.

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-xd, я могу использовать такой параметр outputType=application/x-java-object;type=com.bar.Foo, но мне так и не удалось его решить, хотя я развернул свой класс. если я увижу простой рабочий пример, это будет здорово для меня.


person Altan Gokcek    schedule 06.05.2015    source источник


Ответы (1)


Spring XD не предоставляет средств для автоматического преобразования одного типа объекта в другой, поскольку не существует простого способа автоматической обработки сопоставления. Вместо этого вам нужно будет создать преобразователь перед приемником gemfire-server для преобразования в ваш объект com.bar.Foo. Оттуда он будет правильно сериализован в Gemfire.

person Michael Minella    schedule 08.05.2015
comment
Спасибо за ваш ответ Михаил. Есть ли простой пример, который делает это преобразование? Я понял, что его нужно сериализовать, но я не знаю, как сделать это преобразование. Вот почему простой пример может очень помочь. - person Altan Gokcek; 11.05.2015
comment
Посмотрите здесь: github.com/pivotal/IoT-ConnectedCar/tree /мастер/ - person Michael Minella; 11.05.2015