Sto usando un ThreadSafeList e sto ottenendo un grande chilometraggio da esso per lo streaming di dati da un processo a un server web e quindi lo streaming dei dati indietro come entra in un client. In memoria sto salvando i dati nella JVM con Spring Caching (ehcache sotto il cofano) e tutto va bene. Il problema è iniziato quando ho iniziato a colpire i limiti del mio heap e Spring Caching ha iniziato a serializzare il mio ThreadSafeList sul disco mentre lo sto usando, causando ConcurrentModificationExceptions. Posso sovrascrivere i metodi private writeObject e readObject per l'interfaccia di serializzazione per risolvere il problema? Non sono sicuro di come farlo o se dovrei abbandonare la mia ThreadSafeList.Come rendere un elenco thread-safe per la serializzazione?
Indietro quando ho iniziato questo programma stavo usando un BlockingDeque, ma non era sufficiente perché quando ho messo e preso sulla struttura non riuscivo a ricordare i dati per la memorizzazione nella cache ... Non riesco a utilizzare una ConcurrentMap perché ho bisogno di ordinare nella mia lista ... dovrei optare per ConcurrentNavigableMap? Mi sento come se stessi rotolando il mio con un ThreadSafeList e le funzioni di serializzazione privata personalizzate potrebbero essere uno spreco?
Java Code Geeks ThreadSafeList
Il caching di primavera non fa nulla se ciò può aiutare a rintracciare da dove proviene il problema. –