You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cactus-user@jakarta.apache.org by Tim McAuley <mc...@tcd.ie> on 2002/10/09 13:25:22 UTC
Controlling transactions during unit tests
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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
RE: Controlling transactions during unit tests
Posted by Nicholas Lesiecki <ni...@eblox.com>.
How doesn't the included code help?--It's almost exactly what I would have
suggested. Does it still report the same error?
Cheers,
Nick
> -----Original Message-----
> From: Tim McAuley [mailto:mcauleyt@tcd.ie]
> Sent: Wednesday, October 09, 2002 4:25 AM
> To: cactus-user@jakarta.apache.org
> Subject: Controlling transactions during unit tests
>
>
> 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&messa
ge=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:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>