You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
Version 1
Next »
Problem Description
If you are using the Dynamic Tasklist Macro and have upgraded the Confluence server to JDK1.5 or later, editing any tasklist content throws an exception with error cause:
com.thoughtworks.xstream.converters.ConversionException: Cannot construct java.util.Collections$SynchronizedRandomAccessList:
Cause
A change to the Java API in version 1.5, specifically the Collections.SynchronizedRandomAccessList method, makes old dynamic tasklist data inaccessible after upgrading.
Full details at CONF-4082.
Workarounds
Choice 1 - Revert To JDK 1.4
Until CONF-4082 can be patched, reverting to JDK 1.4 will re-enable all tasklist content.
- Stop Confluence
- Revert the Confluence server to the JDK version on which the tasklist content was created. The JDK used is the version set by your JAVA_HOME parameter, so users can change this value to the old JDK path to use that JDK again. (Guide to changing the JAVA_HOME parameter on Windows)
Choice 2 - Migrate To JDK 1.5
If users wish to move to JDK 1.5 before CONF-4082 is patched, they must manually transfer the tasklist content across.
- Backup your Confluence instance
- Stop Confluence
- Revert the Confluence server to the JDK version on which the tasklist content was created. The JDK used is the version set by your JAVA_HOME parameter, so users can change this value to the old JDK path to use that JDK again. (Guide to changing the JAVA_HOME parameter on Windows)
- Start Confluence
- From your browser, visit the dynamic tasklist page
- Manually copy and paste the text of each task and that task status to an external text editor
- From the external text editor, save the list of task text and status
- From your browser, delete the dynamic tasklist from the page
- Repeat for each dynamic tasklist in your Confluence instance until all tasklist content has been stored and the macros deleted
- Stop Confluence
- Revert to the newer JDK by altering the JAVA_HOME parameter
- Start Confluence
- Restore each dynamic tasklist