Hi,

I want to bring up a topic, which has caused me headaches for quite some
time.

We have a rewriter configuration, which is stored within in the Sling
Repository, and which is picked up any request. But we often see messages
like this in the logs:

org.apache.sling.engine.impl.SlingRequestProcessorImpl service:
Uncaught SlingException
java.io.IOException: Unable to get component of class 'interface
org.apache.sling.rewriter.Transformer' with type 'externallinks'.

This is normally caused by the requested rewriter not being present and
should vanish as soon as that service is present. But I also have seen
cases, that the instance was not getting up because of this; *at least
that's my impression, I have not closely analyzed it. (I hoped that this
problem of instances not starting up properly was fixed with SSLING-11317,
but I spotted this behavior afterwards as well.)

The problem is the dependency of a repository structure to an OSGI service,
which we cannot model with the means of OSGI (at least I am not aware of
that); it will be always a polling mechanism to see if the service is
present, and fail with an exception if not.

Are you aware of a way to change this dependency and make it more
OSGI-aware, and not starting the relevant parts of the sling engine if the
requested rewriter is not present?

Jörg


-- 
Cheers,
Jörg Hoh,

https://cqdump.joerghoh.de
Twitter: @joerghoh

Reply via email to