<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>JMSProducer</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="JMSProducer";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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/jms/JMSPasswordCredential.html" title="annotation in jakarta.jms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/jms/JMSProducer.html" target="_top">Frames</a></li>
<li><a href="JMSProducer.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>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 name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.jms</div>
<h2 title="Interface JMSProducer" class="title">Interface JMSProducer</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">JMSProducer</span></pre>
<div class="block">A <code>JMSProducer</code> is a simple object used to send messages on behalf of a <code>JMSContext</code>. An instance of
 <code>JMSProducer</code> is created by calling the <code>createProducer</code> method on a <code>JMSContext</code>. It provides
 various <code>send</code> methods to send a message to a specified destination. It also provides methods to allow message
 send options, message properties and message headers to be specified prior to sending a message or set of messages.

 <p>
 Message send options may be specified using one or more of the following methods: <code>setDeliveryMode</code>,
 <code>setPriority</code>, <code>setTimeToLive</code>, <code>setDeliveryDelay</code>, <code>setDisableMessageTimestamp</code>,
 <code>setDisableMessageID</code> and <code>setAsync</code>.

 <p>
 Message properties may be may be specified using one or more of nine <code>setProperty</code> methods. Any message
 properties set using these methods will override any message properties that have been set directly on the message.

 <p>
 Message headers may be specified using one or more of the following methods: <code>setJMSCorrelationID</code>,
 <code>setJMSCorrelationIDAsBytes</code>, <code>setJMSType</code> or <code>setJMSReplyTo</code>. Any message headers set using these
 methods will override any message headers that have been set directly on the message.

 <p>
 All the above methods return the <code>JMSProducer</code> to allow method calls to be chained together, allowing a fluid
 programming style. For example:

 <p>
 <tt>context.createProducer().setDeliveryMode(DeliveryMode.NON_PERSISTENT).setTimeToLive(1000).send(destination, message);</tt>

 <p>
 Instances of <code>JMSProducer</code> are intended to be lightweight objects which can be created freely and which do not
 consume significant resources. This interface therefore does not provide a <code>close</code> method.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>JMS 2.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#clearProperties--">clearProperties</a></span>()</code>
<div class="block">Clears any message properties set on this <code>JMSProducer</code></div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/CompletionListener.html" title="interface in jakarta.jms">CompletionListener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getAsync--">getAsync</a></span>()</code>
<div class="block">If subsequent calls to <code>send</code> on this <code>JMSProducer</code> object have been configured to be asynchronous then
 this method returns the <code>CompletionListener</code> that has previously been configured.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getBooleanProperty-java.lang.String-">getBooleanProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>boolean</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getByteProperty-java.lang.String-">getByteProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>String</code>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getDeliveryDelay--">getDeliveryDelay</a></span>()</code>
<div class="block">Gets the minimum length of time in milliseconds that must elapse after a message is sent before the Jakarta Messaging provider may
 deliver the message to a consumer.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getDeliveryMode--">getDeliveryMode</a></span>()</code>
<div class="block">Returns the delivery mode of messages that are sent using this <code>JMSProducer</code></div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getDisableMessageID--">getDisableMessageID</a></span>()</code>
<div class="block">Gets an indication of whether message IDs are disabled.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getDisableMessageTimestamp--">getDisableMessageTimestamp</a></span>()</code>
<div class="block">Gets an indication of whether message timestamps are disabled.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getDoubleProperty-java.lang.String-">getDoubleProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>double</code>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getFloatProperty-java.lang.String-">getFloatProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>float</code>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getIntProperty-java.lang.String-">getIntProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>int</code>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationID--">getJMSCorrelationID</a></span>()</code>
<div class="block">Returns the <code>JMSCorrelationID</code> header value that has been set on this <code>JMSProducer</code>, as a <code>String</code>.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationIDAsBytes--">getJMSCorrelationIDAsBytes</a></span>()</code>
<div class="block">Returns the <code>JMSCorrelationID</code> header value that has been set on this <code>JMSProducer</code>, as an array of
 bytes.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getJMSReplyTo--">getJMSReplyTo</a></span>()</code>
<div class="block">Returns the <code>JMSReplyTo</code> header value that has been set on this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getJMSType--">getJMSType</a></span>()</code>
<div class="block">Returns the <code>JMSType</code> header value that has been set on this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getLongProperty-java.lang.String-">getLongProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>long</code>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getObjectProperty-java.lang.String-">getObjectProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to
 objectified format.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getPriority--">getPriority</a></span>()</code>
<div class="block">Return the priority of messages that are sent using this <code>JMSProducer</code></div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getPropertyNames--">getPropertyNames</a></span>()</code>
<div class="block">Returns an unmodifiable <code>Set</code> view of the names of all the message properties that have been set on this
 JMSProducer.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getShortProperty-java.lang.String-">getShortProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>short</code>.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getStringProperty-java.lang.String-">getStringProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>String</code>.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#getTimeToLive--">getTimeToLive</a></span>()</code>
<div class="block">Returns the time to live of messages that are sent using this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#propertyExists-java.lang.String-">propertyExists</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Indicates whether a message property with the specified name has been set on this <code>JMSProducer</code></div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#send-jakarta.jms.Destination-byte:A-">send</a></span>(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
    byte[]&nbsp;body)</code>
<div class="block">Send a <code>BytesMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#send-jakarta.jms.Destination-java.util.Map-">send</a></span>(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
    java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;body)</code>
