<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.4.2_08) on Sat Apr 22 18:56:44 PDT 2006 -->
<TITLE>
JMSVendorAdapter (Axis API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.axis.components.jms.JMSVendorAdapter class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="JMSVendorAdapter (Axis API)";
}
</SCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JMSVendorAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/axis/components/jms/BeanVendorAdapter.html" title="class in org.apache.axis.components.jms"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapterFactory.html" title="class in org.apache.axis.components.jms"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="JMSVendorAdapter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.axis.components.jms</FONT>
<BR>
Class JMSVendorAdapter</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><B>org.apache.axis.components.jms.JMSVendorAdapter</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/axis/components/jms/BeanVendorAdapter.html" title="class in org.apache.axis.components.jms">BeanVendorAdapter</A>, <A HREF="../../../../../org/apache/axis/components/jms/JNDIVendorAdapter.html" title="class in org.apache.axis.components.jms">JNDIVendorAdapter</A></DD>
</DL>
<HR>
<DL>
<DT>public abstract class <B>JMSVendorAdapter</B><DT>extends java.lang.Object</DL>

<P>
SPI Interface that all JMSVendorAdaptors must implement.  Allows for
 ConnectionFactory creation and Destination lookup
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Jaime Meritt (jmeritt@sonicsoftware.com), Ray Chun (rchun@sonicsoftware.com)</DD>
</DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#CONNECT_ACTION">CONNECT_ACTION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#ON_EXCEPTION_ACTION">ON_EXCEPTION_ACTION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#RECEIVE_ACTION">RECEIVE_ACTION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#SEND_ACTION">SEND_ACTION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#SUBSCRIBE_ACTION">SUBSCRIBE_ACTION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#JMSVendorAdapter()">JMSVendorAdapter</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#addVendorConnectionFactoryProperties(org.apache.axis.transport.jms.JMSURLHelper, java.util.HashMap)">addVendorConnectionFactoryProperties</A></B>(<A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl,
                                     java.util.HashMap&nbsp;cfProps)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.HashMap</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#getJMSConnectionFactoryProperties(org.apache.axis.transport.jms.JMSURLHelper)">getJMSConnectionFactoryProperties</A></B>(<A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a connection factory property table using values supplied in
 the endpoint address</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.HashMap</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#getJMSConnectorProperties(org.apache.axis.transport.jms.JMSURLHelper)">getJMSConnectorProperties</A></B>(<A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a JMS connector property table using values supplied in
 the endpoint address.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.jms.Queue</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#getQueue(javax.jms.QueueSession, java.lang.String)">getQueue</A></B>(javax.jms.QueueSession&nbsp;session,
         java.lang.String&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;javax.jms.QueueConnectionFactory</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#getQueueConnectionFactory(java.util.HashMap)">getQueueConnectionFactory</A></B>(java.util.HashMap&nbsp;cfProps)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.jms.Topic</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#getTopic(javax.jms.TopicSession, java.lang.String)">getTopic</A></B>(javax.jms.TopicSession&nbsp;session,
         java.lang.String&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;javax.jms.TopicConnectionFactory</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#getTopicConnectionFactory(java.util.HashMap)">getTopicConnectionFactory</A></B>(java.util.HashMap&nbsp;cfProps)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#getVendorId()">getVendorId</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#isMatchingConnectionFactory(javax.jms.ConnectionFactory, org.apache.axis.transport.jms.JMSURLHelper, java.util.HashMap)">isMatchingConnectionFactory</A></B>(javax.jms.ConnectionFactory&nbsp;cf,
                            <A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl,
                            java.util.HashMap&nbsp;cfProps)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#isRecoverable(java.lang.Throwable, int)">isRecoverable</A></B>(java.lang.Throwable&nbsp;thrown,
              int&nbsp;action)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#setProperties(javax.jms.Message, java.util.HashMap)">setProperties</A></B>(javax.jms.Message&nbsp;message,
              java.util.HashMap&nbsp;props)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#setupApplicationProperties(org.apache.axis.MessageContext, org.apache.axis.client.Call, org.apache.axis.transport.jms.JMSURLHelper)">setupApplicationProperties</A></B>(<A HREF="../../../../../org/apache/axis/MessageContext.html" title="class in org.apache.axis">MessageContext</A>&nbsp;context,
                           <A HREF="../../../../../org/apache/axis/client/Call.html" title="class in org.apache.axis.client">Call</A>&nbsp;call,
                           <A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapter.html#setupMessageContext(org.apache.axis.MessageContext, org.apache.axis.client.Call, org.apache.axis.transport.jms.JMSURLHelper)">setupMessageContext</A></B>(<A HREF="../../../../../org/apache/axis/MessageContext.html" title="class in org.apache.axis">MessageContext</A>&nbsp;context,
                    <A HREF="../../../../../org/apache/axis/client/Call.html" title="class in org.apache.axis.client">Call</A>&nbsp;call,
                    <A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set JMS properties in the message context.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="SEND_ACTION"><!-- --></A><H3>
