Notas de la versión de Sun Java System Application Server 9.1 Update 1-9.1 Update 2

TopLink espera que mi campo o propiedad Collection sea clonable (Issue Tracker 556)

Descripción

Si se utiliza el API java.util.Arrays.asList() para convertir un Object[] en Collection, JDK devuelve una implementación de java.util.ArrayList que no es clonable. Esto produce la siguiente excepción:


The method invocation of the method [protected native java.lang.Object
java.lang.Object.clone() throws java.lang.CloneNotSupportedException] on the object
[[pkg.A id = xxx]], of class [class java.util.Arrays$ArrayList], triggered an
exception. Internal Exception: java.lang.reflect.InvocationTargetException Target
Invocation Exception: java.lang.CloneNotSupportedException:
java.util.Arrays$ArrayList

Se hace un seguimiento de este problema en https://glassfish.dev.java.net/issues/show_bug.cgi?id=556.

Solución

Crear otra colección utilizando su constructor; por ejemplo:


myCollection = new ArrayList(java.util.Arrays.asList(a))