Hello, Fellow-HotswapAgent-Users,
I have a problem using HotswapAgent in combination with Wicket and Spring. I searched the bug database and the forums, but did not found anything which seemed related to my problem. I apologize if this is turns out to be a well-known problem.
My application has Wicket-Pages which get Spring-Beans injected via the Spring integration mechanism of Wicket:
public class SomePage extends GenericWebPage {
@SpringBean
private Service someService;
public SomePage() {
super();
}
}
When I activate HotswapAgent I get NotSerializableExceptions (details see below). Wicket needs to serialize the pages to its internal page store. Apparently the injected Spring service causes the trouble.
Is there any possibility to get this working? Can I turn off the Spring plugin, although I very much would prefer to keep it? What can I do to better diagnose this?
Thanks in advance.
regards Björn
2018-03-26 09:30:37.965 WARN [http-listener-1(2)] o.a.w.c.u.o.c.CheckingObjectOutputStream - error delegating to writeObject : HotswapSpringCallback_1796692748, path: /children/[7]/children/[1]/children/[0]/children/[4]/children/children/children/[0]/val$choice/provider/val$classes
2018-03-26 09:30:37.969 ERROR [http-listener-1(2)] o.a.w.serialize.java.JavaSerializer - Error serializing object class com.ccc.yap.presentation.frontend.ui.core.TicketErrorPage [object=[Page class = com.ccc.yap.presentation.frontend.ui.core.TicketErrorPage, id = 20, render count = 1]]
java.io.NotSerializableException: HotswapSpringCallback_1796692748
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at java.util.ArrayList.writeObject(ArrayList.java:766)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1128)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)