Re: Session error while loading an object

2010-07-14 Thread Robert Taylor

Greetings,

I think that you might want to separate your functional concerns into 
different objects.


One common pattern in multi-level architectures is to have a model object 
like Customer
which would contain domain information for the Customer and a Service object 
like CustomerService
which would be a singleton (many times injected using some IoC container). 
CustomerService would
be used as a fascade to retrieve and persist Customer objects (or rather 
would delegate to a DAO layer to do the
actual retrieval and persistence). The DataSource is usually injected into 
the DAO layer using your IoC container.


Spring is a popular IoC container which is used to manage the middle tier 
(and web tier if you like).


By separating the layers, you could persist Customer to the session and 
collaborate with the CustomService object
and MessageResources when necessary in the web tier and avoid the 
NotSerializableExceptions you are running into
with the DataSource and MessageSources. These are often interfaces whose 
implementations are provided by some framework,
so it's unlikely you will be able to easily make them Serializable (they 
probably weren't meant to be anyways).



Keep in mind, there are many ways to implement multilevel architecture. You 
may want to do some research on
best practices. Spring and Rod Johnson are  good resources. You could also 
reference Martin Fowler.


Good luck.

/robert

- Original Message - 
From: "abhishek jain" 

To: "Struts Users Mailing List" 
Sent: Wednesday, July 14, 2010 5:15 AM
Subject: Re: Session error while loading an object


2010/7/14 Paweł Wielgus 


Hi all,
You get this error every time when tomcat tries to save someone's
session and object of class com.cart.Customer is in it.
Like Robert said, add Serializable to com.cart.Customer and the
problem will go away.

Best greetings,
Paweł Wielgus.



Hi,
I have added the Serializable to com.cart.Customer, but now i am getting the
following error, which i think is due to the reason that i am using
reference of Datasource and Message Resource in the class which i believe is
not serializable:

IOException while loading persisted sessions: java.io.WriteAbortedException:
writing aborted; java.io.NotSerializableException:
org.apache.commons.dbcp.BasicDataSourcejava.io.WriteAbortedException:
writing aborted; java.io.NotSerializableException:
org.apache.commons.dbcp.BasicDataSource
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
  at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
  at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
  at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)


.

Pl. advice

thanks
abhishek


-
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org



Re: Session error while loading an object

2010-07-14 Thread Ernesto Reinaldo Barreiro
Just the same problem: BasicDataSource is not serializable.

Ernesto

On Wed, Jul 14, 2010 at 11:15 AM, abhishek jain
 wrote:
> 2010/7/14 Paweł Wielgus 
>
>> Hi all,
>> You get this error every time when tomcat tries to save someone's
>> session and object of class com.cart.Customer is in it.
>> Like Robert said, add Serializable to com.cart.Customer and the
>> problem will go away.
>>
>> Best greetings,
>> Paweł Wielgus.
>>
>
> Hi,
> I have added the Serializable to com.cart.Customer, but now i am getting the
> following error, which i think is due to the reason that i am using
> reference of Datasource and Message Resource in the class which i believe is
> not serializable:
>
> IOException while loading persisted sessions: java.io.WriteAbortedException:
> writing aborted; java.io.NotSerializableException:
> org.apache.commons.dbcp.BasicDataSourcejava.io.WriteAbortedException:
> writing aborted; java.io.NotSerializableException:
> org.apache.commons.dbcp.BasicDataSource
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
>       at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
>       at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
>       at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>
>
> .
>
> Pl. advice
>
> thanks
> abhishek
>

-
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org



Re: Session error while loading an object

2010-07-14 Thread abhishek jain
2010/7/14 Paweł Wielgus 

> Hi all,
> You get this error every time when tomcat tries to save someone's
> session and object of class com.cart.Customer is in it.
> Like Robert said, add Serializable to com.cart.Customer and the
> problem will go away.
>
> Best greetings,
> Paweł Wielgus.
>

