Sounds good, is there a way to programmatically set my own DataSourceFactory 
before initializing cayenne?
Or is the only way to set it during a reset process.

HPI

On 3/21/11 1:31 PM, Andrus Adamchik wrote:
Yeah, Cayenne DataNode obtains DataSource once and stores it for future use. 
Not sure if a better long-term strategy would be to do JNDI lookups every time 
? (maybe not), but for now you may either (1) write your own factory that 
creates a simple DataSource wrapper that grabs a fresh DS via JNDI every time a 
connection is requested, or (2) call DataNode.setDataSource(..) during your 
environment reset process.

Andrus


On Mar 21, 2011, at 2:12 PM, Hans Pikkemaat wrote:
Hi,

I have a unit test where I use jndi to determine my connection parameters.

When I run one unit test which uses a specific jndi setup and it calls cayenne 
then
all works fine (i use org.apache.cayenne.conf.JNDIDataSourceFactory)

I then clear my jndi container and repopulate it with different connection 
details
(different database).

Running cayenne again still uses the earlier connection. Recreating a data 
context
doesn't seem to help. I also tried 
Configuration.getSharedConfiguration().shutdown()
but this also doesn't help.

Maybe the connections are re-used? If so, is there a way to clear those?

In general, is there a way to reset cayenne in such a way that my above unit 
testing will work?

tx

Hans



Reply via email to