<div class="block">Send a <code>MapMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#send-jakarta.jms.Destination-jakarta.jms.Message-">send</a></span>(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
    <a href="../../jakarta/jms/Message.html" title="interface in jakarta.jms">Message</a>&nbsp;message)</code>
<div class="block">Sends a message to the specified destination, using any send options, message properties and message headers that
 have been defined on this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#send-jakarta.jms.Destination-java.io.Serializable-">send</a></span>(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
    java.io.Serializable&nbsp;body)</code>
<div class="block">Send an <code>ObjectMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#send-jakarta.jms.Destination-java.lang.String-">send</a></span>(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
    java.lang.String&nbsp;body)</code>
<div class="block">Send a <code>TextMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setAsync-jakarta.jms.CompletionListener-">setAsync</a></span>(<a href="../../jakarta/jms/CompletionListener.html" title="interface in jakarta.jms">CompletionListener</a>&nbsp;completionListener)</code>
<div class="block">Specifies whether subsequent calls to <code>send</code> on this <code>JMSProducer</code> object should be synchronous or
 asynchronous.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setDeliveryDelay-long-">setDeliveryDelay</a></span>(long&nbsp;deliveryDelay)</code>
<div class="block">Sets the minimum length of time in milliseconds that must elapse after a message is sent before the Jakarta Messaging provider may
 deliver the message to a consumer.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setDeliveryMode-int-">setDeliveryMode</a></span>(int&nbsp;deliveryMode)</code>
<div class="block">Specifies the delivery mode of messages that are sent using this <code>JMSProducer</code></div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setDisableMessageID-boolean-">setDisableMessageID</a></span>(boolean&nbsp;value)</code>
<div class="block">Specifies whether message IDs may be disabled for messages that are sent using this <code>JMSProducer</code></div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setDisableMessageTimestamp-boolean-">setDisableMessageTimestamp</a></span>(boolean&nbsp;value)</code>
<div class="block">Specifies whether message timestamps may be disabled for messages that are sent using this <code>JMSProducer</code>.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationID-java.lang.String-">setJMSCorrelationID</a></span>(java.lang.String&nbsp;correlationID)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSCorrelationID</code> header value set
 to the specified correlation ID, where correlation ID is specified as a <code>String</code>.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationIDAsBytes-byte:A-">setJMSCorrelationIDAsBytes</a></span>(byte[]&nbsp;correlationID)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSCorrelationID</code> header value set
 to the specified correlation ID, where correlation ID is specified as an array of bytes.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setJMSReplyTo-jakarta.jms.Destination-">setJMSReplyTo</a></span>(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;replyTo)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSReplyTo</code> header value set to
 the specified <code>Destination</code> object.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setJMSType-java.lang.String-">setJMSType</a></span>(java.lang.String&nbsp;type)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSType</code> header value set to the
 specified message type.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setPriority-int-">setPriority</a></span>(int&nbsp;priority)</code>
<div class="block">Specifies the priority of messages that are sent using this <code>JMSProducer</code></div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-boolean-">setProperty</a></span>(java.lang.String&nbsp;name,
           boolean&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>boolean</code> value.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-byte-">setProperty</a></span>(java.lang.String&nbsp;name,
           byte&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>byte</code> value.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-double-">setProperty</a></span>(java.lang.String&nbsp;name,
           double&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>double</code> value.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-float-">setProperty</a></span>(java.lang.String&nbsp;name,
           float&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>float</code> value.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-int-">setProperty</a></span>(java.lang.String&nbsp;name,
           int&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>int</code> value.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-long-">setProperty</a></span>(java.lang.String&nbsp;name,
           long&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>long</code> value.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-java.lang.Object-">setProperty</a></span>(java.lang.String&nbsp;name,
           java.lang.Object&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 Java object value.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-short-">setProperty</a></span>(java.lang.String&nbsp;name,
           short&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>short</code> value.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-java.lang.String-">setProperty</a></span>(java.lang.String&nbsp;name,
           java.lang.String&nbsp;value)</code>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>String</code> value.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../jakarta/jms/JMSProducer.html#setTimeToLive-long-">setTimeToLive</a></span>(long&nbsp;timeToLive)</code>
<div class="block">Specifies the time to live of messages that are sent using this <code>JMSProducer</code>.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="send-jakarta.jms.Destination-jakarta.jms.Message-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;send(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
                 <a href="../../jakarta/jms/Message.html" title="interface in jakarta.jms">Message</a>&nbsp;message)</pre>
<div class="block">Sends a message to the specified destination, using any send options, message properties and message headers that
 have been defined on this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destination</code> - the destination to send this message to</dd>
<dd><code>message</code> - the message to send</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../jakarta/jms/InvalidDestinationRuntimeException.html" title="class in jakarta.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../jakarta/jms/MessageNotWriteableRuntimeException.html" title="class in jakarta.jms">MessageNotWriteableRuntimeException</a></code> - if this <code>JMSProducer</code> has been configured to set a message
 property, but the message's properties are read-only</dd>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to send the message due to some internal error.</dd>
</dl>
</li>
</ul>
<a name="send-jakarta.jms.Destination-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;send(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
                 java.lang.String&nbsp;body)</pre>
<div class="block">Send a <code>TextMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destination</code> - the destination to send this message to</dd>
<dd><code>body</code> - the body of the <code>TextMessage</code> that will be sent. If a null value is specified then a
 <code>TextMessage</code> with no body will be sent.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../jakarta/jms/InvalidDestinationRuntimeException.html" title="class in jakarta.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to send the message due to some internal error.</dd>
