Java.io.NotSerializableException

Bom dia a todos.

Estou instalando uma aplicação aqui da empresa e na hora de subir o JBOSS eu encontro esse erro:

2013-02-08 09:44:12,625 (main) ERROR [org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin] Cannot serialize: empresa.altaia.collector.manager.SchedulerBean$ScheduleInfo@23bda414
java.io.NotSerializableException: pt.ptinovacao.altaia.collector.manager.Dispatcher
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
        at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.serialize(GeneralPurposeDatabasePersistencePlugin.java:412)
        at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.insertTimer(GeneralPurposeDatabasePersistencePlugin.java:223)
        at org.jboss.ejb.txtimer.DatabasePersistencePolicy.insertTimer(DatabasePersistencePolicy.java:120)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy421.insertTimer(Unknown Source)
        at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:257)

Como só recebi o pacote de instalação (que estava incompleto aliás, tive que ir colocando alguns plugins e arquivos .jar aos poucos, de acordo com os erros) não conheço o erro e nem tem como eu debugar isso nesse ambiente.

O servidor que estou instalando é um Red Hat 5.8 e o JBOSS é o 5.1.0-GA, será que alguém já passou por isso e pode me ajudar ?

Att,

Felipe Almeida

será que faltou alguma classe implementar a interface Serializable?

Fala Felipe,

Então cara, se for isso é erro de código não é ?

Eu só tenho o pacote de instalação disso, não tenho acesso aos códigos por enquanto.

vlw

Seria erro de código sim. Implementar Serializable indica que objetos daquela classe podem ser transformados em string para “viajar” entre máquinas diferentes. Essa aplicação já funcionou em algum ambiente?

a interface Serializable não é para transformar o objeto em String… e sim em transformar o objeto em bytes para ser transmitido pela rede(tcp/ip) de forma segura e garantir a integridade do que vc esta enviando… o Jboss reclama desse erro pois ele precisa serializar o objeto em questao, logo se vc implementar o Serializable ira funcionar!

Isso mesmo, transformar em bytes. Desculpe o deslize :wink:

Olá pessoal, obrigado pela ajuda até aqui.

A aplicação funciona sim em outro lugar. Porém não estou com acesso ao código no momento, vou conversar com os desenvolvedores no momento para ver o que pode estar ocorrendo, só vou começar a desenvolver nessa ferramenta a partir da versão que estou instalando, por isso ando muito perdido nessa fase.

Obrigado,

Felipe Almeida