Inevitable InvocationTarget exception in JmsQueueListener.init<>()
------------------------------------------------------------------
Key: OFBIZ-4279
URL: https://issues.apache.org/jira/browse/OFBIZ-4279
Project: OFBiz
Issue Type: Bug
Components: framework
Affects Versions: SVN trunk
Reporter: Ilya A. Pimenov
Priority: Critical
First call in the constructor refers to
super(dispatcher);
which is:
protected AbstractJmsListener(ServiceDispatcher serviceDispatcher) {
this.dispatcher = GenericDispatcher.getLocalDispatcher("JMSDispatcher",
null, null, this.getClass().getClassLoader(), serviceDispatcher);
}
And in GenericDispatcher you can see:
public static LocalDispatcher getLocalDispatcher(String dispatcherName,
Delegator delegator, Collection<URL> readerURLs, ClassLoader loader,
ServiceDispatcher serviceDispatcher) {
if (dispatcherName == null) {
dispatcherName = "default";
Debug.logWarning("Got a getGenericDispatcher call with a null
dispatcherName, assuming default for the name.", module);
}
//NB! This line will obviosly fail with "NullPointer" on delegator
if (UtilValidate.isNotEmpty(delegator.getDelegatorTenantId())) {
dispatcherName += "#" + delegator.getDelegatorTenantId();
}
So, It will always result in InvocationTargetException.
Replacing AbstractJmsListener constructor with this:
--
protected AbstractJmsListener(ServiceDispatcher serviceDispatcher) {
this.dispatcher = GenericDispatcher.getLocalDispatcher("JMSDispatcher",
serviceDispatcher.getDelegator(), null, this.getClass().getClassLoader(),
serviceDispatcher);
}
--
Will do the trick.
Since this bug blocks implementing JMS-service, I believe it is atleast
critical; since there is a workaround, but it's not very nice one.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira