Estou tentando executar uma classe e quando é executada dá o seguinte erro.
[Mon Jan 28 10:16:44 BRST 2008] Carregando EJB do servidor local
javax.naming.CommunicationException: null
javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.util.id.GUID; local class incompatible: stream classdesc serialVersionUID = 3289509836244263718, local class serialVersionUID = 6926421946503004889]
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:649)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:509)
at javax.naming.InitialContext.lookup(Unknown Source)
at flash.servicosinternos.CarregadorServicos.run(CarregadorServicos.java:41)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
Caused by: java.io.InvalidClassException: org.jboss.util.id.GUID; local class incompatible: stream classdesc serialVersionUID = 3289509836244263718, local class serialVersionUID = 6926421946503004889
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.invocation.InvokerInterceptor.readExternal(InvokerInterceptor.java:125)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.proxy.ClientContainer.readExternal(ClientContainer.java:111)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at java.rmi.MarshalledObject.get(Unknown Source)
at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:51)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:552)
... 5 more
Encerrando operação
No JBoss 3.2.6 essa rotina era executada normalmente se dar esse erro, já pesquisei mas não achei uma solução ainda…
Código da classe executada:
import javax.ejb.CreateException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import flash.ejb.ServicosInternos;
import flash.ejb.ServicosInternosHome;
import java.rmi.RemoteException;
import java.util.Date;
import java.util.Hashtable;
import java.util.Timer;
import java.util.TimerTask;
public class CarregadorServicos extends TimerTask {
/**
*
*/
private static final long serialVersionUID = 1L;
private ServicosInternos servicos = null;
private Timer timer;
public void run() {
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL, "localhost:1099");
env.put("java.naming.factory.url.pkgs",
"org.jboss.naming:org.jnp.interfaces");
try {
/*
* Carregamento do EJB
*/
System.out.println("[" + new Date() + "] Carregando EJB do servidor local");
Context ctx = new InitialContext(env);
Object obj = ctx.lookup("ServicosInternos");
ServicosInternosHome home =
(ServicosInternosHome)javax.rmi.PortableRemoteObject.narrow(
obj, ServicosInternosHome.class );
servicos = home.create();
/*
* Chamada dos métodos de negócio
*/
System.out.println("[" + new Date() + "] Executando serviços");
servicos.executarServicos();
/*
* Finalização da execução
*/
System.out.println("[" + new Date() + "] Finalizando execução");
servicos.remove();
} catch (NamingException e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
e.printStackTrace();
System.err.println("Encerrando operação");
} catch (CreateException e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
e.printStackTrace();
System.err.println("Encerrando operação");
} catch (RemoteException e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
e.printStackTrace();
System.err.println("Encerrando operação");
} catch (RemoveException e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
e.printStackTrace();
System.err.println("Encerrando operação");
}
}
public static void main(String[] args) {
CarregadorServicos carregador = new CarregadorServicos();
carregador.timer = new Timer();
carregador.timer.scheduleAtFixedRate(carregador, 1000, 300000);
while (true) {
try {
Thread.sleep(10000);
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
e.getCause();
}
}
}
}