<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ActiveMQServerMessagePlugin (ActiveMQ Artemis Website 2.33.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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="ActiveMQServerMessagePlugin (ActiveMQ Artemis Website 2.33.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":50,"i1":18,"i2":18,"i3":18,"i4":50,"i5":50,"i6":18,"i7":18,"i8":18,"i9":50,"i10":18,"i11":50,"i12":50,"i13":18,"i14":50,"i15":18,"i16":18,"i17":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ActiveMQServerMessagePlugin.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.activemq.artemis.core.server.plugin</a></div>
<h2 title="Interface ActiveMQServerMessagePlugin" class="title">Interface ActiveMQServerMessagePlugin</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="ActiveMQServerBasePlugin.html" title="interface in org.apache.activemq.artemis.core.server.plugin">ActiveMQServerBasePlugin</a></code></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="ActiveMQServerPlugin.html" title="interface in org.apache.activemq.artemis.core.server.plugin">ActiveMQServerPlugin</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ActiveMQServerMessagePlugin</span>
extends <a href="ActiveMQServerBasePlugin.html" title="interface in org.apache.activemq.artemis.core.server.plugin">ActiveMQServerBasePlugin</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterDeliver(org.apache.activemq.artemis.core.server.MessageReference)">afterDeliver</a></span>&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#afterDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)"><code>afterDeliver(ServerConsumer, MessageReference)</code></a></div>
</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)">afterDeliver</a></span>&#8203;(org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer,
            org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)</code></th>
<td class="colLast">
<div class="block">After a message is delivered to a client consumer</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterMessageRoute(org.apache.activemq.artemis.api.core.Message,org.apache.activemq.artemis.core.server.RoutingContext,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)">afterMessageRoute</a></span>&#8203;(<a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                 org.apache.activemq.artemis.core.server.RoutingContext&nbsp;context,
                 boolean&nbsp;direct,
                 boolean&nbsp;rejectDuplicates,
                 org.apache.activemq.artemis.core.postoffice.RoutingStatus&nbsp;result)</code></th>
<td class="colLast">
<div class="block">After a message is routed</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)">afterSend</a></span>&#8203;(org.apache.activemq.artemis.core.server.ServerSession&nbsp;session,
         org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
         <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
         boolean&nbsp;direct,
         boolean&nbsp;noAutoCreateQueue,
         org.apache.activemq.artemis.core.postoffice.RoutingStatus&nbsp;result)</code></th>
<td class="colLast">
<div class="block">After a message is sent</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterSend(org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)">afterSend</a></span>&#8203;(org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
         <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
         boolean&nbsp;direct,
         boolean&nbsp;noAutoCreateQueue,
         org.apache.activemq.artemis.core.postoffice.RoutingStatus&nbsp;result)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#afterSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)"><code>afterSend(ServerSession, Transaction, Message, boolean, boolean, RoutingStatus)</code></a></div>
</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#beforeDeliver(org.apache.activemq.artemis.core.server.MessageReference)">beforeDeliver</a></span>&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use throws ActiveMQException <a href="#beforeDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)"><code>beforeDeliver(ServerConsumer, MessageReference)</code></a></div>
</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#beforeDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)">beforeDeliver</a></span>&#8203;(org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer,
             org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)</code></th>
<td class="colLast">
<div class="block">Before a message is delivered to a client consumer</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#beforeMessageRoute(org.apache.activemq.artemis.api.core.Message,org.apache.activemq.artemis.core.server.RoutingContext,boolean,boolean)">beforeMessageRoute</a></span>&#8203;(<a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                  org.apache.activemq.artemis.core.server.RoutingContext&nbsp;context,
                  boolean&nbsp;direct,
                  boolean&nbsp;rejectDuplicates)</code></th>
<td class="colLast">
<div class="block">Before a message is routed</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#beforeSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean)">beforeSend</a></span>&#8203;(org.apache.activemq.artemis.core.server.ServerSession&nbsp;session,
          org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
          <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
          boolean&nbsp;direct,
          boolean&nbsp;noAutoCreateQueue)</code></th>
<td class="colLast">
<div class="block">Before a message is sent</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#beforeSend(org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean)">beforeSend</a></span>&#8203;(org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
          <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
          boolean&nbsp;direct,
          boolean&nbsp;noAutoCreateQueue)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#beforeSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean)"><code>beforeSend(ServerSession, Transaction, Message, boolean, boolean)</code></a></div>
</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#canAccept(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)">canAccept</a></span>&#8203;(org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer,
         org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)</code></th>