</dl>
</li>
</ul>
<a name="send-jakarta.jms.Destination-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;send(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
                 java.util.Map&lt;java.lang.String,java.lang.Object&gt;&nbsp;body)</pre>
<div class="block">Send a <code>MapMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destination</code> - the destination to send this message to</dd>
<dd><code>body</code> - the body of the <code>MapMessage</code> that will be sent. If a null value is specified then a
 <code>MapMessage</code> with no map entries will be sent.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../jakarta/jms/InvalidDestinationRuntimeException.html" title="class in jakarta.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to send the message due to some internal error.</dd>
</dl>
</li>
</ul>
<a name="send-jakarta.jms.Destination-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;send(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
                 byte[]&nbsp;body)</pre>
<div class="block">Send a <code>BytesMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destination</code> - the destination to send this message to</dd>
<dd><code>body</code> - the body of the <code>BytesMessage</code> that will be sent. If a null value is specified then a
 <code>BytesMessage</code> with no body will be sent.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../jakarta/jms/InvalidDestinationRuntimeException.html" title="class in jakarta.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to send the message due to some internal error.</dd>
</dl>
</li>
</ul>
<a name="send-jakarta.jms.Destination-java.io.Serializable-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;send(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;destination,
                 java.io.Serializable&nbsp;body)</pre>
<div class="block">Send an <code>ObjectMessage</code> with the specified body to the specified destination, using any send options, message
 properties and message headers that have been defined on this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destination</code> - the destination to send this message to</dd>
<dd><code>body</code> - the body of the ObjectMessage that will be sent. If a null value is specified then an
 <code>ObjectMessage</code> with no body will be sent.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../jakarta/jms/InvalidDestinationRuntimeException.html" title="class in jakarta.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if Jakarta Messaging provider fails to send the message due to some internal error.</dd>
</dl>
</li>
</ul>
<a name="setDisableMessageID-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDisableMessageID</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setDisableMessageID(boolean&nbsp;value)</pre>
<div class="block">Specifies whether message IDs may be disabled for messages that are sent using this <code>JMSProducer</code>

 <p>
 Since message IDs take some effort to create and increase a message's size, some Jakarta Messaging providers may be able to
 optimise message overhead if they are given a hint that the message ID is not used by an application. By calling this
 method, a Jakarta Messaging application enables this potential optimisation for all messages sent using this <code>JMSProducer</code>.
 If the Jakarta Messaging provider accepts this hint, these messages must have the message ID set to null; if the provider ignores
 the hint, the message ID must be set to its normal unique value.

 <p>
 Message IDs are enabled by default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - indicates whether message IDs may be disabled</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set message ID to disabled due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getDisableMessageID--"><code>getDisableMessageID()</code></a></dd>
</dl>
</li>
</ul>
<a name="getDisableMessageID--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDisableMessageID</h4>
<pre>boolean&nbsp;getDisableMessageID()</pre>
<div class="block">Gets an indication of whether message IDs are disabled.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an indication of whether message IDs are disabled</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to determine if message IDs are disabled due to some internal
 error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setDisableMessageID-boolean-"><code>setDisableMessageID(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="setDisableMessageTimestamp-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDisableMessageTimestamp</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setDisableMessageTimestamp(boolean&nbsp;value)</pre>
<div class="block">Specifies whether message timestamps may be disabled for messages that are sent using this <code>JMSProducer</code>.

 <p>
 Since timestamps take some effort to create and increase a message's size, some Jakarta Messaging providers may be able to optimise
 message overhead if they are given a hint that the timestamp is not used by an application. By calling this method, a
 Jakarta Messaging application enables this potential optimisation for all messages sent using this <code>JMSProducer</code>. If the JMS
 provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint, the
 timestamp must be set to its normal value.

 <p>
 Message timestamps are enabled by default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - indicates whether message timestamps may be disabled</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set timestamps to disabled due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getDisableMessageTimestamp--"><code>getDisableMessageTimestamp()</code></a></dd>
</dl>
</li>
</ul>
<a name="getDisableMessageTimestamp--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDisableMessageTimestamp</h4>
<pre>boolean&nbsp;getDisableMessageTimestamp()</pre>
<div class="block">Gets an indication of whether message timestamps are disabled.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an indication of whether message timestamps are disabled</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to determine if timestamps are disabled due to some internal
 error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setDisableMessageTimestamp-boolean-"><code>setDisableMessageTimestamp(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="setDeliveryMode-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeliveryMode</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setDeliveryMode(int&nbsp;deliveryMode)</pre>
<div class="block">Specifies the delivery mode of messages that are sent using this <code>JMSProducer</code>
 <p>
 Delivery mode is set to <code>PERSISTENT</code> by default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deliveryMode</code> - the message delivery mode to be used; legal values are <code>DeliveryMode.NON_PERSISTENT</code> and
 <code>DeliveryMode.PERSISTENT</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the delivery mode due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getDeliveryMode--"><code>getDeliveryMode()</code></a>, 
