Hi Jan, On Thu, Nov 7, 2013 at 2:39 PM, Jan Algermissen <[email protected]> wrote: > Hi, > > I am complteley new to Sling and tasked with creating a ResourceProvider > implementation. I have been digging thorugh the docs for a while but, > honestly, would appreciate some help :-) > > My ResourceProvider needs to contact an upstream HTTP server(s), so it needs > to use an HTTP client, preferably the Apache HTTP Client. Performance and > concurrency requirements are very high - I am not building a pet project. > This raises a number of questions for me:
Your questions should be addressed by the Cassandra ResourceProvider implementation which was completed this year for the GSOC. You can find the code attached at [1]. Robert [1]: https://issues.apache.org/jira/browse/SLING-2798 > > - Where do I best put the HTTP client instance and where do I configure it? > It is likely a caching client and I plan to make it multi-threaded, too (use > a connection pooling configuration for the Apache client) > I am looking for the right spot of the Sling runtime here, to wire the > client to. > > - Or is there maybe a client instance in the Sling runtime that I can just > obtain and use from within my ResourceResolver? > > - Do I have to write a Factory for my Resolver? And how does a Sling > application specify it wants to work with resource from my provider? IOW, How > does the bootstrapping work? > > - Do I also have to write a ResourceResolver and bootstrap that, too? Or does > the runtime provide its own to my ResourcePorvider? > > - Will instances of my ResourceProvider be used concurrently, or is a new > instance created for every request to sling? > > - How do I obtain a reference to my (global) HTTP client inside my > ResourceProvider? > > Excuse the big bunch of newbie questions, but I feel I need hands-on > information directly as opposed digging around - especially the concurrency > and bootstrapping aspects I'd really like to not mess up :-) > > Jan > -- Sent from my (old) computer
