Java 有没有办法避免JBoss5中的jboss序列化?

Java 有没有办法避免JBoss5中的jboss序列化?,java,serialization,jboss,jboss5.x,Java,Serialization,Jboss,Jboss5.x,我有两个应用程序在JBoss5中运行 他们互相发送数据。我在一个Serializable类中添加了一个字段,而没有更改serialVersionUID。根据,该类仍然向后兼容 我面临的问题是,每当我试图通过EJB调用从一个应用程序向另一个应用程序发送IOException时,JBoss就会抛出IOException: java.io.IOException: Current classpath has lesser fields on com.myproject.MyEntity than it

我有两个应用程序在JBoss5中运行

他们互相发送数据。我在一个
Serializable
类中添加了一个字段,而没有更改
serialVersionUID
。根据,该类仍然向后兼容

我面临的问题是,每当我试图通过EJB调用从一个应用程序向另一个应用程序发送IOException时,JBoss就会抛出IOException:

java.io.IOException: Current classpath has lesser fields on com.myproject.MyEntity than its original version
    org.jboss.serial.classmetamodel.StreamingClass.readStream(StreamingClass.java:98)
    org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:381)
    org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
    org.jboss.serial.objectmetamodel.DataContainer$DataContainerInput.readObject(DataContainer.java:845)
    org.jboss.serial.io.MarshalledObjectForLocalCalls.get(MarshalledObjectForLocalCalls.java:60)
    org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:101)
    org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
    org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
    org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
    com.sun.proxy.$Proxy881.invoke(Unknown Source)
    org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)
    org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)
    com.sun.proxy.$Proxy1063.getAlertScheduleForTrip(Unknown Source)
    com.myclient.ejb.MyEntityLoadingBean.loadMyEntities(MyEntityLoadingBean.java:256)
    ...
有没有办法告诉JBoss不要使用它的序列化模块,而是使用标准的Java序列化?这个bug似乎是众所周知的,在JBoss JIRA中已经存在了几年了:


我尝试过用
-Dserialization.JBoss=false启动JBoss,但没有成功(我认为这可能只适用于JBoss缓存)。

这条消息听起来好像客户端的lib没有更新……lib更新得足够多。它们并不完全相同,但根据Java序列化规则(如问题中所述),它们是向后兼容的。问题是jboss序列化被破坏了。因此,问题是:如何避免使用损坏的JBoss序列化?