struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Graham" <>
Subject Re: accessing DataSource, webapp design question
Date Wed, 22 Jan 2003 18:43:18 GMT
The value objects shouldn't know about the ServletContext so you'll need to 
use JNDI.  JNDI doesn't tie your objects to any particular environment.

My value objects don't know about the database at all.  Each VO has a Mapper 
(or DAO) associated with it.  I configure my mappers with the DataSource so 
they can persist the objects.  This removes all persistence code from the 
VOs and allows pluggable persistence layers.  I'm using JDBC now but could 
move to EJB, OJB, JDO, etc very easily.


>From: Charlie Toohey <>
>Reply-To: "Struts Users Mailing List" <>
>Subject: accessing DataSource, webapp design question
>Date: Wed, 22 Jan 2003 10:31:23 -0800
>This is more of a design question. I am using Struts and Tomcat, and have 
>up a JNDI ref-resource to acquire a DataSource for my database, which works
>fine.  All of my value objects use the same database.
>The question is how to give each value object access to this DataSource.
>One option would be to lookup the JNDI contexts once, at application init,
>and store the DataSource as an application scope attribute. Then whenever a
>value object needs to do database work, they access this DataSource and do 
>getConnection() / conn.close().
>Another option would be to have each value object do the JNDI lookups (say,
>in their constructors) and store the DataSource reference in a private 
>--- then anytime they need to do database work, they use the private field
>DataSource and do a getConnection() / conn.close()
>Is there any difference/advantage/disadvantage in having all value objects
>using the same DataSource reference, stored at application scope, vs. all
>value objects having their own reference to the DataSource ?
>Or another approach which is superior to these options ?
>To unsubscribe, e-mail:   
>For additional commands, e-mail: 

The new MSN 8: advanced junk mail protection and 2 months FREE*

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message