SEND_ACTION</H3>
<PRE>
public static final int <B>SEND_ACTION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.axis.components.jms.JMSVendorAdapter.SEND_ACTION">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="CONNECT_ACTION"><!-- --></A><H3>
CONNECT_ACTION</H3>
<PRE>
public static final int <B>CONNECT_ACTION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.axis.components.jms.JMSVendorAdapter.CONNECT_ACTION">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="SUBSCRIBE_ACTION"><!-- --></A><H3>
SUBSCRIBE_ACTION</H3>
<PRE>
public static final int <B>SUBSCRIBE_ACTION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.axis.components.jms.JMSVendorAdapter.SUBSCRIBE_ACTION">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="RECEIVE_ACTION"><!-- --></A><H3>
RECEIVE_ACTION</H3>
<PRE>
public static final int <B>RECEIVE_ACTION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.axis.components.jms.JMSVendorAdapter.RECEIVE_ACTION">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="ON_EXCEPTION_ACTION"><!-- --></A><H3>
ON_EXCEPTION_ACTION</H3>
<PRE>
public static final int <B>ON_EXCEPTION_ACTION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.axis.components.jms.JMSVendorAdapter.ON_EXCEPTION_ACTION">Constant Field Values</A></DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="JMSVendorAdapter()"><!-- --></A><H3>
JMSVendorAdapter</H3>
<PRE>
public <B>JMSVendorAdapter</B>()</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="getQueueConnectionFactory(java.util.HashMap)"><!-- --></A><H3>
getQueueConnectionFactory</H3>
<PRE>
public abstract javax.jms.QueueConnectionFactory <B>getQueueConnectionFactory</B>(java.util.HashMap&nbsp;cfProps)
                                                                    throws java.lang.Exception</PRE>
<DL>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getTopicConnectionFactory(java.util.HashMap)"><!-- --></A><H3>
getTopicConnectionFactory</H3>
<PRE>
public abstract javax.jms.TopicConnectionFactory <B>getTopicConnectionFactory</B>(java.util.HashMap&nbsp;cfProps)
                                                                    throws java.lang.Exception</PRE>
<DL>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="addVendorConnectionFactoryProperties(org.apache.axis.transport.jms.JMSURLHelper, java.util.HashMap)"><!-- --></A><H3>
addVendorConnectionFactoryProperties</H3>
<PRE>
public abstract void <B>addVendorConnectionFactoryProperties</B>(<A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl,
                                                          java.util.HashMap&nbsp;cfProps)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isMatchingConnectionFactory(javax.jms.ConnectionFactory, org.apache.axis.transport.jms.JMSURLHelper, java.util.HashMap)"><!-- --></A><H3>
isMatchingConnectionFactory</H3>
<PRE>
public abstract boolean <B>isMatchingConnectionFactory</B>(javax.jms.ConnectionFactory&nbsp;cf,
                                                    <A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl,
                                                    java.util.HashMap&nbsp;cfProps)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVendorId()"><!-- --></A><H3>
