This is a fringe case I guess but still something that threw me for a
while because the error message from hivemind 1.1.1 was not really
that informative.

I wrote a symbol source that looks up values in JNDI. For this I used
the hivemind.lib.NameLookup. This service in turn needs a symbol
source.

So we get a catch 22 here, the symbol source needs a symbol source.

Now, If you write your contribution wrong like this:

<contribution configuration-id="hivemind.SymbolSources">
        <source name="jndi" before="*"
                service-id="JNDISymbolSource" />
</contribution>

Notice the 'before="*"'

You end up with this error message

Caused by: java.lang.NullPointerException: Parameter parameters must
not be null.
        at org.apache.hivemind.util.Defense.notNull(Defense.java:41)
        at 
org.apache.hivemind.impl.ServiceImplementationFactoryParametersImpl.<init>(ServiceImplementationFactoryParametersImpl.java:47)
        at 
org.apache.hivemind.impl.InvokeFactoryServiceConstructor.constructCoreServiceImplementation(InvokeFactoryServiceConstructor.java:59)

Which is a bit difficult to understand. I tried to look at the source
to see if there was an easy way to detect this case but couldn't find
any but I don't know hivemind that well. So, is this wierd case even
worth an RFE?

In my case I solved it by simply changing the ordering of symbol
sources so that my JNDI source is 'after="*"' which works lika a
charm.

Cheers,
Johan

Reply via email to