-
-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make it possible to run fluency without runtime dependency on jackson #904
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution! I left some comments. See them when you have time.
fluency-fluentd/src/main/java/org/komamitsu/fluency/fluentd/FluencyBuilderForFluentd.java
Outdated
Show resolved
Hide resolved
fluency-fluentd/src/main/java/org/komamitsu/fluency/fluentd/FluencyBuilderForFluentd.java
Outdated
Show resolved
Hide resolved
fluency-fluentd/src/main/java/org/komamitsu/fluency/fluentd/ingester/FluentdIngester.java
Outdated
Show resolved
Hide resolved
responseUnpacker.unpackMapHeader(); | ||
responseUnpacker.unpackString(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack
field is contained in a Map structure data, and the order and the number of fields can be changed https://github.com/fluent/fluentd/wiki/Forward-Protocol-Specification-v1#response. So, the Ack value must be obtained by specifying key ack
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missed this one... Fixed.
- try-with-resources - deserialize as an arbitrary map
Sorry for the late response i was away for the past 10 days. |
@pkolaric I might be missing something. As long as |
By excluding the transitive dependency on jackson, when including fluency, e.g.:
This is enough to run fluency without depending on jackson-databind and everything it drags with it. |
fluency-fluentd/src/main/java/org/komamitsu/fluency/fluentd/ingester/FluentdIngester.java
Show resolved
Hide resolved
fluency-fluentd/src/main/java/org/komamitsu/fluency/fluentd/ingester/sender/NetworkSender.java
Outdated
Show resolved
Hide resolved
…gester/sender/NetworkSender.java Co-authored-by: Mitsunori Komatsu <[email protected]>
This allows running fluency without runtime dependencies on
jackson-databind
(e.g. in Micronaut ecosystem), by implementing a customorg.komamitsu.fluency.recordformat.RecordFormatter
and passing it toFluencyBuilderForFluentd
.