Problem with Wicket, Spring and HotswapAgent

45 views
Skip to first unread message

Björn Mehner

unread,
Mar 26, 2018, 5:02:56 AM3/26/18
to HotswapAgent
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)



Reply all
Reply to author
Forward
0 new messages