Hi,
On 29.03.2010 14:31, Carsten Ziegeler wrote:
> Ian Boston wrote
>> Hi
>> What us the procedure for handling unlisted bundle dependencies ?
>>
>> eg, servlets/get has a dependency on resources since it has a redirect.cnd
>> with a super type defined in jcr/resource
>>
>> If servlets get loads it node types before jsr/resource the there is an
>> exception, eg
>> Caused by: org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException:
>> [{http://sling.apache.org/jcr/sling/1.0}Redirect] invalid supertype:
>> {http://sling.apache.org/jcr/sling/1.0}Resource
>>
>> This only happens on certain OS's since the load sequence is file system
>> order dependent with disconnected bundles in the same start level. (eg its
>> OK on OSX which lists directors in natural order, but not ok on ext3 which
>> lists in date order iirc)
>>
>> and a second question.
>>
>> Is it possible to change, invert or randomize the start order in Felix so
>> that I don't have to test startup on all the OS's I can run a VM for ?
>>
>>
> I don't know the answer to your question, but usually node type
> registration is retried if it fails as soon as another bundle is
> installed. So while the above error statement is logged, the node type
> should be registered correctly at a later stage.
> This is implemented this way to avoid adding new levels of dependencies
> between bundles :)
Correct, and in fact there is a bug releated to improve node type
registration, because currently we use a very simple API which has very
weak operation feedback (it just throws a RepositoryException and a
program must parse the message to try to find out about the problem...).
Now that we use Jackrabbit 2 with JCR 2 we could implement our own CND
file parsing and register the node types with low-level JCR2 node type
management calls and better log problems.
The issue is https://issues.apache.org/jira/browse/SLING-7 (one of our
oldest issues still open ....)
Regards
Felix