Olá estou tentando Criar um servidor que possa receber vários tipos de objetos diferentes proveniente dos clientes, eis ai o código das Threads Produtora e Consumidora respectivamente :
package novoservidor;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;
public class Produtora implements Runnable {
Fila fila;
Socket conexao;
public Produtora(Fila F, Socket conexao) {
this.fila = F;
this.conexao = conexao;
}
public void run() {
try {
DataInputStream entrada;
entrada = new DataInputStream(conexao.getInputStream());
ObjectInputStream recebe = new ObjectInputStream(entrada);
Object m;
while (true) {
m = recebe.readObject();
if (!(fila.contemElemento(m))) {
fila.insere(m);
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
}
package novoservidor;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.ArrayList;
public class Consumidora implements Runnable {
Fila fila;
ArrayList<Socket> conexoes = new ArrayList<Socket>();
public Consumidora(Fila F, ArrayList<Socket> conexoes) {
this.fila = F;
this.conexoes = conexoes;
}
public void run() {
try {
DataOutputStream out;
ObjectOutputStream manda;
while (true) {
Object mens = fila.tira();
for (int i = 0; i < conexoes.size(); i++) {
out = new DataOutputStream(conexoes.get(i).getOutputStream());
manda = new ObjectOutputStream(out);
manda.writeObject(mens);
manda.flush();
}
}
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
Quando ele recebe a mensagem de um cliente exibe o seguinte erro: java.lang.ClassNotFoundException: cliente.Mensagem.
Não entendo porque ele não consegue achar a classe, não sei se ele está procurando no seu próprio pacote ou no cliente, eu criei a classe correspondente ao objeto que eu quero mandar no servidor, o erro persistiu. Se alguém ai já passou por algum problema parecido ou se sabe o que pode estar acontecendo ficarei grato com a ajuda. Obrigado.