<td class="colLast">
<div class="block">Before a message is delivered to a client consumer</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#messageAcknowledged(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason)">messageAcknowledged</a></span>&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;ref,
                   org.apache.activemq.artemis.core.server.impl.AckReason&nbsp;reason)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#messageAcknowledged(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason,org.apache.activemq.artemis.core.server.ServerConsumer)"><code>messageAcknowledged(MessageReference, AckReason, ServerConsumer)</code></a></div>
</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#messageAcknowledged(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason,org.apache.activemq.artemis.core.server.ServerConsumer)">messageAcknowledged</a></span>&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;ref,
                   org.apache.activemq.artemis.core.server.impl.AckReason&nbsp;reason,
                   org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#messageAcknowledged(org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason,org.apache.activemq.artemis.core.server.ServerConsumer)">messageAcknowledged</a></span>&#8203;(org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
                   org.apache.activemq.artemis.core.server.MessageReference&nbsp;ref,
                   org.apache.activemq.artemis.core.server.impl.AckReason&nbsp;reason,
                   org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer)</code></th>
<td class="colLast">
<div class="block">A message has been acknowledged</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#messageExpired(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.api.core.SimpleString)">messageExpired</a></span>&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;message,
              <a href="../../../api/core/SimpleString.html" title="class in org.apache.activemq.artemis.api.core">SimpleString</a>&nbsp;messageExpiryAddress)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#messageExpired(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.api.core.SimpleString,org.apache.activemq.artemis.core.server.ServerConsumer)"><code>messageExpired(MessageReference, SimpleString, ServerConsumer)</code></a></div>
</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#messageExpired(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.api.core.SimpleString,org.apache.activemq.artemis.core.server.ServerConsumer)">messageExpired</a></span>&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;message,
              <a href="../../../api/core/SimpleString.html" title="class in org.apache.activemq.artemis.api.core">SimpleString</a>&nbsp;messageExpiryAddress,
              org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer)</code></th>
<td class="colLast">
<div class="block">A message has been expired</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onMessageRouteException(org.apache.activemq.artemis.api.core.Message,org.apache.activemq.artemis.core.server.RoutingContext,boolean,boolean,java.lang.Exception)">onMessageRouteException</a></span>&#8203;(<a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                       org.apache.activemq.artemis.core.server.RoutingContext&nbsp;context,
                       boolean&nbsp;direct,
                       boolean&nbsp;rejectDuplicates,
                       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block">When there was an error routing the message</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onSendException(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,java.lang.Exception)">onSendException</a></span>&#8203;(org.apache.activemq.artemis.core.server.ServerSession&nbsp;session,
               org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
               <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
               boolean&nbsp;direct,
               boolean&nbsp;noAutoCreateQueue,
               <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a>&nbsp;e)</code></th>
<td class="colLast">
<div class="block">When there was an exception sending the message</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.activemq.artemis.core.server.plugin.ActiveMQServerBasePlugin">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.activemq.artemis.core.server.plugin.<a href="ActiveMQServerBasePlugin.html" title="interface in org.apache.activemq.artemis.core.server.plugin">ActiveMQServerBasePlugin</a></h3>
<code><a href="ActiveMQServerBasePlugin.html#init(java.util.Map)">init</a>, <a href="ActiveMQServerBasePlugin.html#registered(org.apache.activemq.artemis.core.server.ActiveMQServer)">registered</a>, <a href="ActiveMQServerBasePlugin.html#setInit(java.util.Map)">setInit</a>, <a href="ActiveMQServerBasePlugin.html#unregistered(org.apache.activemq.artemis.core.server.ActiveMQServer)">unregistered</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="beforeSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeSend</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;beforeSend&#8203;(org.apache.activemq.artemis.core.server.ServerSession&nbsp;session,
                        org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
                        <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                        boolean&nbsp;direct,
                        boolean&nbsp;noAutoCreateQueue)
                 throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">Before a message is sent</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session that sends the message</dd>
<dd><code>tx</code> - </dd>
<dd><code>message</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>noAutoCreateQueue</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="afterSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterSend</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;afterSend&#8203;(org.apache.activemq.artemis.core.server.ServerSession&nbsp;session,
                       org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
                       <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                       boolean&nbsp;direct,
                       boolean&nbsp;noAutoCreateQueue,
                       org.apache.activemq.artemis.core.postoffice.RoutingStatus&nbsp;result)
                throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">After a message is sent</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session that sends the message</dd>
