It looks like this module's API is coupled to Jackson 2.x, since the public
method signatures refer to types like `ObjectMapper`. It's worth noting
that Jackson 3 is already out, so in principle we'll eventually need
`httpcomponents-jackson3` (since Jackson 3's class names are all different:
`com.fasterxml.jackson` -> `tools.jackson`) which will have to build with
Java 17.

If the goal of this module is to integrate the async client (i.e.
AsyncEntityProducer and the like) with Jackson, one possibility is to
decouple the two via the Reactive Streams API, which the client can already
integrate with. Then the problem becomes "expose reactive bindings for
Jackson:" the client gives you a `Producer<ByteBuffer>` which you turn into
a producer of JSON tokens or DOM types or mapped objects, and all the
RxJava forces of darkness can be brought to bear on the problem. From a
quick google search, it looks like someone took a crack at this problem
years ago: https://github.com/kptfh/json-reactive


On Fri, Jan 30, 2026 at 10:22 AM Oleg Kalnichevski <[email protected]> wrote:

> I just committed the initial contribution of the JSON binding module
> for HttpCore.
>
> This is the part of the project has been stable for years. Now, on top
> of that I would like to add a few improvements based on what I have
> learned while working on JSON bindings. Primarily I would like to add
> factory or assembly classes intended to simply wiring of common message
> processing pipelines for JSON messages but also for generic / simple
> data types.
>
> Those changes should not spill over into the client module, should be
> primarily core functionality focused, and should be of little interest
> to those who are primarily interested in the client side of things.
>
> I will be committing those changes once I feel they are ready for an
> alpha release.
>
> Feel free to keep an eye on what I am doing, post-commit review my
> changes, or ignore them entirely. If you find anything objectionable,
> please do let me know. I will back those changes out and re-submit them
> in a merge request.
>
> Oleg
>
>
> On Sat, 2025-12-20 at 18:22 +0100, Oleg Kalnichevski wrote:
> > Folks
> >
> > We ended up with a number of modules in core and client with a single
> > developer and more are in the pipeline.
> >
> > I have been maintaining an event-driven, asynchronous JSON message
> > processor for HttpComponents 5.x outside of HttpComponents largely
> > for
> > two reasons: being a single maintainer and its having a hard
> > dependency
> > on an external library:
> >
> > https://github.com/ok2c/httpcomponents-jackson
> >
> > The module covers a functionality gap between the classic and the
> > async
> > i/o with regards to efficient processing of JSON messages.
> >
> > As the reasons for keeping the module outside HttpComponents seem no
> > longer applicable I would be easier for me to maintain that module
> > here. The module is small, has a single dependency on Jackson JSON
> > bindings and is quite stable by now.
> >
> > If there are any objection please do let me know.
> >
> > Oleg
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to