logo       
Google Custom Search
    AddThis Social Bookmark Button

Chiba & clustering: msg#00007

Subject: Chiba & clustering
Hi Joern,

I'm starting to look into how the servlet adapter can be made
serializable so that chiba can be deployed into a clustering environment
and more importantly in Oracle Application Server.

Allow me to explain why this requirement has become very crucial to me.
In a clustering environment, all objects in a session must be made
serializable. 

In bea weblogic or apache tomcat, the container will only give warning
messages about the servlet adapter not being serializable but the whole
thing will still runs except perhaps the session failover part.

However, the container that I must now run is the Oracle application
server (the cheaper alternative in commercial app server). To make
matter worst, OAS implementation of session.setAttribute() requires the
object to be made serializable otherwise the implementation will throw a
serializable exception. Therefore, I simply just made ServletAdapter
implement Serializable. To my surprise, it passes and there is no
serializable exception. Perhaps, their implementation only checks if the
object is an instance of Serializable. However the data entered in the
form is simply lost after the next server round-trip. This would mean
that some data in ServletAdapter is not serializable.

Looking into ServletAdapter in details, one of major problems making it
serializable is the Container. In the Container, there are objects such
as JXPathContext which is not serializable. Making JXPathContext
transient may also break the logic. Plus there are a magnitude of
objects that are simply not serializable.

So my question is, isn't this a design flaw? Does everything need to be
kept in the session including the model item listeners, event factories,
processor, etc? Are we able to keep only the data entered by the user in
the session and reconstruct the entire model or run the data thru an
engine upon each request effectively?

In the meantime, the only avenue I had is to keep the servlet adapter in
application scope and only store a string id that will retrieve the
adapter into the session. So is this the only avenue I have? Your reply
is greatly appreciated. Many thanks in advance.

Regards,
Chin Ann


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl



Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>