<dd><code>tx</code> - </dd>
<dd><code>message</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>noAutoCreateQueue</code> - </dd>
<dd><code>result</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="onSendException(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,java.lang.Exception)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onSendException</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onSendException&#8203;(org.apache.activemq.artemis.core.server.ServerSession&nbsp;session,
                             org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
                             <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                             boolean&nbsp;direct,
                             boolean&nbsp;noAutoCreateQueue,
                             <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a>&nbsp;e)
                      throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">When there was an exception sending the message</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - </dd>
<dd><code>tx</code> - </dd>
<dd><code>message</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>noAutoCreateQueue</code> - </dd>
<dd><code>e</code> - the exception that occurred when sending the message</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="beforeSend(org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeSend</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;void&nbsp;beforeSend&#8203;(org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
                        <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                        boolean&nbsp;direct,
                        boolean&nbsp;noAutoCreateQueue)
                 throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#beforeSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean)"><code>beforeSend(ServerSession, Transaction, Message, boolean, boolean)</code></a></div>
</div>
<div class="block">Before a message is sent</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tx</code> - </dd>
<dd><code>message</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>noAutoCreateQueue</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="afterSend(org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterSend</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;void&nbsp;afterSend&#8203;(org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
                       <a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                       boolean&nbsp;direct,
                       boolean&nbsp;noAutoCreateQueue,
                       org.apache.activemq.artemis.core.postoffice.RoutingStatus&nbsp;result)
                throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#afterSend(org.apache.activemq.artemis.core.server.ServerSession,org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.api.core.Message,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)"><code>afterSend(ServerSession, Transaction, Message, boolean, boolean, RoutingStatus)</code></a></div>
</div>
<div class="block">After a message is sent</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tx</code> - </dd>
<dd><code>message</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>noAutoCreateQueue</code> - </dd>
<dd><code>result</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="beforeMessageRoute(org.apache.activemq.artemis.api.core.Message,org.apache.activemq.artemis.core.server.RoutingContext,boolean,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeMessageRoute</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;beforeMessageRoute&#8203;(<a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                                org.apache.activemq.artemis.core.server.RoutingContext&nbsp;context,
                                boolean&nbsp;direct,
                                boolean&nbsp;rejectDuplicates)
                         throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">Before a message is routed</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - </dd>
<dd><code>context</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>rejectDuplicates</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="afterMessageRoute(org.apache.activemq.artemis.api.core.Message,org.apache.activemq.artemis.core.server.RoutingContext,boolean,boolean,org.apache.activemq.artemis.core.postoffice.RoutingStatus)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterMessageRoute</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;afterMessageRoute&#8203;(<a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                               org.apache.activemq.artemis.core.server.RoutingContext&nbsp;context,
                               boolean&nbsp;direct,
                               boolean&nbsp;rejectDuplicates,
                               org.apache.activemq.artemis.core.postoffice.RoutingStatus&nbsp;result)
                        throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">After a message is routed</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - </dd>
<dd><code>context</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>rejectDuplicates</code> - </dd>
<dd><code>result</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="onMessageRouteException(org.apache.activemq.artemis.api.core.Message,org.apache.activemq.artemis.core.server.RoutingContext,boolean,boolean,java.lang.Exception)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onMessageRouteException</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;onMessageRouteException&#8203;(<a href="../../../api/core/Message.html" title="interface in org.apache.activemq.artemis.api.core">Message</a>&nbsp;message,
                                     org.apache.activemq.artemis.core.server.RoutingContext&nbsp;context,
                                     boolean&nbsp;direct,
                                     boolean&nbsp;rejectDuplicates,
                                     <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a>&nbsp;e)
                              throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">When there was an error routing the message</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - </dd>
<dd><code>context</code> - </dd>
<dd><code>direct</code> - </dd>
<dd><code>rejectDuplicates</code> - </dd>
<dd><code>e</code> - the exception that occurred during message routing</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="canAccept(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canAccept</h4>
<pre class="methodSignature">default&nbsp;boolean&nbsp;canAccept&#8203;(org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer,
                          org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)
                   throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">Before a message is delivered to a client consumer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - the consumer the message will be delivered to</dd>
<dd><code>reference</code> - message reference</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="beforeDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeDeliver</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;beforeDeliver&#8203;(org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer,
                           org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)
                    throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">Before a message is delivered to a client consumer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - the consumer the message will be delivered to</dd>
<dd><code>reference</code> - message reference</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="afterDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterDeliver</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;afterDeliver&#8203;(org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer,
                          org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)
                   throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">After a message is delivered to a client consumer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - the consumer the message was delivered to</dd>
