Hi,
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
created"
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
InitialContext().lookup("UserTransaction");
uTrans.begin();
// Create the action... which will create the interest cache on first
call
interestAction = new UpdateInterestAction(memberContext, interest,
value);
uTrans.commit();
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.
http://www.jboss.org/forums/thread.jsp?forum=46&thread=20507&message=3738688
#3738688
I am using JBoss 3.0.2 (and 3.0.3), on Win 2K, accessing Postgres 7.1.3
Many thanks,
Tim
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>