-
-
Notifications
You must be signed in to change notification settings - Fork 36
make it possible to run fluency without runtime dependency on jackson #904
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
base: main
Are you sure you want to change the base?
Conversation
komamitsu
left a comment
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.RecordFormatterand passing it toFluencyBuilderForFluentd.