getVendorId</H3>
<PRE>
public java.lang.String <B>getVendorId</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getJMSConnectorProperties(org.apache.axis.transport.jms.JMSURLHelper)"><!-- --></A><H3>
getJMSConnectorProperties</H3>
<PRE>
public java.util.HashMap <B>getJMSConnectorProperties</B>(<A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</PRE>
<DL>
<DD>Creates a JMS connector property table using values supplied in
 the endpoint address.  Properties are translated from the short form
 in the endpoint address to the long form (prefixed by "transport.jms.")
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>jmsurl</CODE> - the endpoint address
<DT><B>Returns:</B><DD>the set of properties to be used for instantiating the JMS connector</DL>
</DD>
</DL>
<HR>

<A NAME="getJMSConnectionFactoryProperties(org.apache.axis.transport.jms.JMSURLHelper)"><!-- --></A><H3>
getJMSConnectionFactoryProperties</H3>
<PRE>
public java.util.HashMap <B>getJMSConnectionFactoryProperties</B>(<A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</PRE>
<DL>
<DD>Creates a connection factory property table using values supplied in
 the endpoint address
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>jmsurl</CODE> - the endpoint address
<DT><B>Returns:</B><DD>the set of properties to be used for instantiating the connection factory</DL>
</DD>
</DL>
<HR>

<A NAME="getQueue(javax.jms.QueueSession, java.lang.String)"><!-- --></A><H3>
getQueue</H3>
<PRE>
public javax.jms.Queue <B>getQueue</B>(javax.jms.QueueSession&nbsp;session,
                                java.lang.String&nbsp;name)
                         throws java.lang.Exception</PRE>
<DL>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getTopic(javax.jms.TopicSession, java.lang.String)"><!-- --></A><H3>
getTopic</H3>
<PRE>
public javax.jms.Topic <B>getTopic</B>(javax.jms.TopicSession&nbsp;session,
                                java.lang.String&nbsp;name)
                         throws java.lang.Exception</PRE>
<DL>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="isRecoverable(java.lang.Throwable, int)"><!-- --></A><H3>
isRecoverable</H3>
<PRE>
public boolean <B>isRecoverable</B>(java.lang.Throwable&nbsp;thrown,
                             int&nbsp;action)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setProperties(javax.jms.Message, java.util.HashMap)"><!-- --></A><H3>
setProperties</H3>
<PRE>
public void <B>setProperties</B>(javax.jms.Message&nbsp;message,
                          java.util.HashMap&nbsp;props)
                   throws javax.jms.JMSException</PRE>
<DL>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>javax.jms.JMSException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setupMessageContext(org.apache.axis.MessageContext, org.apache.axis.client.Call, org.apache.axis.transport.jms.JMSURLHelper)"><!-- --></A><H3>
setupMessageContext</H3>
<PRE>
public void <B>setupMessageContext</B>(<A HREF="../../../../../org/apache/axis/MessageContext.html" title="class in org.apache.axis">MessageContext</A>&nbsp;context,
                                <A HREF="../../../../../org/apache/axis/client/Call.html" title="class in org.apache.axis.client">Call</A>&nbsp;call,
                                <A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</PRE>
<DL>
<DD>Set JMS properties in the message context.

 TODO: just copy all properties that are not used for the JMS connector
 or connection factory
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setupApplicationProperties(org.apache.axis.MessageContext, org.apache.axis.client.Call, org.apache.axis.transport.jms.JMSURLHelper)"><!-- --></A><H3>
setupApplicationProperties</H3>
<PRE>
public void <B>setupApplicationProperties</B>(<A HREF="../../../../../org/apache/axis/MessageContext.html" title="class in org.apache.axis">MessageContext</A>&nbsp;context,
                                       <A HREF="../../../../../org/apache/axis/client/Call.html" title="class in org.apache.axis.client">Call</A>&nbsp;call,
                                       <A HREF="../../../../../org/apache/axis/transport/jms/JMSURLHelper.html" title="class in org.apache.axis.transport.jms">JMSURLHelper</A>&nbsp;jmsurl)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JMSVendorAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/axis/components/jms/BeanVendorAdapter.html" title="class in org.apache.axis.components.jms"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/axis/components/jms/JMSVendorAdapterFactory.html" title="class in org.apache.axis.components.jms"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="JMSVendorAdapter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright © 2005 Apache Web Services Project. All Rights Reserved.
</BODY>
</HTML>