<a href="../../jakarta/jms/DeliveryMode.html#NON_PERSISTENT"><code>DeliveryMode.NON_PERSISTENT</code></a>, 
<a href="../../jakarta/jms/DeliveryMode.html#PERSISTENT"><code>DeliveryMode.PERSISTENT</code></a>, 
<a href="../../jakarta/jms/Message.html#DEFAULT_DELIVERY_MODE"><code>Message.DEFAULT_DELIVERY_MODE</code></a></dd>
</dl>
</li>
</ul>
<a name="getDeliveryMode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeliveryMode</h4>
<pre>int&nbsp;getDeliveryMode()</pre>
<div class="block">Returns the delivery mode of messages that are sent using this <code>JMSProducer</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the message delivery mode</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the delivery mode due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setDeliveryMode-int-"><code>setDeliveryMode(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="setPriority-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPriority</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setPriority(int&nbsp;priority)</pre>
<div class="block">Specifies the priority of messages that are sent using this <code>JMSProducer</code>

 <p>
 The Jakarta Messaging API defines ten levels of priority value, with 0 as the lowest priority and 9 as the highest. Clients should
 consider priorities 0-4 as gradations of normal priority and priorities 5-9 as gradations of expedited priority.
 Priority is set to 4 by default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>priority</code> - the message priority to be used; must be a value between 0 and 9</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the priority due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getPriority--"><code>getPriority()</code></a>, 
<a href="../../jakarta/jms/Message.html#DEFAULT_PRIORITY"><code>Message.DEFAULT_PRIORITY</code></a></dd>
</dl>
</li>
</ul>
<a name="getPriority--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriority</h4>
<pre>int&nbsp;getPriority()</pre>
<div class="block">Return the priority of messages that are sent using this <code>JMSProducer</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the message priority</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the priority due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setPriority-int-"><code>setPriority(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="setTimeToLive-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeToLive</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setTimeToLive(long&nbsp;timeToLive)</pre>
<div class="block">Specifies the time to live of messages that are sent using this <code>JMSProducer</code>. This is used to determine the
 expiration time of a message.

 <p>
 The expiration time of a message is the sum of the message's time to live and the time it is sent. For transacted
 sends, this is the time the client sends the message, not the time the transaction is committed.

 <p>
 Clients should not receive messages that have expired; however, Jakarta Messaging does not guarantee that this will not happen.

 <p>
 A Jakarta Messaging provider should do its best to accurately expire messages; however, Jakarta Messaging does not define the accuracy provided.
 It is not acceptable to simply ignore time-to-live.

 <p>
 Time to live is set to zero by default, which means a message never expires.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeToLive</code> - the message time to live to be used, in milliseconds; a value of zero means that a message never
 expires.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the time to live due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getTimeToLive--"><code>getTimeToLive()</code></a>, 
<a href="../../jakarta/jms/Message.html#DEFAULT_TIME_TO_LIVE"><code>Message.DEFAULT_TIME_TO_LIVE</code></a></dd>
</dl>
</li>
</ul>
<a name="getTimeToLive--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeToLive</h4>
<pre>long&nbsp;getTimeToLive()</pre>
<div class="block">Returns the time to live of messages that are sent using this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the message time to live in milliseconds; a value of zero means that a message never expires.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the time to live due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setTimeToLive-long-"><code>setTimeToLive(long)</code></a></dd>
</dl>
</li>
</ul>
<a name="setDeliveryDelay-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeliveryDelay</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setDeliveryDelay(long&nbsp;deliveryDelay)</pre>
<div class="block">Sets the minimum length of time in milliseconds that must elapse after a message is sent before the Jakarta Messaging provider may
 deliver the message to a consumer.

 <p>
 For transacted sends, this time starts when the client sends the message, not when the transaction is committed.

 <p>
 deliveryDelay is set to zero by default.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deliveryDelay</code> - the delivery delay in milliseconds.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the delivery delay due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getDeliveryDelay--"><code>getDeliveryDelay()</code></a>, 
<a href="../../jakarta/jms/Message.html#DEFAULT_DELIVERY_DELAY"><code>Message.DEFAULT_DELIVERY_DELAY</code></a></dd>
</dl>
</li>
</ul>
<a name="getDeliveryDelay--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeliveryDelay</h4>
<pre>long&nbsp;getDeliveryDelay()</pre>
<div class="block">Gets the minimum length of time in milliseconds that must elapse after a message is sent before the Jakarta Messaging provider may
 deliver the message to a consumer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the delivery delay in milliseconds.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the delivery delay due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setDeliveryDelay-long-"><code>setDeliveryDelay(long)</code></a></dd>
