WebHooks Plugin cannot be Enabled during JIRA Startup
Problem
WebHooks Plugin cannot be enabled during JIRA startup due to some failed dependencies. The following Failed Plugin Report can be found in atlassian-jira.log
:
___ FAILED PLUGIN REPORT _____________________
3 plugins failed to load during JIRA startup.
'com.atlassian.httpclient.atlassian-httpclient-plugin' - 'Atlassian HTTP Client, Apache HTTP components impl' failed to load.
Error creating bean with name 'httpClientService': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'httpClient' defined in URL [bundle://41.0:0/META-INF/spring/httpclient-components.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: null
Error creating bean with name 'httpClient' defined in URL [bundle://41.0:0/META-INF/spring/httpclient-components.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: null
Could not instantiate bean class [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: null
null
It was loaded from /Users/xxxx/workspace/deployments/jira6312/atlassian-jira/WEB-INF/atlassian-bundled-plugins/atlassian-httpclient-plugin-0.17.3.jar
'com.atlassian.jira.plugins.webhooks.jira-webhooks-plugin' - 'JIRA WebHooks Plugin' failed to load.
The plugin has been disabled. A likely cause is that it timed out during initialisation
It has the following missing service dependencies :
&webHookListenerService of type (objectClass=com.atlassian.webhooks.api.provider.WebHookListenerService)
It was loaded from /Users/xxxx/workspace/deployments/jira6312/atlassian-jira/WEB-INF/atlassian-bundled-plugins/jira-webhooks-plugin-1.2.6.jar
'com.atlassian.webhooks.atlassian-webhooks-plugin' - 'Atlassian WebHooks Plugin' failed to load.
Application context initialization for 'com.atlassian.webhooks.atlassian-webhooks-plugin' has timed out
It has the following missing service dependencies :
&httpClient of type (objectClass=com.atlassian.httpclient.api.HttpClient)
It was loaded from /Users/xxxx/workspace/deployments/jira6312/atlassian-jira/WEB-INF/atlassian-bundled-plugins/atlassian-webhooks-plugin-0.17.6.jar
OR
___ FAILED PLUGIN REPORT _____________________
3 plugins failed to load during JIRA startup.
'com.atlassian.httpclient.atlassian-httpclient-plugin' - 'Atlassian HTTP Client, Apache HTTP components impl' failed to load.
Error creating bean with name 'httpClientService': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'httpClient' defined in URL [bundle://40.0:0/META-INF/spring/httpclient-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: For input string: "10068 "
Error creating bean with name 'httpClient' defined in URL [bundle://40.0:0/META-INF/spring/httpclient-components.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: For input string: "10068 "
Failed to instantiate [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: For input string: "10068 "
For input string: "10068 "
It was loaded from F:\Apps\JIRA\atlassian-jira\WEB-INF\atlassian-bundled-plugins\atlassian-httpclient-plugin-1.0.1.jar
'com.atlassian.jira.plugins.webhooks.jira-webhooks-plugin' - 'Atlassian JIRA - Plugins - WebHooks Plugin' failed to load.
Application context initialization for 'com.atlassian.jira.plugins.webhooks.jira-webhooks-plugin' has timed out waiting for (objectClass=com.atlassian.webhooks.api.register.listener.WebHookListenerService)
It has the following missing service dependencies :
&webHookListenerService of type (objectClass=com.atlassian.webhooks.api.register.listener.WebHookListenerService)
It was loaded from F:\Apps\JIRA\atlassian-jira\WEB-INF\atlassian-bundled-plugins\jira-webhooks-plugin-7.9.2.jar
'com.atlassian.webhooks.atlassian-webhooks-plugin' - 'Atlassian WebHooks Plugin' failed to load.
Application context initialization for 'com.atlassian.webhooks.atlassian-webhooks-plugin' has timed out waiting for (&(objectClass=com.atlassian.httpclient.api.HttpClient)(objectClass=com.atlassian.httpclient.api.HttpClient))
It has the following missing service dependencies :
&httpClient of type (&(objectClass=com.atlassian.httpclient.api.HttpClient)(objectClass=com.atlassian.httpclient.api.HttpClient))
It was loaded from F:\Apps\JIRA\atlassian-jira\WEB-INF\atlassian-bundled-plugins\atlassian-webhooks-plugin-3.2.3.jar
Cause
Following How to Configure an Outbound HTTP and HTTPS Proxy for JIRA applications, one or more of the JVM parameters are not configured properly, causing the HTTP Client plugin to fail to parse the values and thus fail to load. Since WebHooks depends on HTTP Client, it fails to load too.
In case of this error:
Could not instantiate bean class [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: null
→ It may be caused by a duplicate
-Dhttp.proxyPort
as described inIn case of this error:
Failed to instantiate [com.atlassian.httpclient.apache.httpcomponents.ApacheAsyncHttpClient]: Constructor threw exception; nested exception is java.lang.NumberFormatException: For input string: "10068 "
→ It's caused by the trailing blank space after the port number.
Resolution
Double check the JVM parameters and ensure that there's no duplicate parameter or trailing blank space in the values.