0

Right now, I am getting my feet wet using Spring Cloud Dataflow and I have a use case where we would like to record traffic on the RabbitMQ Message Bus to a Log file.

My first attempt was a simple:

create --name test --definition "rabbit | log" --deploy

Running this I was able to see the ASCII output to the log file. However, I would to dump the contents of the message (Google Protocol Buffer) being transported by RabbitMQ to the log file. So, I was thinking I could do something like:

create --name test --definition "rabbit | transform=new Envelope.parse(payload.toBytes()) | log

(This is a minor detail but, all of my GPB messages are encapsulted by a common class "Envelope").

How can I include the .jar file for my GPB class into Spring Cloud Dataflow ? Or is there a better way to do this ?

Dennis Jansky
  • 107
  • 12

1 Answers1

1

If you need extra classes on you classpath, you have to configure the apps to include them. Take a look on the docs of the app-starters on how to get this working: http://docs.spring.io/spring-cloud-stream-app-starters/docs/Bacon.RELEASE/reference/html/

Vinicius Carvalho
  • 3,994
  • 4
  • 23
  • 29
  • Are you referring to "1.5 Patching pre-built applications" ? – Dennis Jansky Aug 11 '17 at 17:44
  • So, I "think" I am close to completing this but, I am not quite sure. I executed the exact steps outlined in Section 1.5 and then I executed "app register --name transform-to-gpb --type processor --uri [local maven repo]". When I did an "app list" it displayed the application but, the "expression" variable was not part of the new application". Should I need to code anything ? I thought I would just need to modify the .pom file to add the .jar for the GPB implementation. Any thoughts ? – Dennis Jansky Aug 16 '17 at 21:01