blob: eef31f28d21d9d4c9eb26ab393515ccee70688dd [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>TransactionScoped</title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TransactionScoped";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../jakarta/transaction/TransactionRolledbackException.html" title="class in jakarta.transaction"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/transaction/TransactionSynchronizationRegistry.html" title="interface in jakarta.transaction"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/transaction/TransactionScoped.html" target="_top">Frames</a></li>
<li><a href="TransactionScoped.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li>Optional</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Element</li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.transaction</div>
<h2 title="Annotation Type TransactionScoped" class="title">Annotation Type TransactionScoped</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Retention(value=RUNTIME)
@Target(value={TYPE,METHOD,FIELD})
public @interface <span class="memberNameLabel">TransactionScoped</span></pre>
<div class="block"><p>The jakarta.transaction.TransactionScoped annotation provides the ability to
specify a standard CDI scope to define bean instances whose lifecycle is
scoped to the currently active Jakarta Transactions transaction. This annotation has no effect
on classes which have non-contextual references such those defined as managed
beans by the Jakarta EE specification.</p>
The transaction scope is active when the return from a call to
<code>UserTransaction.getStatus</code> or
<code>TransactionManager.getStatus</code>
is one of the following states:
<ul>
<li>Status.STATUS_ACTIVE
<li>Status.STATUS_MARKED_ROLLBACK
<li>Status.STATUS_PREPARED
<li>Status.STATUS_UNKNOWN
<li>Status.STATUS_PREPARING
<li>Status.STATUS_COMMITTING
<li>Status.STATUS_ROLLING_BACK
</ul>
<p>It is not intended that the term "active" as defined here in relation to the
TransactionScoped annotation should also apply to its use in relation to
transaction context, lifecycle, etc. mentioned elsewhere in this
specification. The object with this annotation will be associated with the
current active Jakarta Transactions transaction when the object is used. This association must
be retained through any transaction suspend or resume calls as well as any
<code>Synchronization.beforeCompletion</code> callbacks. Any
<code>Synchronization.afterCompletion</code> methods will be invoked in an undefined
context. The way in which the Jakarta Transactions transaction is begun and completed
(for example via UserTransaction, Transactional interceptor, etc.) is of no consequence.
The contextual references used across different Jakarta Transactions transactions are distinct.
Refer to the CDI specification for more details on contextual references.
A <code>jakarta.enterprise.context.ContextNotActiveException</code>
will be thrown if an object with this annotation is used when the
transaction context is not active.</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JTA 1.2</dd>
</dl>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../jakarta/transaction/TransactionRolledbackException.html" title="class in jakarta.transaction"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/transaction/TransactionSynchronizationRegistry.html" title="interface in jakarta.transaction"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/transaction/TransactionScoped.html" target="_top">Frames</a></li>
<li><a href="TransactionScoped.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li>Optional</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Element</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>