</dl>
</li>
</ul>
<a name="setAsync-jakarta.jms.CompletionListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAsync</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setAsync(<a href="../../jakarta/jms/CompletionListener.html" title="interface in jakarta.jms">CompletionListener</a>&nbsp;completionListener)</pre>
<div class="block">Specifies whether subsequent calls to <code>send</code> on this <code>JMSProducer</code> object should be synchronous or
 asynchronous. If the specified <code>CompletionListener</code> is not null then subsequent calls to <code>send</code> will be
 asynchronous. If the specified <code>CompletionListener</code> is null then subsequent calls to <code>send</code> will be
 synchronous. Calls to <code>send</code> are synchronous by default.

 <p>
 If a call to <code>send</code> is asynchronous then part of the work involved in sending the message will be performed in
 a separate thread and the specified <tt>CompletionListener</tt> will be notified when the operation has completed.

 <p>
 When the message has been successfully sent the Jakarta Messaging provider invokes the callback method <tt>onCompletion</tt> on the
 <tt>CompletionListener</tt> object. Only when that callback has been invoked can the application be sure that the
 message has been successfully sent with the same degree of confidence as if the send had been synchronous. An
 application which requires this degree of confidence must therefore wait for the callback to be invoked before
 continuing.

 <p>
 The following information is intended to give an indication of how an asynchronous send would typically be
 implemented.

 <p>
 In some Jakarta Messaging providers, a normal synchronous send involves sending the message to a remote Jakarta Messaging server and then waiting
 for an acknowledgement to be received before returning. It is expected that such a provider would implement an
 asynchronous send by sending the message to the remote Jakarta Messaging server and then returning without waiting for an
 acknowledgement. When the acknowledgement is received, the Jakarta Messaging provider would notify the application by invoking the
 <tt>onCompletion</tt> method on the application-specified <tt>CompletionListener</tt> object. If for some reason the
 acknowledgement is not received the Jakarta Messaging provider would notify the application by invoking the
 <tt>CompletionListener</tt>'s <tt>onException</tt> method.

 <p>
 In those cases where the Jakarta Messaging specification permits a lower level of reliability, a normal synchronous send might not
 wait for an acknowledgement. In that case it is expected that an asynchronous send would be similar to a synchronous
 send: the Jakarta Messaging provider would send the message to the remote Jakarta Messaging server and then return without waiting for an
 acknowledgement. However the Jakarta Messaging provider would still notify the application that the send had completed by invoking
 the <tt>onCompletion</tt> method on the application-specified <tt>CompletionListener</tt> object.

 <p>
 It is up to the Jakarta Messaging provider to decide exactly what is performed in the calling thread and what, if anything, is
 performed asynchronously, so long as it satisfies the requirements given below:

 <p>
 <b>Quality of service</b>: After the send operation has completed successfully, which means that the message has been
 successfully sent with the same degree of confidence as if a normal synchronous send had been performed, the JMS
 provider must invoke the <tt>CompletionListener</tt>'s <tt>onCompletion</tt> method. The <tt>CompletionListener</tt>
 must not be invoked earlier than this.

 <p>
 <b>Exceptions</b>: If an exception is encountered during the call to the <tt>send</tt> method then an appropriate
 exception should be thrown in the thread that is calling the <tt>send</tt> method. In this case the Jakarta Messaging provider must
 not invoke the <tt>CompletionListener</tt>'s <tt>onCompletion</tt> or <tt>onException</tt> method. If an exception is
 encountered which cannot be thrown in the thread that is calling the <tt>send</tt> method then the Jakarta Messaging provider must
 call the <tt>CompletionListener</tt>'s <tt>onException</tt> method. In both cases if an exception occurs it is
 undefined whether or not the message was successfully sent.

 <p>
 <b>Message order</b>: If the same <tt>JMSContext</tt> is used to send multiple messages then Jakarta Messaging message ordering
 requirements must be satisfied. This applies even if a combination of synchronous and asynchronous sends has been
 performed. The application is not required to wait for an asynchronous send to complete before sending the next
 message.

 <p>
 <b>Close, commit or rollback</b>: If the <tt>close</tt> method is called on the <tt>JMSContext</tt> then the JMS
 provider must block until any incomplete send operations have been completed and all <code>CompletionListener</code>
 callbacks have returned before closing the object and returning. If the session is transacted (uses a local
 transaction) then when the <tt>JMSContext</tt>'s <tt>commit</tt> or <tt>rollback</tt> method is called the JMS
 provider must block until any incomplete send operations have been completed and all <code>CompletionListener</code>
 callbacks have returned before performing the commit or rollback. Incomplete sends should be allowed to complete
 normally unless an error occurs.

 <p>
 A <tt>CompletionListener</tt> callback method must not call <tt>close</tt>, <tt>commit</tt> or <tt>rollback</tt> on
 its own <tt>JMSContext</tt>. Doing so will cause the <tt>close</tt>, <tt>commit</tt> or <tt>rollback</tt> to throw an
 <tt>IllegalStateRuntimeException</tt>.

 <p>
 <b>Restrictions on usage in Jakarta EE</b> This method must not be used in a Jakarta EE EJB or web container. Doing so may
 cause a <code>JMSRuntimeException</code> to be thrown though this is not guaranteed.

 <p>
 <b>Message headers</b> Jakarta Messaging defines a number of message header fields and message properties which must be set by the
 "Jakarta Messaging provider on send". If the send is asynchronous these fields and properties may be accessed on the sending client
 only after the <tt>CompletionListener</tt> has been invoked. If the <tt>CompletionListener</tt>'s
 <tt>onException</tt> method is called then the state of these message header fields and properties is undefined.

 <p>
 <b>Restrictions on threading</b>: Applications that perform an asynchronous send must confirm to the threading
 restrictions defined in JMS. This means that the session may be used by only one thread at a time.

 <p>
 Setting a <tt>CompletionListener</tt> does not cause the session to be dedicated to the thread of control which calls
 the <tt>CompletionListener</tt>. The application thread may therefore continue to use the session after performing an
 asynchronous send. However the <tt>CompletionListener</tt>'s callback methods must not use the session if an
 application thread might be using the session at the same time.

 <p>
 <b>Use of the <tt>CompletionListener</tt> by the Jakarta Messaging provider</b>: A session will only invoke one
 <tt>CompletionListener</tt> callback method at a time. For a given <tt>JMSContext</tt>, callbacks (both
 <code>onCompletion</code> and <code>onException</code>) will be performed in the same order as the corresponding calls to the
 <tt>send</tt> method. A Jakarta Messaging provider must not invoke the <tt>CompletionListener</tt> from the thread that is calling
 the <tt>send</tt> method.

 <p>
 <b>Restrictions on the use of the Message object</b>: Applications which perform an asynchronous send must take
 account of the restriction that a <tt>Message</tt> object is designed to be accessed by one logical thread of control
 at a time and does not support concurrent use.

 <p>
 After the <tt>send</tt> method has returned, the application must not attempt to read the headers, properties or body
 of the <tt>Message</tt> object until the <tt>CompletionListener</tt>'s <tt>onCompletion</tt> or <tt>onException</tt>
 method has been called. This is because the Jakarta Messaging provider may be modifying the <tt>Message</tt> object in another
 thread during this time. The Jakarta Messaging provider may throw an <tt>JMSException</tt> if the application attempts to access or
 modify the <tt>Message</tt> object after the <tt>send</tt> method has returned and before the
 <tt>CompletionListener</tt> has been invoked. If the Jakarta Messaging provider does not throw an exception then the behaviour is
 undefined.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>completionListener</code> - If asynchronous send behaviour is required, this should be set to a
 <code>CompletionListener</code> to be notified when the send has completed. If synchronous send behaviour is required,
 this should be set to <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if an internal error occurs</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getAsync--"><code>getAsync()</code></a>, 
