[jboss-user] [EJB 3.0] - java.io.InvalidClassException error
dufloth
do-not-reply at jboss.com
Mon Feb 18 08:32:39 EST 2008
Hi. I'm getting java.io.InvalidClassException in a class that is implementing Serializable and even creating serialUUID, the error remains. But if I deploy same project to Glassfish, all works fine. I'm using NetBeans and Hibernate as persistence. Below, the error log and my Expression and EqualsExpression class:
public abstract class Expression implements java.io.Serializable {
public abstract String phrase();
public static Expression or(Expression left, Expression right) {
return new OrExpression(left, right);
}
public static Expression and(Expression left, Expression right) {
return new AndExpression(left, right);
}
public static Expression between(String property, Object initialValue, Object finalValue) {
return new BetweenExpression(property, initialValue, finalValue);
}
public static Expression notBetween(String property, Object initialValue, Object finalValue) {
return new NotBetweenExpression(property, initialValue, finalValue);
}
public static Expression eq(String property, Object value) {
return new EqualsExpression(property, value);
}
public static Expression ne(String property, Object value) {
return new NotEqualsExpression(property, value);
}
public static Expression ge(String property, Object value) {
return new GreaterOrEqualThanExpression(property, value);
}
public static Expression gt(String property, Object value) {
return new GreaterThanExpression(property, value);
}
public static Expression in(String property, List values) {
return new InExpression(property, values);
}
public static Expression notIn(String property, List values) {
return new NotInExpression(property, values);
}
public static Expression le(String property, Object value) {
return new LessOrEqualThanExpression(property, value);
}
public static Expression lt(String property, Object value) {
return new LessThanExpression(property, value);
}
public static Expression startingWith(String property, String value) {
return new LikeExpression(property, value.concat("%"));
}
public static Expression containing(String property, String value) {
return new LikeExpression(property, "%".concat(value).concat("%"));
}
public static Expression endingWith(String property, String value) {
return new LikeExpression(property, "%".concat(value));
}
}
public class EqualsExpression extends Expression {
private String property;
private Object value;
public EqualsExpression(String property, Object value) {
this.property = property;
this.value = value;
}
public String phrase() {
String v;
if (value instanceof String)
v = "'".concat(value.toString()).concat("'");
else
v = value.toString();
String s = "(".concat(property).concat(" = ").concat(v).concat(")");
return s;
}
}
JBoss Error log:
java.io.InvalidClassException: cyber.expression.EqualsExpression; cyber.expression.EqualsExpression; class invalid for deserialization
java.lang.RuntimeException: java.io.InvalidClassException: cyber.expression.EqualsExpression; cyber.expression.EqualsExpression; class invalid for deserialization
at org.jboss.aop.joinpoint.MethodInvocation.getArguments(MethodInvocation.java:272)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:299)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:373)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
Caused by: java.io.InvalidClassException: cyber.expression.EqualsExpression; cyber.expression.EqualsExpression; class invalid for deserialization
at java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:713)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1733)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.rmi.MarshalledObject.get(MarshalledObject.java:142)
at org.jboss.aop.joinpoint.MethodInvocation.getArguments(MethodInvocation.java:267)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:299)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:373)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
at org.jboss.remoting.Client.invoke(Client.java:1634)
at org.jboss.remoting.Client.invoke(Client.java:548)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
at $Proxy0.getCities(Unknown Source)
at cyber.wms.ejb.CommonBeanTest.testGetCities(CommonBeanTest.java:90)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
at $Proxy0.getCities(Unknown Source)
at cyber.wms.ejb.CommonBeanTest.testGetCities(CommonBeanTest.java:90)
Caused by: java.io.InvalidClassException: cyber.expression.EqualsExpression; class invalid for deserialization
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:587)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.rmi.MarshalledObject.get(MarshalledObject.java:142)
at org.jboss.aop.joinpoint.MethodInvocation.getArguments(MethodInvocation.java:267)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:299)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:769)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:373)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4130109#4130109
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4130109
More information about the jboss-user
mailing list