Caso você tenha se deparado com o seguinte erro:
java.io.NotSerializableException: java.util.RandomAccessSubList at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
Em ambientes clusterizados ou ao serializar algum objeto, significa que você está utilizando um atributo de classe não serializável. Entretanto é um pouco complicado identificar onde está o erro, já que esse tipo de erro, normalmente não ocorre quando você instancia um objeto e sim quando você utiliza o método subList da classe List que por algum motivo obscuro faz uso da classe java.util.RandomAccessSubList que não é serializável. Para resolver esse problema, basta empacotar o retorno do subList dentro de uma classe serializável:
atributoComSubList = new ArrayList(lista.subList(inicio,fim));
Problema resolvido!
RT @thiagovespa: RandomAccessSubList não serializável: Caso você tenha se deparado com o seguinte erro:
java.... http://t.co/G4RemCAW8F
I really liked it.