Hi,
I have added the Serializable to com.cart.Customer, but now i am getting the
following error, which i think is due to the reason that i am using
reference of Datasource and Message Resource in the class which i believe is
not serializable:

IOException while loading persisted sessions: java.io.WriteAbortedException:
writing aborted; java.io.NotSerializableException:
org.apache.commons.dbcp.BasicDataSourcejava.io.WriteAbortedException:
writing aborted; java.io.NotSerializableException:
org.apache.commons.dbcp.BasicDataSource
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
   at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
   at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
   at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)


.

Pl. advice

thanks
abhishek


Re: Session error while loading an object

2010-07-14 Thread Paweł Wielgus
Hi all,
You get this error every time when tomcat tries to save someone's
session and object of class com.cart.Customer is in it.
Like Robert said, add Serializable to com.cart.Customer and the
problem will go away.

Best greetings,
Paweł Wielgus.


2010/7/13 abhishek jain :
> Hi,
> thanks for the comments, i will check but i get this error only at times,
> and not always.
> Can this still be the cause of the problem.
> thanks
> abhishek
>
> On Tue, Jul 13, 2010 at 6:39 PM, Robert Taylor wrote:
>
>> Greetings,
>>
>> Does the Customer object implement Serializable interface?
>> If not, try modifying Customer to implement Serializable and see if the
>> error still persists.
>>
>> /robert
>> - Original Message - From: "abhishek jain" <
>> abhishek.netj...@gmail.com>
>> To: "Struts Users Mailing List" 
>> Sent: Tuesday, July 13, 2010 4:33 AM
>> Subject: Session error while loading an object
>>
>>
>>
>>  Hi friends,
>>> I am using tomcat 5.5 , struts 1.x and i encounter the following error:
>>> I actually store the object in session and retrieve that(for a shopping
>>> cart
>>> application), pl. advice what i can do to remove this error:
>>>
>>> Exception loading sessions from persistent
>>> storagejava.io.WriteAbortedException: writing aborted;
>>> java.io.NotSerializableException: com.cart.Customer
>>>      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
>>>      at
>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
>>>      at
>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
>>>      at
>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>>>      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>>>      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>>>      at
>>>
>>> org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1416)
>>>      at
>>>
>>> org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:940)
>>>      at
>>>
>>> org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394)
>>>      at
>>> org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
>>>      at
>>>
>>> org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
>>>      at
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4202)
>>>      at
>>> org.apache.catalina.core.StandardContext.reload(StandardContext.java:3056)
>>>      at
>>>
>>> org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
>>>      at
>>>
>>> org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
>>>      at
>>>
>>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
>>>      at
>>>
>>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
>>>      at
>>>
>>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
>>>      at
>>>
>>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
>>>      at java.lang.Thread.run(Thread.java:619)
>>> Caused by: java.io.NotSerializableException: com.cart.Customer
>>>      at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
>>>      at
>>>
>>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>>      at
>>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>>      at
>>>
>>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>>      at
>>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>>      at
>>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>>>      at
>>>
>>> org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1492)
>>>      at
>>>
>>> org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:957)
>>>      at
>>>
>>> org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
>>>      at
>>>
>>> org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
>>>      at
>>> org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
>>>      at
>>> org.apache.catalina.core.StandardContext.stop(StandardContext.java:4362)
>>>      at
>>> org.apache.catalina.core.StandardContext.reload(StandardContext.java:3050)
>>>      ... 7 more
>>>
>>>
>>>
>>>
>

-
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org



Re: Session error while loading an object

2010-07-13 Thread abhishek jain
Hi,
thanks for the comments, i will check but i get this error only at times,
and not always.
Can this still be the cause of the problem.
thanks
abhishek

On Tue, Jul 13, 2010 at 6:39 PM, Robert Taylor wrote:

