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