<dd><code>reference</code> - message reference</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="beforeDeliver(org.apache.activemq.artemis.core.server.MessageReference)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeDeliver</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;void&nbsp;beforeDeliver&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)
                    throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use throws ActiveMQException <a href="#beforeDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)"><code>beforeDeliver(ServerConsumer, MessageReference)</code></a></div>
</div>
<div class="block">Before a message is delivered to a client consumer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="afterDeliver(org.apache.activemq.artemis.core.server.MessageReference)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterDeliver</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;void&nbsp;afterDeliver&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;reference)
                   throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#afterDeliver(org.apache.activemq.artemis.core.server.ServerConsumer,org.apache.activemq.artemis.core.server.MessageReference)"><code>afterDeliver(ServerConsumer, MessageReference)</code></a></div>
</div>
<div class="block">After a message is delivered to a client consumer</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reference</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="messageExpired(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.api.core.SimpleString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageExpired</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;void&nbsp;messageExpired&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;message,
                            <a href="../../../api/core/SimpleString.html" title="class in org.apache.activemq.artemis.api.core">SimpleString</a>&nbsp;messageExpiryAddress)
                     throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#messageExpired(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.api.core.SimpleString,org.apache.activemq.artemis.core.server.ServerConsumer)"><code>messageExpired(MessageReference, SimpleString, ServerConsumer)</code></a></div>
</div>
<div class="block">A message has been expired</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - The expired message</dd>
<dd><code>messageExpiryAddress</code> - The message expiry address if exists</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="messageExpired(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.api.core.SimpleString,org.apache.activemq.artemis.core.server.ServerConsumer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageExpired</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;messageExpired&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;message,
                            <a href="../../../api/core/SimpleString.html" title="class in org.apache.activemq.artemis.api.core">SimpleString</a>&nbsp;messageExpiryAddress,
                            org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer)
                     throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">A message has been expired</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - The expired message</dd>
<dd><code>messageExpiryAddress</code> - The message expiry address if exists</dd>
<dd><code>consumer</code> - the Consumer that acknowledged the message - this field is optional
 and can be null</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="messageAcknowledged(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageAcknowledged</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;void&nbsp;messageAcknowledged&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;ref,
                                 org.apache.activemq.artemis.core.server.impl.AckReason&nbsp;reason)
                          throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="#messageAcknowledged(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason,org.apache.activemq.artemis.core.server.ServerConsumer)"><code>messageAcknowledged(MessageReference, AckReason, ServerConsumer)</code></a></div>
</div>
<div class="block">A message has been acknowledged</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ref</code> - The acked message</dd>
<dd><code>reason</code> - The ack reason</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="messageAcknowledged(org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason,org.apache.activemq.artemis.core.server.ServerConsumer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageAcknowledged</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;void&nbsp;messageAcknowledged&#8203;(org.apache.activemq.artemis.core.server.MessageReference&nbsp;ref,
                                 org.apache.activemq.artemis.core.server.impl.AckReason&nbsp;reason,
                                 org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer)
                          throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">A message has been acknowledged</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ref</code> - The acked message</dd>
<dd><code>reason</code> - The ack reason</dd>
<dd><code>consumer</code> - the Consumer that acknowledged the message - this field is optional
 and can be null</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
<a id="messageAcknowledged(org.apache.activemq.artemis.core.transaction.Transaction,org.apache.activemq.artemis.core.server.MessageReference,org.apache.activemq.artemis.core.server.impl.AckReason,org.apache.activemq.artemis.core.server.ServerConsumer)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>messageAcknowledged</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;messageAcknowledged&#8203;(org.apache.activemq.artemis.core.transaction.Transaction&nbsp;tx,
                                 org.apache.activemq.artemis.core.server.MessageReference&nbsp;ref,
                                 org.apache.activemq.artemis.core.server.impl.AckReason&nbsp;reason,
                                 org.apache.activemq.artemis.core.server.ServerConsumer&nbsp;consumer)
                          throws <a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></pre>
<div class="block">A message has been acknowledged</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tx</code> - The transaction associated with the ack</dd>
<dd><code>ref</code> - The acked message</dd>
<dd><code>reason</code> - The ack reason</dd>
<dd><code>consumer</code> - the Consumer that acknowledged the message - this field is optional
 and can be null</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../api/core/ActiveMQException.html" title="class in org.apache.activemq.artemis.api.core">ActiveMQException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ActiveMQServerMessagePlugin.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
