J2EEConnectionPool serialization issue

Hi,

I am using SQLContainer in my application. When I try to redeploy my application I have exception

java.io.NotSerializableException: org.apache.tomcat.dbcp.dbcp2.BasicDataSource
    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.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.defaultWriteFields(ObjectOutputStream.java:1548)
    at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:441)
    at com.vaadin.data.util.sqlcontainer.SQLContainer.writeObject(SQLContainer.java:1987)
....

After researching, I found that the reason for that exception is that J2EEConnectionPool class implements Serialization interface, but has

non transient

DataSource field.

SQLContainer has FreeFormQuery instance as “delegate” field, and FreeFormQuery has J2EEConnectionPool instance as
“connectionPool” field.

Thanks,
Dmitry