[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Ainda sobre Serializable...



Marcos Lemos Ferreira dos Santos writes:
 > Estava tentando escrever um DBObject no Buffer, mas ele sempre lanca um
 > NotSerializableException... 

Como você está escrevendo o DBObject no Buffer?
Parece que você está usando o método writeObject da classe Buffer. 
Não faça isso! Use o método writeTo da interface DBObject.

 > Os objetos armazenados em buffers devem ser serializados, logo terei de
 > serializar meus DBObjects ??????? Acho estranho, poi meu DBObject ja eh
 > uma interface... 

Não, para escrever um DBObject num buffer basta chamar o metodo writeTo.

Acho que o método writeObject na classe Buffer está causando a confusão.
Eu só coloquei esse metodo na classe Buffer para voces poderem escrever
objetos Class nos registros do diretório de arquivos. (E depois me
mostraram que isso podia ser feito de outra forma...) Não use o método
writeObject para outra coisa!

Embora pareça razoável usar writeObject para escrever DBObjects em
buffers, há varios problemas com isso. O writeObject gasta muito mais
espaço, pois ele guarda junto com cada objeto a informação de tipo do
objeto. Em vez disso use o writeTo (que guarda só os campos do objeto) e
coloque a informação de tipo no diretório de arquivos (uma vez só para
todos os registros do heapfile).

Reverbel