Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.3.0, 2.3.1, 2.3.2, 2.3.3
-
None
-
None
-
OS: Windows and Linux
Ibatis 2.3.0 - 2.3.3 / Spring 2.5-2.5.5
lazyLoadingEnabled=true and enhancementEnabled=true
Application clustered on Tomcat 6.0.x
Description
After configuring the application to run in a Tomcat Cluster, we started receiving this error once replication took place:
java.io.NotSerializableException: com.ibatis.sqlmap.engine.mapping.result.loader.LazyResultLoader
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
As a workaround we have set lazyLoadingEnabled=false and enhancementEnabled=false on sql-map-config.xml, but the response times for a simple query has passed from 172ms. to 4222ms. which is a big difference on performance.
In order to enable web applications running iBatis to scale out on a cluster and to show improved performance (keep lazy loading enabled) it will be good to have a fix for this situation.