Can't deserialize Weld proxy to SLSB
fuzzy333 Apr 12, 2012 2:32 PMUsing JBoss 7.1.1, Weld 1.1.5, I'm getting java.lang.ClassNotFoundException: org.jboss.msc.service.ServiceName from [Module "deployment.wicket-ex1.war:main" from Service Module Loader] when deserializing references to SLSB injected by Weld.
I've created a simple test to illustrate:
{code}@Stateless
public class FooStateless {
}
@Singleton
@Startup
public class StartupSingleton {
@Inject
private FooStateless foo;
@PostConstruct
public void postConstruct() {
deserialize( serialize( foo ) );
}
public byte[] serialize(Object object) {
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(object);
oos.flush();
oos.close();
return out.toByteArray();
} catch( Exception e ) {
throw new RuntimeException( e );
}
}
public Object deserialize(byte[] data) {
try {
ByteArrayInputStream in = new ByteArrayInputStream(data);
ObjectInputStream ois = new ObjectInputStream(in);
return ois.readObject();
} catch (Exception e) {
throw new RuntimeException( e );
}
}
}{code}
The full stacktrace is attached. In reality this is causing me trouble in a Wicket application where SLSB are injected into Pages, but the problem is the same.
-
stackTrace.txt.zip 1.4 KB