> Greetings,
>
> Does the Customer object implement Serializable interface?
> If not, try modifying Customer to implement Serializable and see if the
> error still persists.
>
> /robert
> - Original Message - From: "abhishek jain" <
> abhishek.netj...@gmail.com>
> To: "Struts Users Mailing List" 
> Sent: Tuesday, July 13, 2010 4:33 AM
> Subject: Session error while loading an object
>
>
>
>  Hi friends,
>> I am using tomcat 5.5 , struts 1.x and i encounter the following error:
>> I actually store the object in session and retrieve that(for a shopping
>> cart
>> application), pl. advice what i can do to remove this error:
>>
>> Exception loading sessions from persistent
>> storagejava.io.WriteAbortedException: writing aborted;
>> java.io.NotSerializableException: com.cart.Customer
>>  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
>>  at
>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
>>  at
>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
>>  at
>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
>>  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>>  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>>  at
>>
>> org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1416)
>>  at
>>
>> org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:940)
>>  at
>>
>> org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394)
>>  at
>> org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
>>  at
>>
>> org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
>>  at
>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4202)
>>  at
>> org.apache.catalina.core.StandardContext.reload(StandardContext.java:3056)
>>  at
>>
>> org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
>>  at
>>
>> org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
>>  at
>>
>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
>>  at
>>
>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
>>  at
>>
>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
>>  at
>>
>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
>>  at java.lang.Thread.run(Thread.java:619)
>> Caused by: java.io.NotSerializableException: com.cart.Customer
>>  at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
>>  at
>>
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
>>  at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
>>  at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
>>  at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
>>  at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>>  at
>>
>> org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1492)
>>  at
>>
>> org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:957)
>>  at
>>
>> org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
>>  at
>>
>> org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
>>  at
>> org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
>>  at
>> org.apache.catalina.core.StandardContext.stop(StandardContext.java:4362)
>>  at
>> org.apache.catalina.core.StandardContext.reload(StandardContext.java:3050)
>>  ... 7 more
>>
>>
>>
>>


Re: Session error while loading an object

2010-07-13 Thread Robert Taylor

Greetings,

Does the Customer object implement Serializable interface?
If not, try modifying Customer to implement Serializable and see if the 
error still persists.


/robert
- Original Message - 
From: "abhishek jain" 

To: "Struts Users Mailing List" 
Sent: Tuesday, July 13, 2010 4:33 AM
Subject: Session error while loading an object



Hi friends,
I am using tomcat 5.5 , struts 1.x and i encounter the following error:
I actually store the object in session and retrieve that(for a shopping 
cart

application), pl. advice what i can do to remove this error:

Exception loading sessions from persistent
storagejava.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: com.cart.Customer
  at 
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)

  at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
  at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
  at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
  at 
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
  at
org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1416)
  at
org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:940)
  at
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394)
  at
org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
  at
org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
  at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4202)
  at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:3056)
  at
org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
  at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
  at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
  at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
  at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
  at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
  at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.NotSerializableException: com.cart.Customer
  at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
  at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
  at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
  at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
  at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
  at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
  at
org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1492)
  at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:957)
  at
org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
  at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
  at
org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
  at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4362)
  at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:3050)
  ... 7 more



--
Thanks and kind Regards,
Abhishek jain




-
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org



Session error while loading an object

2010-07-13 Thread abhishek jain
Hi friends,
I am using tomcat 5.5 , struts 1.x and i encounter the following error:
I actually store the object in session and retrieve that(for a shopping cart
application), pl. advice what i can do to remove this error:

Exception loading sessions from persistent
storagejava.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: com.cart.Customer
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
   at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
   at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
   at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
   at
org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1416)
   at
org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:940)
   at
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394)
   at
org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
   at
org.apache.catalina.session.StandardManager.start(StandardManager.java:637)
   at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4202)
   at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:3056)
   at
org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
   at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
   at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
   at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
   at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
   at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.NotSerializableException: com.cart.Customer
   at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
   at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
   at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
   at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
   at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
   at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
   at
org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1492)
   at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:957)
   at
org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
   at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
   at
org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
   at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4362)
   at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:3050)
   ... 7 more



-- 
Thanks and kind Regards,
Abhishek jain