jakarta-cactus-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim McAuley" <mcaul...@tcd.ie>
Subject Controlling transactions during unit tests
Date Wed, 09 Oct 2002 11:25:22 GMT

I am having a trouble with transactions during one of my unit tests, using
JBoss 3. Someone
might be able to help.

I have some code to update a member's interest in a topic. This will
retrieve the list of current interests, store them in a cache (separate
collection) and update the specified interest when asked to do so (both in
the cache and to the db currently).

DB Layout:     Member 1 - N MemberInterest N - 1 Interest

This call will be made through a session bean under normal operation but for
the moment I would like to test it separately (using Cactus).

Currently I get an exception, with the message:
"A CMR collection may only be used within the transaction in which it was

This happens when I want to load the list of member interests into a cache.
This is done by retrieving the cmr collection and then iterating through it
to create a separate collection in cache.

How can I get this to run within the same transaction using cactus, like it
would under normal operation using a session bean (I presume)?

I have tried this code (within the unit test) but it does not seem to help:
    uTrans = (UserTransaction)new
    // Create the action... which will create the interest cache on first
    interestAction = new UpdateInterestAction(memberContext, interest,

This is the only reference I could find on the web to a similar problem...
and suggesting to make sure to run everything within a usertransaction.

I am using JBoss 3.0.2 (and 3.0.3), on Win 2K, accessing Postgres 7.1.3

Many thanks,


To unsubscribe, e-mail:   <mailto:cactus-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:cactus-user-help@jakarta.apache.org>

View raw message