<a href="../../jakarta/jms/CompletionListener.html" title="interface in jakarta.jms"><code>CompletionListener</code></a></dd>
</dl>
</li>
</ul>
<a name="getAsync--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAsync</h4>
<pre><a href="../../jakarta/jms/CompletionListener.html" title="interface in jakarta.jms">CompletionListener</a>&nbsp;getAsync()</pre>
<div class="block">If subsequent calls to <code>send</code> on this <code>JMSProducer</code> object have been configured to be asynchronous then
 this method returns the <code>CompletionListener</code> that has previously been configured. If subsequent calls to
 <code>send</code> have been configured to be synchronous then this method returns <code>null</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>CompletionListener</code> or <code>null</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the required information due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setAsync-jakarta.jms.CompletionListener-"><code>setAsync(jakarta.jms.CompletionListener)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        boolean&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>boolean</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>boolean</code> value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getBooleanProperty-java.lang.String-"><code>getBooleanProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-byte-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        byte&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>byte</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>byte</code> value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getByteProperty-java.lang.String-"><code>getByteProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-short-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        short&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>short</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>short</code> property value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getShortProperty-java.lang.String-"><code>getShortProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        int&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>int</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>int</code> property value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getIntProperty-java.lang.String-"><code>getIntProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        long&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>long</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>long</code> property value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getLongProperty-java.lang.String-"><code>getLongProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-float-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        float&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>float</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>float</code> property value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getFloatProperty-java.lang.String-"><code>getFloatProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        double&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>double</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>double</code> property value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getDoubleProperty-java.lang.String-"><code>getDoubleProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        java.lang.String&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 <code>String</code> value.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the <code>String</code> property value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getStringProperty-java.lang.String-"><code>getStringProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setProperty(java.lang.String&nbsp;name,
                        java.lang.Object&nbsp;value)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have the specified property set to the specified
 Java object value.

 <p>
 Note that this method works only for the objectified primitive object types (<code>Integer</code>, <code>Double</code>,
 <code>Long</code> ...) and <code>String</code> objects.

 <p>
 This will replace any property of the same name that is already set on the message being sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dd><code>value</code> - the Java object property value to set</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the property due to some internal error.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - if the name is null or if the name is an empty string.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if the object is invalid</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getObjectProperty-java.lang.String-"><code>getObjectProperty(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="clearProperties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearProperties</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;clearProperties()</pre>
<div class="block">Clears any message properties set on this <code>JMSProducer</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to clear the message properties due to some internal error.</dd>
</dl>
</li>
</ul>
<a name="propertyExists-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>propertyExists</h4>
<pre>boolean&nbsp;propertyExists(java.lang.String&nbsp;name)</pre>
<div class="block">Indicates whether a message property with the specified name has been set on this <code>JMSProducer</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true whether the property exists</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to determine whether the property exists due to some internal
 error.</dd>
</dl>
</li>
</ul>
<a name="getBooleanProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBooleanProperty</h4>
<pre>boolean&nbsp;getBooleanProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>boolean</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>boolean</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-boolean-"><code>setProperty(java.lang.String,boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="getByteProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteProperty</h4>
<pre>byte&nbsp;getByteProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>String</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>byte</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-byte-"><code>setProperty(java.lang.String,byte)</code></a></dd>
</dl>
</li>
</ul>
<a name="getShortProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShortProperty</h4>
<pre>short&nbsp;getShortProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>short</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>short</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-short-"><code>setProperty(java.lang.String,short)</code></a></dd>
</dl>
</li>
</ul>
<a name="getIntProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIntProperty</h4>
<pre>int&nbsp;getIntProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>int</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>int</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-int-"><code>setProperty(java.lang.String,int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getLongProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLongProperty</h4>
<pre>long&nbsp;getLongProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>long</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>long</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-long-"><code>setProperty(java.lang.String,long)</code></a></dd>
</dl>
</li>
</ul>
<a name="getFloatProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFloatProperty</h4>
<pre>float&nbsp;getFloatProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>float</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>float</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-float-"><code>setProperty(java.lang.String,float)</code></a></dd>
</dl>
</li>
</ul>
<a name="getDoubleProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDoubleProperty</h4>
<pre>double&nbsp;getDoubleProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>double</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>double</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-double-"><code>setProperty(java.lang.String,double)</code></a></dd>
</dl>
</li>
</ul>
<a name="getStringProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStringProperty</h4>
<pre>java.lang.String&nbsp;getStringProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to a
 <code>String</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value, converted to a <code>boolean</code>; if there is no property by this name, a null value is
 returned</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dd><code><a href="../../jakarta/jms/MessageFormatRuntimeException.html" title="class in jakarta.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-java.lang.String-"><code>setProperty(java.lang.String,String)</code></a></dd>
