NotSerializableException

7 respostas
M

Mas que porcaria…tá dando essa Exception em 2 projetos diferentes que estou fazendo.
Em um estou usando Socket’s e faço assim:
Detalhe: “conexao” = Connection com mysql

saida = new ObjectOutputStream(socket.getOutputStream());
saida.flush();
entrada = new ObjectInputStream(socket.getInputStream());
saida.writeObject(conexao);
saida.flush();

E no RMI faço a mesma coisa:

public Connection fazerConexao() throws RemoteException
   {
   	try
    {
   		System.out.println("Executando Método fazerConexao()");
   		Class.forName("com.mysql.jdbc.Driver");
   		Connection conexao = DriverManager.getConnection("jdbc:mysql://localhost:3306/Meu_Banco","root",""); 
   		stat = conexao.createStatement();
   		return conexao;
    }
   	catch(Exception ex) { }
   	return null;
   }

Porém em ambos programas acontece a Exception “NotSerializableException: com.mysql.jdbc.Connection”

Detalhe: em todas as classes fiz “implements Serializable”
Detalhe 2: quando passo uma String em vez de passar uma Connection, os programas funcionam!

Qual o meu erro?

Valeu gurizada…

7 Respostas

L

Olá,

no seguinte endereço existe uma explicação que foi dada pelo Francisco Reverbel: http://www.ime.usp.br/~reverbel/mac211-99/maillist/msg00286.html

Ele comenta que esta exceção é lançada quando tenta-se passar para o writeObject um objeto cuja classe não implementa a interface Serializable.

Espero ter ajudado,

Até mais!!!

M

hehehe, mas meu amigo, eu disse que “marquei” a classe como Serializable => “public class Classe implements Serializable”, ou melhor, marquei todas as classe com “implements Serializable”. Porém continua dando a mensagem de “NotSerializableException”.

E agora?
Será que existem classes como a java.sql.Connection que não podem ser serializáveis?

Obrigado por tentar ajudar cara…

Continuo no aguardo de mais sugestões…

C

tu tem certeza que esta classe:
com.mysql.jdbc.Connection

ela é serializável???

pq parece q ela o o driver de conexão com o banco, dai não é tua responsabilidade ela ser ou não serializável…

sei lá, espero ter ajudado…

M

Tá…e como posso resolver meu problema então?

Quero fazer um Servidor que faz a conexão com o banco de dados mysql e envia esta conexão para o cliente!

Valeu…

M

Agora gurizada…vamo da umas dicas ae pq tá dificil aqui eim!

L

Andei fazendo algumas pesquisas sobre o assunto.

O Clone comentou:

Pelo que pesquisei, ele está na pista certa. Num forum da Universidade de Berkley, encontrei um post interessante, abordando este assunto:

Serializable java.sql.Connection?
https://lists.xcf.berkeley.edu/lists/advanced-java/2001-January/015456.html

Desculpe estar enviando links!!! :slight_smile:

Até +

M

Pô, meu velho!
Acho que era isso mesmo que eu queria saber, só não sei se entendi muito bem o que ele fez, mas acho devo criar uma classe “implementando Serializable” e fazendo os meus métodos get e set necessários…

Qualquer coisa eu dou outro toque por aí

Valeu…

Criado 18 de dezembro de 2004
Ultima resposta 20 de dez. de 2004
Respostas 7
Participantes 3