On Mon, 2017-12-11 at 22:51 +0200, Robert Munteanu wrote:
> On Wed, 2017-12-06 at 14:16 +0100, Konrad Windszus wrote:
> > > On 6. Dec 2017, at 14:15, Robert Munteanu <[email protected]>
> > > wrote:
> > > 
> > > On Wed, 2017-12-06 at 14:02 +0100, Konrad Windszus wrote:
> > > > > The way out would be to either:
> > > > > 
> > > > > 1. adjust the exported package lists for Java 8
> > > > > 2. deploy new bundles only for Java 9
> > > > > 
> > > > > 1. is a risky proposition, especially since it can affect
> > > > > backwards
> > > > > compatibility
> > > > > 2. requires further work in the provisioning model, and maybe
> > > > > a
> > > > > bad
> > > > > idea to invest in since the feature model is hopefully close
> > > > > to
> > > > > complete.
> > > > > 
> > > > 
> > > > I would propose not tweak the actual deployment but rather
> > > > leverage
> > > > OSGi execution environments (OSGi Core Spec 3.4). That should
> > > > lead to
> > > > the fact that
> > > > ...
> > > > A bundle can only resolve if the framework is running on a VM
> > > > which
> > > > implements one of the listed
> > > > required execution environments.
> > > > ... 
> > > 
> > > Does that mean we get bundles that fail to resolve by default on
> > > Java
> > > 8? That would not be good IMO.
> > 
> > Yes, exactly. 
> > IMHO that should not do any harm (maybe except for some failing
> > healthchecks which need to be adjusted)
> 
> I think it's a bad impression at least to have bundles that can't
> resolve at startup. We have no idea what the impact will be for
> consumers and it's tricky to make sure all health checks are done
> right, and presumably anyone using the web console will start looking
> for clues when they see bundles that don't start. We can document it,
> but I am sure not that many people read the documentation :-)
> 
> What we can try - not sure if feasible - is to add a run mode named
> 'java9' and activate it from a special bootstrap bundle if we detect
> that Java 9 is used to run Sling. Then in the provisioning model the
> Java 9-specific bundles are attached to this 'java9' runmode, which
> would mean:
> 
> - Java 8 is untouched
> - Java 9 no longer requires adding the '--add-modules' flag
> 
> Again, note that this is completely untested but just might work.

To get back at this...

I incorporated Tika 1.17 in the Sling starter. I am almost convinced
that my idea from above will not work since we need to inject other
bundles in start level 1 ( javax.annotation is an example ).

So my proposal is the following:

If anyone has the time to do more Java 9 improvements, please say so. I
don't have it right now and also I don't think having unresolved
bundles in Java 9 is a good option.

If no one steps up, I will start the Sling 10 release work on Monday,
hopefully getting everything out in 1 week.

Thanks,

Robert

Reply via email to