<!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>

<link rel="shortcut icon" href="/img/jakarta-favicon.ico">
</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="../../javax/jms/JMSPasswordCredential.html" title="annotation in javax.jms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/jms/JMSRuntimeException.html" title="class in javax.jms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/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">javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/CompletionListener.html" title="interface in javax.jms">CompletionListener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/jms/Destination.html" title="interface in javax.jms">Destination</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/JMSProducer.html#send-javax.jms.Destination-byte:A-">send</a></span>(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/JMSProducer.html#send-javax.jms.Destination-java.util.Map-">send</a></span>(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/JMSProducer.html#send-javax.jms.Destination-javax.jms.Message-">send</a></span>(<a href="../../javax/jms/Destination.html" title="interface in javax.jms">Destination</a>&nbsp;destination,
    <a href="../../javax/jms/Message.html" title="interface in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/JMSProducer.html#send-javax.jms.Destination-java.io.Serializable-">send</a></span>(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/JMSProducer.html#send-javax.jms.Destination-java.lang.String-">send</a></span>(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/JMSProducer.html#setAsync-javax.jms.CompletionListener-">setAsync</a></span>(<a href="../../javax/jms/CompletionListener.html" title="interface in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/jms/JMSProducer.html#setJMSReplyTo-javax.jms.Destination-">setJMSReplyTo</a></span>(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/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-javax.jms.Destination-javax.jms.Message-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a>&nbsp;send(<a href="../../javax/jms/Destination.html" title="interface in javax.jms">Destination</a>&nbsp;destination,
                 <a href="../../javax/jms/Message.html" title="interface in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../javax/jms/InvalidDestinationRuntimeException.html" title="class in javax.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../javax/jms/MessageNotWriteableRuntimeException.html" title="class in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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-javax.jms.Destination-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a>&nbsp;send(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../javax/jms/InvalidDestinationRuntimeException.html" title="class in javax.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../javax/jms/JMSRuntimeException.html" title="class in javax.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-javax.jms.Destination-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a>&nbsp;send(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../javax/jms/InvalidDestinationRuntimeException.html" title="class in javax.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../javax/jms/JMSRuntimeException.html" title="class in javax.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-javax.jms.Destination-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a>&nbsp;send(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../javax/jms/InvalidDestinationRuntimeException.html" title="class in javax.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../javax/jms/JMSRuntimeException.html" title="class in javax.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-javax.jms.Destination-java.io.Serializable-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre><a href="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a>&nbsp;send(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if an invalid message is specified.</dd>
<dd><code><a href="../../javax/jms/InvalidDestinationRuntimeException.html" title="class in javax.jms">InvalidDestinationRuntimeException</a></code> - if a client uses this method with an invalid destination.</dd>
<dd><code><a href="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#getDeliveryMode--"><code>getDeliveryMode()</code></a>, 
<a href="../../javax/jms/DeliveryMode.html#NON_PERSISTENT"><code>DeliveryMode.NON_PERSISTENT</code></a>, 
<a href="../../javax/jms/DeliveryMode.html#PERSISTENT"><code>DeliveryMode.PERSISTENT</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#getPriority--"><code>getPriority()</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#getTimeToLive--"><code>getTimeToLive()</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#getDeliveryDelay--"><code>getDeliveryDelay()</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#setDeliveryDelay-long-"><code>setDeliveryDelay(long)</code></a></dd>
</dl>
</li>
</ul>
<a name="setAsync-javax.jms.CompletionListener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAsync</h4>
<pre><a href="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a>&nbsp;setAsync(<a href="../../javax/jms/CompletionListener.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.jms">JMSRuntimeException</a></code> - if an internal error occurs</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/jms/JMSProducer.html#getAsync--"><code>getAsync()</code></a>, 
<a href="../../javax/jms/CompletionListener.html" title="interface in javax.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="../../javax/jms/CompletionListener.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#setAsync-javax.jms.CompletionListener-"><code>setAsync(javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if the object is invalid</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/MessageFormatRuntimeException.html" title="class in javax.jms">MessageFormatRuntimeException</a></code> - if this type conversion is invalid.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#setJMSCorrelationID-java.lang.String-"><code>setJMSCorrelationID(String)</code></a>, 
<a href="../../javax/jms/JMSProducer.html#getJMSCorrelationID--"><code>getJMSCorrelationID()</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#setJMSCorrelationID-java.lang.String-"><code>setJMSCorrelationID(String)</code></a>, 
<a href="../../javax/jms/JMSProducer.html#getJMSCorrelationID--"><code>getJMSCorrelationID()</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#getJMSCorrelationID--"><code>getJMSCorrelationID()</code></a>, 
<a href="../../javax/jms/JMSProducer.html#getJMSCorrelationIDAsBytes--"><code>getJMSCorrelationIDAsBytes()</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#setJMSCorrelationID-java.lang.String-"><code>setJMSCorrelationID(String)</code></a>, 
<a href="../../javax/jms/JMSProducer.html#getJMSCorrelationIDAsBytes--"><code>getJMSCorrelationIDAsBytes()</code></a>, 
<a href="../../javax/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="../../javax/jms/JMSProducer.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#setJMSType-java.lang.String-"><code>setJMSType(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setJMSReplyTo-javax.jms.Destination-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJMSReplyTo</h4>
<pre><a href="../../javax/jms/JMSProducer.html" title="interface in javax.jms">JMSProducer</a>&nbsp;setJMSReplyTo(<a href="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/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="../../javax/jms/Destination.html" title="interface in javax.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="../../javax/jms/JMSRuntimeException.html" title="class in javax.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="../../javax/jms/JMSProducer.html#setJMSReplyTo-javax.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="../../javax/jms/JMSPasswordCredential.html" title="annotation in javax.jms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../javax/jms/JMSRuntimeException.html" title="class in javax.jms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/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>