</dl>
</li>
</ul>
<a name="getObjectProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectProperty</h4>
<pre>java.lang.Object&nbsp;getObjectProperty(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the message property with the specified name that has been set on this <code>JMSProducer</code>, converted to
 objectified format.

 <p>
 This method can be used to return, in objectified format, an object that has been stored as a property in the message
 with the equivalent <code>setObjectProperty</code> method call, or its equivalent primitive
 <code>set<I>type</I>Property</code> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Java object property value with the specified name, in objectified format (for example, if the property
 was set as an <code>int</code>, an <code>Integer</code> is returned); if there is no property by this name, a null value is
 returned</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property value due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setProperty-java.lang.String-java.lang.Object-"><code>setProperty(java.lang.String,java.lang.Object)</code></a></dd>
</dl>
</li>
</ul>
<a name="getPropertyNames--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyNames</h4>
<pre>java.util.Set&lt;java.lang.String&gt;&nbsp;getPropertyNames()</pre>
<div class="block">Returns an unmodifiable <code>Set</code> view of the names of all the message properties that have been set on this
 JMSProducer.

 <p>
 Note that Jakarta Messaging standard header fields are not considered properties and are not returned in this Set.

 <p>
 The set is backed by the <code>JMSProducer</code>, so changes to the map are reflected in the set. However the set may not
 be modified. Attempts to modify the returned collection, whether directly or via its iterator, will result in an
 <code>java.lang.UnsupportedOperationException</code>. Its behaviour matches that defined in the
 <code>java.util.Collections</code> method <code>unmodifiableSet</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <code>Set</code> containing the names of all the message properties that have been set on this
 <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the property names due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Collections.unmodifiableSet(java.util.Set&lt;? extends T&gt;)</code></dd>
</dl>
</li>
</ul>
<a name="setJMSCorrelationIDAsBytes-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJMSCorrelationIDAsBytes</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setJMSCorrelationIDAsBytes(byte[]&nbsp;correlationID)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSCorrelationID</code> header value set
 to the specified correlation ID, where correlation ID is specified as an array of bytes.

 <p>
 This will override any <code>JMSCorrelationID</code> header value that is already set on the message being sent.

 <p>
 The array is copied before the method returns, so future modifications to the array will not alter the value in this
 <code>JMSProducer</code>.

 <p>
 If a provider supports the native concept of correlation ID, a Jakarta Messaging client may need to assign specific
 <code>JMSCorrelationID</code> values to match those expected by native messaging clients. Jakarta Messaging providers without native
 correlation ID values are not required to support this method and its corresponding get method; their implementation
 may throw a <code>java.lang.UnsupportedOperationException</code>.

 <p>
 The use of a <code>byte[]</code> value for <code>JMSCorrelationID</code> is non-portable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>correlationID</code> - the correlation ID value as an array of bytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the correlation ID due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationID-java.lang.String-"><code>setJMSCorrelationID(String)</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationID--"><code>getJMSCorrelationID()</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationIDAsBytes--"><code>getJMSCorrelationIDAsBytes()</code></a></dd>
</dl>
</li>
</ul>
<a name="getJMSCorrelationIDAsBytes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJMSCorrelationIDAsBytes</h4>
<pre>byte[]&nbsp;getJMSCorrelationIDAsBytes()</pre>
<div class="block">Returns the <code>JMSCorrelationID</code> header value that has been set on this <code>JMSProducer</code>, as an array of
 bytes.

 <p>
 The use of a <code>byte[]</code> value for <code>JMSCorrelationID</code> is non-portable.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the correlation ID as an array of bytes</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the correlation ID due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationID-java.lang.String-"><code>setJMSCorrelationID(String)</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationID--"><code>getJMSCorrelationID()</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationIDAsBytes-byte:A-"><code>setJMSCorrelationIDAsBytes(byte[])</code></a></dd>
</dl>
</li>
</ul>
<a name="setJMSCorrelationID-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJMSCorrelationID</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setJMSCorrelationID(java.lang.String&nbsp;correlationID)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSCorrelationID</code> header value set
 to the specified correlation ID, where correlation ID is specified as a <code>String</code>.

 <p>
 This will override any <code>JMSCorrelationID</code> header value that is already set on the message being sent.

 <p>
 A client can use the <code>JMSCorrelationID</code> header field to link one message with another. A typical use is to link
 a response message with its request message.

 <p>
 <code>JMSCorrelationID</code> can hold one of the following:
 <ul>
 <li>A provider-specific message ID
 <li>An application-specific <code>String</code>
 <li>A provider-native <code>byte[]</code> value
 </ul>

 <p>
 Since each message sent by a Jakarta Messaging provider is assigned a message ID value, it is convenient to link messages via
 message ID. All message ID values must start with the <code>'ID:'</code> prefix.

 <p>
 In some cases, an application (made up of several clients) needs to use an application-specific value for linking
 messages. For instance, an application may use <code>JMSCorrelationID</code> to hold a value referencing some external
 information. Application-specified values must not start with the <code>'ID:'</code> prefix; this is reserved for
 provider-generated message ID values.

 <p>
 If a provider supports the native concept of correlation ID, a Jakarta Messaging client may need to assign specific
 <code>JMSCorrelationID</code> values to match those expected by clients that do not use the Jakarta Messaging API. A <code>byte[]</code>
 value is used for this purpose. Jakarta Messaging providers without native correlation ID values are not required to support
 <code>byte[]</code> values. The use of a <code>byte[]</code> value for <code>JMSCorrelationID</code> is non-portable.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>correlationID</code> - the message ID of a message being referred to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the correlation ID due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationID--"><code>getJMSCorrelationID()</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationIDAsBytes--"><code>getJMSCorrelationIDAsBytes()</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationIDAsBytes-byte:A-"><code>setJMSCorrelationIDAsBytes(byte[])</code></a></dd>
</dl>
</li>
</ul>
<a name="getJMSCorrelationID--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJMSCorrelationID</h4>
<pre>java.lang.String&nbsp;getJMSCorrelationID()</pre>
<div class="block">Returns the <code>JMSCorrelationID</code> header value that has been set on this <code>JMSProducer</code>, as a <code>String</code>.

 <p>
 This method is used to return correlation ID values that are either provider-specific message IDs or
 application-specific <code>String</code> values.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the correlation ID of a message as a <code>String</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the correlation ID due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationID-java.lang.String-"><code>setJMSCorrelationID(String)</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#getJMSCorrelationIDAsBytes--"><code>getJMSCorrelationIDAsBytes()</code></a>, 
<a href="../../jakarta/jms/JMSProducer.html#setJMSCorrelationIDAsBytes-byte:A-"><code>setJMSCorrelationIDAsBytes(byte[])</code></a></dd>
</dl>
</li>
</ul>
<a name="setJMSType-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJMSType</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setJMSType(java.lang.String&nbsp;type)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSType</code> header value set to the
 specified message type.

 <p>
 This will override any <code>JMSType</code> header value that is already set on the message being sent.

 <p>
 Some Jakarta Messaging providers use a message repository that contains the definitions of messages sent by applications. The
 <code>JMSType</code> header field may reference a message's definition in the provider's repository.

 <p>
 The Jakarta Messaging API does not define a standard message definition repository, nor does it define a naming policy for the
 definitions it contains.

 <p>
 Some messaging systems require that a message type definition for each application message be created and that each
 message specify its type. In order to work with such Jakarta Messaging providers, Jakarta Messaging clients should assign a value to
 <code>JMSType</code>, whether the application makes use of it or not. This ensures that the field is properly set for
 those providers that require it.

 <p>
 To ensure portability, Jakarta Messaging clients should use symbolic values for <code>JMSType</code> that can be configured at
 installation time to the values defined in the current provider's message repository. If string literals are used,
 they may not be valid type names for some Jakarta Messaging providers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the message type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the message type due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getJMSType--"><code>getJMSType()</code></a></dd>
</dl>
</li>
</ul>
<a name="getJMSType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJMSType</h4>
<pre>java.lang.String&nbsp;getJMSType()</pre>
<div class="block">Returns the <code>JMSType</code> header value that has been set on this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the message type</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the message type due to some internal error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setJMSType-java.lang.String-"><code>setJMSType(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setJMSReplyTo-jakarta.jms.Destination-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJMSReplyTo</h4>
<pre><a href="../../jakarta/jms/JMSProducer.html" title="interface in jakarta.jms">JMSProducer</a>&nbsp;setJMSReplyTo(<a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;replyTo)</pre>
<div class="block">Specifies that messages sent using this <code>JMSProducer</code> will have their <code>JMSReplyTo</code> header value set to
 the specified <code>Destination</code> object.

 <p>
 This will override any <code>JMSReplyTo</code> header value that is already set on the message being sent.

 <p>
 The <code>JMSReplyTo</code> header field contains the destination where a reply to the current message should be sent. If
 it is null, no reply is expected. The destination may be either a <code>Queue</code> object or a <code>Topic</code> object.

 <p>
 Messages sent with a null <code>JMSReplyTo</code> value may be a notification of some event, or they may just be some data
 the sender thinks is of interest.

 <p>
 Messages with a <code>JMSReplyTo</code> value typically expect a response. A response is optional; it is up to the client
 to decide. These messages are called requests. A message sent in response to a request is called a reply.

 <p>
 In some cases a client may wish to match a request it sent earlier with a reply it has just received. The client can
 use the <code>JMSCorrelationID</code> header field for this purpose.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>replyTo</code> - <code>Destination</code> to which to send a response to this message</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>JMSProducer</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to set the <code>JMSReplyTo</code> destination due to some internal
 error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#getJMSReplyTo--"><code>getJMSReplyTo()</code></a></dd>
</dl>
</li>
</ul>
<a name="getJMSReplyTo--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getJMSReplyTo</h4>
<pre><a href="../../jakarta/jms/Destination.html" title="interface in jakarta.jms">Destination</a>&nbsp;getJMSReplyTo()</pre>
<div class="block">Returns the <code>JMSReplyTo</code> header value that has been set on this <code>JMSProducer</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Destination</code> the <code>JMSReplyTo</code> header value</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms">JMSRuntimeException</a></code> - if the Jakarta Messaging provider fails to get the <code>JMSReplyTo</code> destination due to some internal
 error.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../jakarta/jms/JMSProducer.html#setJMSReplyTo-jakarta.jms.Destination-"><code>setJMSReplyTo(Destination)</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</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/jms/JMSPasswordCredential.html" title="annotation in jakarta.jms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../jakarta/jms/JMSRuntimeException.html" title="class in jakarta.jms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?jakarta/jms/JMSProducer.html" target="_top">Frames</a></li>
<li><a href="JMSProducer.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>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 name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
