UPM Won't Load
症状
- When navigating to the UPM, the page hangs
- Upgrading the UPM seems to work, and the page shows the new version. However, the UPM is disabled by default and won't enable.
atlassian-confluence.log
に次のメッセージが表示される。
2014-11-26 23:59:11,967 ERROR [http-bio-8090-exec-5] [ContainerBase.[Standalone].[localhost].[/]] log Unhandled exception occurred whilst decorating page
-- referer: http://localhost:8090/confluence/authenticate.action?destination=%2Fplugins%2Fservlet%2Fupm | url: /plugins/servlet/upm | userName: administrator
com.atlassian.templaterenderer.RenderingException: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'buildUpmViewPluginRequestsUri' in class com.atlassian.upm.rest.UpmUriBuilder threw exception java.lang.NullPointerException at upm-resources.vm[line 60, column 122]
...
Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'buildUpmViewPluginRequestsUri' in class com.atlassian.upm.rest.UpmUriBuilder threw exception java.lang.NullPointerException at upm-resources.vm[line 60, column 122]
...
Caused by: java.lang.NullPointerException
at java.net.URI$Parser.parse(URI.java:3023)
at java.net.URI.<init>(URI.java:595)
at java.net.URI.create(URI.java:857)
at com.atlassian.upm.core.rest.BaseUriBuilder.newApplicationBaseUriBuilder(BaseUriBuilder.java:65)
at com.atlassian.upm.rest.UpmUriBuilder.buildUpmViewPluginRequestsUri(UpmUriBuilder.java:683)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
at com.atlassian.velocity.htmlsafe.introspection.UnboxingMethod.invoke(UnboxingMethod.java:30)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
And the server base url may show as NULL under "Build Information" in the atlassian-confluence.log
:
--------------------------
Build Information
--------------------------
home = /var/atlassian/application-data/confluence
buildNumber = 5636
installationDate = 2011-11-04 11:44:29.0
version = 5.6.3
baseUrl = null
診断
Execute the following query to see the Confluence settings that are stored in the database. You should see something like <baseURL>http://localhost:8090/confluence</baseUrl> in the output.
select BANDANAVALUE from BANDANA where BANDANAKEY = 'atlassian.confluence.settings';
原因
The base URL is not being stored properly in the database. In fact, it will be missing altogether from the bandana
table.
ソリューション
- Backup your database, as a precaution.
- Modify the Confluence settings that are stored in the database by adding back the missing baseUrl property. You'll add the missing property to the current value, and save that new value to the database. The command will look something like this:
update BANDANA
set BANDANAVALUE =
'<settings>
<doNotSave>false</doNotSave>
<allowCamelCase>false</allowCamelCase>
<allowTrackbacks>false</allowTrackbacks>
<allowThreadedComments>true</allowThreadedComments>
<externalUserManagement>false</externalUserManagement>
<denyPublicSignup>true</denyPublicSignup>
...
<rssTimeout>60</rssTimeout>
<pageTimeout>120</pageTimeout>
<baseUrl>http://localhost:8090/confluence</baseUrl>
</settings>'
where BANDANAKEY = 'atlassian.confluence.settings';
- Flush the Confluence caches (at Confluence Admin > Cache Management > Flush All) to force Confluence to pull fresh data from the database. Restarting Confluence will accomplish the same thing.
- Navigate to the UPM (Confluence Admin > Manage Add-ons)
Last modified on Mar 30, 2016
Powered by Confluence and Scroll Viewport.