All,

Attached is a patch that makes the modifications to the JMS transport
that we discussed in the Tuesday IRC chat.  Mainly, it removes the
SonicMQ usage from the sample code and replaces it with JNDI.
Furthermore I have introduced a pluggable JMS vendor component that is
used for vendor specific ConnectionFactory and Destination creation.
This allows vendors that offer direct ConnectionFactory instantiation
options to be used with Axis without requiring JNDI.  Implementations
are plugged in using a system property per Glen's suggestion.  I have
been unsuccessful in running 'ant clean all-tests' against it due to
unrelated wsdl test failures.  Would someone, such as James who has
reviewed the code previously, commit the code once the all-tests results
pass. 

If you want to apply the patch, the instructions below should do it.  

- Remove src\org\apache\axis\transport\jms\SonicConstants.java
- Place jndi-connection-factory.properties into samples\jms directory
- Unzip jms.zip into org\apache\axis\components directory
- Apply diff.txt

Thanks,
Jaime Meritt
Sonic Software

Attachment: jndi-connection-factory.properties
Description: Binary data

Attachment: jms.zip
Description: Zip compressed data

cvs diff -w (in directory C:\CVSStore\xml-axis)
? java/samples/jms/jndi-connection-factory.properties
? java/src/org/apache/axis/components/jms
cvs server: Diffing .
cvs server: Diffing contrib
cvs server: Diffing contrib/Axis-C++
cvs server: Diffing contrib/Axis-C++/Axis_Release
cvs server: Diffing contrib/Axis-C++/Linux
cvs server: Diffing contrib/Axis-C++/Linux/KDev
cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis
cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis/axtest
cvs server: Diffing contrib/Axis-C++/TestHarnesses
cvs server: Diffing contrib/Axis-C++/Win32
cvs server: Diffing contrib/Axis-C++/Win32/Axis_Release
cvs server: Diffing contrib/Axis-C++/Win32/Calculator
cvs server: Diffing contrib/Axis-C++/Win32/Fault
cvs server: Diffing contrib/Axis-C++/Win32/TestHarness
cvs server: Diffing contrib/Axis-C++/Win32/UserType
cvs server: Diffing contrib/Axis-C++/Win32/axis-dll-not-finish
cvs server: Diffing contrib/Axis-C++/docs
cvs server: Diffing contrib/Axis-C++/docs/ApiDocs
cvs server: Diffing contrib/Axis-C++/doxygen
cvs server: Diffing contrib/Axis-C++/lib
cvs server: Diffing contrib/Axis-C++/lib/AIX_4.3
cvs server: Diffing contrib/Axis-C++/lib/Linux
cvs server: Diffing contrib/Axis-C++/lib/NT_4.0
cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.6
cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.7
cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.8
cvs server: Diffing contrib/Axis-C++/objs
cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3
cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3/common
cvs server: Diffing contrib/Axis-C++/objs/Linux
cvs server: Diffing contrib/Axis-C++/objs/Linux/common
cvs server: Diffing contrib/Axis-C++/objs/NT_4.0
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6/common
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7/common
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8/common
cvs server: Diffing contrib/Axis-C++/src
cvs server: Diffing contrib/Axis-C++/src/Client
cvs server: Diffing contrib/Axis-C++/src/Encoding
cvs server: Diffing contrib/Axis-C++/src/Message
cvs server: Diffing contrib/Axis-C++/src/Transport
cvs server: Diffing contrib/Axis-C++/src/Util
cvs server: Diffing contrib/Axis-C++/src/Xml
cvs server: Diffing contrib/Axis-C++/xerces-c
cvs server: Diffing contrib/Axis-C++/xerces-c/bin
cvs server: Diffing contrib/Axis-C++/xerces-c/include
cvs server: Diffing contrib/Axis-C++/xerces-c/include/dom
cvs server: Diffing contrib/Axis-C++/xerces-c/include/framework
cvs server: Diffing contrib/Axis-C++/xerces-c/include/idom
cvs server: Diffing contrib/Axis-C++/xerces-c/include/internal
cvs server: Diffing contrib/Axis-C++/xerces-c/include/parsers
cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax
cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax2
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Compilers
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/regx
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/DTD
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/common
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/datatype
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/schema
cvs server: Diffing contrib/Axis-C++/xerces-c/lib
cvs server: Diffing contrib/Axis-C++/xerces-c/lib/Linux
cvs server: Diffing java
Index: java/build.xml
===================================================================
RCS file: /home/cvspublic/xml-axis/java/build.xml,v
retrieving revision 1.192
diff -w -r1.192 build.xml
109a110
>       <exclude name="**/org/apache/axis/components/jms/*" unless="jms.present"/>
cvs server: Diffing java/docs
cvs server: Diffing java/lib
cvs server: Diffing java/samples
cvs server: Diffing java/samples/addr
cvs server: Diffing java/samples/attachments
cvs server: Diffing java/samples/bidbuy
cvs server: Diffing java/samples/echo
cvs server: Diffing java/samples/encoding
cvs server: Diffing java/samples/integrationGuide
cvs server: Diffing java/samples/integrationGuide/example1
cvs server: Diffing java/samples/integrationGuide/example2
cvs server: Diffing java/samples/jaxm
cvs server: Diffing java/samples/jaxrpc
cvs server: Diffing java/samples/jaxrpc/address
cvs server: Diffing java/samples/jaxrpc/hello
cvs server: Diffing java/samples/jms
Index: java/samples/jms/JMSTest.java
===================================================================
RCS file: /home/cvspublic/xml-axis/java/samples/jms/JMSTest.java,v
retrieving revision 1.1
diff -w -r1.1 JMSTest.java
70d69
< import org.apache.axis.transport.jms.SonicConstants;
107c106
<         if ((opts.isFlagSet('?') > 0) || (opts.isFlagSet('h') > 0)) {
---
>         if ((opts.isFlagSet('?') > 0) || (opts.isFlagSet('h') > 0))
109d107
<         }
110a109,113
>         HashMap connectorMap = SimpleJMSListener.createConnectorMap(opts);
>         HashMap cfMap = SimpleJMSListener.createCFMap(opts);
>         String destination = opts.isValueSet('d');
>         String username = opts.getUser();
>         String password = opts.getPassword();
112c115,120
<         SimpleJMSListener listener = new SimpleJMSListener(opts);
---
>         SimpleJMSListener listener = new SimpleJMSListener(connectorMap,
>                                                            cfMap,
>                                                            destination,
>                                                            username,
>                                                            password,
>                                                            false);
116c124
<         if ( args == null ) {
---
>         if ( args == null || args.length == 0)
118,124d125
<         }
< 
<         int numArgs = args.length;
<         String[] symbols = new String[numArgs];
<         for (int i = 0; i < numArgs; i++) {
<             symbols[i] = args[i];
<         }
128,152d128
<         HashMap cfProps = new HashMap();
<         cfProps.put(SonicConstants.BROKER_URL, opts.isValueSet('b'));
<         cfProps.put(SonicConstants.DEFAULT_USERNAME, opts.getUser());
<         cfProps.put(SonicConstants.DEFAULT_PASSWORD, opts.getPassword());
< 
<         // do we have a jndi name?
<         String jndiName = opts.isValueSet('n');
<         if (jndiName != null) {
<             // w/ a jndi name, we can get the appropriate connection factory
<             cfProps.put(JMSConstants.CONNECTION_FACTORY_JNDI_NAME, jndiName);
<         } else {
<             // w/o a jndi name, we default to using the Sonic-specific method
<             // for creating a connection factory, which is by specifying the
<             // appropriate connection factory class from SonicConstants.java
< 
<             // topics or queues?
<             String cf = null;
<             if (opts.isFlagSet('t') > 0) {
<                 cf = SonicConstants.TCF_CLASS;
<             } else {
<                 cf = SonicConstants.QCF_CLASS;
<             }
<             cfProps.put(JMSConstants.CONNECTION_FACTORY_CLASS, cf);
<         }
< 
154c130
<         JMSTransport transport = new JMSTransport(null, cfProps);
---
>         JMSTransport transport = new JMSTransport(connectorMap, cfMap);
165,168c141,142
< 
<         //call.setUsername(opts.getUser() );
<         //call.setPassword(opts.getPassword() );
< 
---
>         //call.setUsername(username );
>         //call.setPassword(password );
175c149
<         call.setProperty(JMSConstants.DESTINATION, "SampleQ1");
---
>         call.setProperty(JMSConstants.DESTINATION, destination);
181,183c155,157
<         for (int i = 0; i < symbols.length; i++) {
<             res = (Float) call.invoke(new Object[] {symbols[i]});
<             System.out.println(symbols[i] + ": " + res);
---
>         for (int i = 0; i < args.length; i++) {
>             res = (Float) call.invoke(new Object[] {args[i]});
>             System.out.println(args[i] + ": " + res);
197,200c171
<         System.out.println("         -b brokerurl");
<         System.out.println("         -u username");
<         System.out.println("         -w password");
<         System.out.println();
---
>         System.out.println("       -c connection factory properties filename");
204,205c175,176
<         System.out.println("         -n jndi name for connection factory");
<         System.out.println("            [jndi name obviates need for -t option]");
---
>         System.out.println("       -u username");
>         System.out.println("       -w password");
cvs server: Diffing java/samples/message
cvs server: Diffing java/samples/misc
cvs server: Diffing java/samples/proxy
cvs server: Diffing java/samples/security
cvs server: Diffing java/samples/stock
cvs server: Diffing java/samples/transport
cvs server: Diffing java/samples/transport/tcp
cvs server: Diffing java/samples/userguide
cvs server: Diffing java/samples/userguide/example1
cvs server: Diffing java/samples/userguide/example2
cvs server: Diffing java/samples/userguide/example3
cvs server: Diffing java/samples/userguide/example4
cvs server: Diffing java/samples/userguide/example5
cvs server: Diffing java/samples/userguide/example6
cvs server: Diffing java/src
cvs server: Diffing java/src/javax
cvs server: Diffing java/src/javax/xml
cvs server: Diffing java/src/javax/xml/messaging
cvs server: Diffing java/src/javax/xml/namespace
cvs server: Diffing java/src/javax/xml/rpc
cvs server: Diffing java/src/javax/xml/rpc/encoding
cvs server: Diffing java/src/javax/xml/rpc/handler
cvs server: Diffing java/src/javax/xml/rpc/handler/soap
cvs server: Diffing java/src/javax/xml/rpc/holders
cvs server: Diffing java/src/javax/xml/rpc/server
cvs server: Diffing java/src/javax/xml/rpc/soap
cvs server: Diffing java/src/javax/xml/soap
cvs server: Diffing java/src/javax/xml/transform
cvs server: Diffing java/src/javax/xml/transform/dom
cvs server: Diffing java/src/javax/xml/transform/sax
cvs server: Diffing java/src/javax/xml/transform/stream
cvs server: Diffing java/src/org
cvs server: Diffing java/src/org/apache
cvs server: Diffing java/src/org/apache/axis
cvs server: Diffing java/src/org/apache/axis/attachments
cvs server: Diffing java/src/org/apache/axis/client
cvs server: Diffing java/src/org/apache/axis/components
cvs server: Diffing java/src/org/apache/axis/components/compiler
cvs server: Diffing java/src/org/apache/axis/components/image
cvs server: Diffing java/src/org/apache/axis/components/logger
cvs server: Diffing java/src/org/apache/axis/components/net
cvs server: Diffing java/src/org/apache/axis/configuration
cvs server: Diffing java/src/org/apache/axis/deployment
cvs server: Diffing java/src/org/apache/axis/deployment/wsdd
cvs server: Diffing java/src/org/apache/axis/deployment/wsdd/providers
cvs server: Diffing java/src/org/apache/axis/description
cvs server: Diffing java/src/org/apache/axis/encoding
cvs server: Diffing java/src/org/apache/axis/encoding/ser
cvs server: Diffing java/src/org/apache/axis/enum
cvs server: Diffing java/src/org/apache/axis/handlers
cvs server: Diffing java/src/org/apache/axis/handlers/http
cvs server: Diffing java/src/org/apache/axis/handlers/soap
cvs server: Diffing java/src/org/apache/axis/holders
cvs server: Diffing java/src/org/apache/axis/message
cvs server: Diffing java/src/org/apache/axis/monitor
cvs server: Diffing java/src/org/apache/axis/providers
cvs server: Diffing java/src/org/apache/axis/providers/java
cvs server: Diffing java/src/org/apache/axis/schema
cvs server: Diffing java/src/org/apache/axis/security
cvs server: Diffing java/src/org/apache/axis/security/servlet
cvs server: Diffing java/src/org/apache/axis/security/simple
cvs server: Diffing java/src/org/apache/axis/server
cvs server: Diffing java/src/org/apache/axis/session
cvs server: Diffing java/src/org/apache/axis/soap
cvs server: Diffing java/src/org/apache/axis/strategies
cvs server: Diffing java/src/org/apache/axis/transport
cvs server: Diffing java/src/org/apache/axis/transport/http
cvs server: Diffing java/src/org/apache/axis/transport/java
cvs server: Diffing java/src/org/apache/axis/transport/jms
Index: java/src/org/apache/axis/transport/jms/JMSConnector.java
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/transport/jms/JMSConnector.java,v
retrieving revision 1.1
diff -w -r1.1 JMSConnector.java
80a81,82
> import org.apache.axis.components.jms.JMSVendorAdapter;
> 
107c109
<     private   Context         m_context;
---
>     protected JMSVendorAdapter  m_adapter;
119c121
<                         Context context)
---
>                         JMSVendorAdapter adapter)
129c131
<         m_context = context;
---
>         m_adapter = adapter;
207,219c209
<     public JMSEndpoint createEndpoint(String destinationName)
<         throws JMSException, NamingException
<     {
<         if(m_context == null)
<             return internalCreateEndpoint(destinationName);
<         else
<         {
<             Destination destination = (Destination)m_context.lookup(destinationName);
<             return createEndpoint(destination);
<         }
<     }
< 
<     protected abstract JMSEndpoint internalCreateEndpoint(String destinationName)
---
>     public abstract JMSEndpoint createEndpoint(String destinationName)
328c318
<                 catch(JMSException e)
---
>                 catch(Exception e)
400c390
<             throws JMSException
---
>             throws Exception
419c409
<         protected abstract void onConnect()throws JMSException;
---
>         protected abstract void onConnect()throws Exception;
478c468
<             throws JMSException
---
>             throws Exception
531c521
<             throws JMSException
---
>             throws Exception
657c647
<                 throws JMSException
---
>                 throws Exception
681c671
<                 throws JMSException
---
>                 throws Exception
805c795
<             throws JMSException;
---
>             throws Exception;
832c822
<             throws JMSException
---
>             throws Exception
929c919
<             throws JMSException
---
>             throws Exception
971c961
<                 throws JMSException
---
>                 throws Exception
Index: java/src/org/apache/axis/transport/jms/JMSConnectorFactory.java
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/transport/jms/JMSConnectorFactory.java,v
retrieving revision 1.1
diff -w -r1.1 JMSConnectorFactory.java
69,74c69,70
< import javax.naming.Context;
< import javax.naming.InitialContext;
< 
< import org.apache.axis.utils.ClassUtils;
< import org.apache.axis.utils.BeanUtils;
< import org.apache.axis.utils.BeanPropertyDescriptor;
---
> import org.apache.axis.components.jms.JMSVendorAdapterFactory;
> import org.apache.axis.components.jms.JMSVendorAdapter;
161a158,160
>         String domain = MapUtils.removeStringProperty(connectorConfig,
>                                     JMSConstants.DOMAIN,
>                                     JMSConstants.DOMAIN_DEFAULT);
166,180c165,166
<         ConnectionFactory factory = null;
<         Context context = null;
<         if(cfConfig.containsKey(JMSConstants.CONNECTION_FACTORY_JNDI_NAME))
<         {
<             context = getContext(cfConfig);
<             factory = getConnectionFactoryFromJNDI(cfConfig, context);
<         }
<         else if(cfConfig.containsKey(JMSConstants.CONNECTION_FACTORY_CLASS))
<         {
<             factory = getConnectionFactoryFromBean(cfConfig);
<         }
<         else
<             throw new IllegalArgumentException("invalidCfConfig");
< 
<         if(factory instanceof QueueConnectionFactory)
---
>         JMSVendorAdapter adapter = JMSVendorAdapterFactory.getJMSVendorAdapter();
>         if(domain.equals(JMSConstants.DOMAIN_QUEUE))
182c168
<             return new QueueConnector((QueueConnectionFactory)factory,
---
>             return new QueueConnector(adapter.getQueueConnectionFactory(cfConfig),
185c171,172
<                                       allowReceive, clientID, username, password, 
context);
---
>                                       allowReceive, clientID, username, password,
>                                       adapter);
187c174
<         else // (factory instanceof TopicConnectionFactory)
---
>         else // domain is Topic
189c176
<             return new TopicConnector((TopicConnectionFactory)factory,
---
>             return new TopicConnector(adapter.getTopicConnectionFactory(cfConfig),
192c179,180
<                                       allowReceive, clientID, username, password, 
context);
---
>                                       allowReceive, clientID, username, password,
>                                       adapter);
195,247d182
< 
<     private static ConnectionFactory getConnectionFactoryFromBean(HashMap cfConfig)
<         throws Exception
<     {
<         String classname = 
(String)cfConfig.get(JMSConstants.CONNECTION_FACTORY_CLASS);
<         Class factoryClass = ClassUtils.forName(classname);
<         ConnectionFactory factory = (ConnectionFactory)factoryClass.newInstance();
<         callSetters(cfConfig, factoryClass, factory);
<         return factory;
< 
<     }
< 
<     private static Context getContext(HashMap cfConfig)
<         throws Exception
<     {
<         Hashtable environment = new Hashtable(cfConfig);
<         return new InitialContext(environment);
<     }
< 
<     private static ConnectionFactory getConnectionFactoryFromJNDI(HashMap cfConfig, 
Context context)
<         throws Exception
<     {
<         String jndiName = 
(String)cfConfig.get(JMSConstants.CONNECTION_FACTORY_JNDI_NAME);
<         return (ConnectionFactory)context.lookup(jndiName);
<     }
< 
<     private static void callSetters(HashMap cfConfig,
<                                     Class factoryClass,
<                                     ConnectionFactory factory)
<       throws Exception
<     {
<         BeanPropertyDescriptor[] bpd = BeanUtils.getPd(factoryClass);
<         for(int i = 0; i < bpd.length; i++)
<         {
<             BeanPropertyDescriptor thisBPD = bpd[i];
<             String propName = thisBPD.getName();
<             if(cfConfig.containsKey(propName))
<             {
<                 Object value = cfConfig.get(propName);
<                 String validType = thisBPD.getType().getName();
<                 if(!value.getClass().getName().equals(validType))
<                     throw new IllegalArgumentException("badType");
<                 if(!thisBPD.isWriteable())
<                     throw new IllegalArgumentException("notWriteable");
<                 if(thisBPD.isIndexed())
<                     throw new IllegalArgumentException("noIndexedSupport");
<                 thisBPD.set(factory, value);
<             }
<         }
<     }
< 
< 
< 
Index: java/src/org/apache/axis/transport/jms/JMSConstants.java
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/transport/jms/JMSConstants.java,v
retrieving revision 1.1
diff -w -r1.1 JMSConstants.java
92c92
<      * <code>SonicConnectionFactory</code> parameter valid for either domain.  This 
should
---
>      * <code>JMSConnectorFactory</code> parameter valid for either domain.  This 
>should
105,106c105
<     final static String CONNECTION_FACTORY_CLASS =
<         "transport.jms.ConnectionFactoryClass";
---
>     final static String DOMAIN          = "transport.jms.Domain";
108,109c107,111
<     final static String CONNECTION_FACTORY_JNDI_NAME =
<         "transport.jms.ConnectionFactoryJNDIName";
---
>     final static String DOMAIN_QUEUE    = "QUEUE";
> 
>     final static String DOMAIN_TOPIC    = "TOPIC";
> 
>     final static String DOMAIN_DEFAULT  = DOMAIN_QUEUE;
Index: java/src/org/apache/axis/transport/jms/JMSEndpoint.java
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/transport/jms/JMSEndpoint.java,v
retrieving revision 1.1
diff -w -r1.1 JMSEndpoint.java
82c82
<         throws JMSException;
---
>         throws Exception;
92c92
<     public byte[] call(byte[] message, long timeout)throws JMSException
---
>     public byte[] call(byte[] message, long timeout)throws Exception
107c107
<         throws JMSException
---
>         throws Exception
120c120
<     public void send(byte[] message)throws JMSException
---
>     public void send(byte[] message)throws Exception
133c133
<         throws JMSException
---
>         throws Exception
147c147
<         throws JMSException
---
>         throws Exception
160c160
<         throws JMSException
---
>         throws Exception
Index: java/src/org/apache/axis/transport/jms/QueueConnector.java
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/transport/jms/QueueConnector.java,v
retrieving revision 1.1
diff -w -r1.1 QueueConnector.java
75,76d74
< import javax.naming.Context;
< 
78a77,78
> import org.apache.axis.components.jms.JMSVendorAdapter;
> 
100c100
<                           Context context)
---
>                           JMSVendorAdapter adapter)
105c105
<               username, password, context);
---
>               username, password, adapter);
108c108
<     protected JMSEndpoint internalCreateEndpoint(String destination)
---
>     public JMSEndpoint createEndpoint(String destination)
163c163
<         throws JMSException
---
>         throws Exception
165c165
<         return session.createQueue(subject);
---
>         return m_adapter.getQueue(session, subject);
251c251
<             throws JMSException
---
>             throws Exception
324c324
<             throws JMSException
---
>             throws Exception
Index: java/src/org/apache/axis/transport/jms/SimpleJMSListener.java
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/transport/jms/SimpleJMSListener.java,v
retrieving revision 1.3
diff -w -r1.3 SimpleJMSListener.java
60a61,63
> import java.io.FileInputStream;
> import java.io.BufferedInputStream;
> import java.io.IOException;
62a66
> import java.util.Properties;
78a83
> 
80a86
> 
100c106
<     private static boolean doThreads = true;
---
>     private static boolean doThreads;
106c112,114
<     public SimpleJMSListener(Options options)
---
>     public SimpleJMSListener(HashMap connectorMap, HashMap cfMap,
>                              String destination, String username,
>                              String password, boolean doThreads)
109,130c117
<         HashMap cfMap = new HashMap();
<         cfMap.put(SonicConstants.BROKER_URL, options.isValueSet('b'));
< 
<         // do we have a jndi name?
<         String jndiName = options.isValueSet('n');
<         if (jndiName != null) {
<             cfMap.put(JMSConstants.CONNECTION_FACTORY_JNDI_NAME, jndiName);
<         } else {
<             // topics or queues?
<             String cf = null;
<             if (options.isFlagSet('t') > 0) {
<                 cf = SonicConstants.TCF_CLASS;
<             } else {
<                 cf = SonicConstants.QCF_CLASS;
<             }
<             cfMap.put(JMSConstants.CONNECTION_FACTORY_CLASS, cf);
<         }
< 
<         // single-threaded?
<         if (options.isFlagSet('s') > 0) {
<             doThreads = false;
<         }
---
>         this.doThreads = doThreads;
134c121
<                                 createServerConnector(null,
---
>                                 createServerConnector(connectorMap,
136,137c123,124
<                                                       options.getUser(),
<                                                       options.getPassword());
---
>                                                       username,
>                                                       password);
144,145c131
<         endpoint = connector.createEndpoint(options.isValueSet('d'));
<         endpoint.registerListener(this);
---
>         endpoint = connector.createEndpoint(destination);
190a177
>         throws Exception
191a179
>         endpoint.registerListener(this);
195a184
>         throws Exception
196a186
>         endpoint.unregisterListener(this);
200a191,214
>     public static final HashMap createConnectorMap(Options options)
>     {
>         HashMap connectorMap = new HashMap();
>         if (options.isFlagSet('t') > 0)
>         {
>             //queue is default so only setup map if topic domain is required
>             connectorMap.put(JMSConstants.DOMAIN, JMSConstants.DOMAIN_TOPIC);
>         }
>         return connectorMap;
>     }
> 
>     public static final HashMap createCFMap(Options options)
>         throws IOException
>     {
>         String cfFile = options.isValueSet('c');
>         if(cfFile == null)
>             return null;
> 
>         Properties cfProps = new Properties();
>         cfProps.load(new BufferedInputStream(new FileInputStream(cfFile)));
>         HashMap cfMap = new HashMap(cfProps);
>         return cfMap;
>     }
> 
206c220
<         if ((options.isFlagSet('?') > 0) || (options.isFlagSet('h') > 0)) {
---
>         if ((options.isFlagSet('?') > 0) || (options.isFlagSet('h') > 0))
208d221
<         }
210c223,228
<         SimpleJMSListener listener = new SimpleJMSListener(options);
---
>         SimpleJMSListener listener = new 
>SimpleJMSListener(createConnectorMap(options),
>                                                            createCFMap(options),
>                                                            options.isValueSet('d'),
>                                                            options.getUser(),
>                                                            options.getPassword(),
>                                                            options.isFlagSet('s') > 
>0);
218,221c236
<         System.out.println("       -b brokerurl");
<         System.out.println("       -u username");
<         System.out.println("       -w password");
<         System.out.println();
---
>         System.out.println("       -c connection factory properties filename");
225,226c240,241
<         System.out.println("       -n jndi name for connection factory");
<         System.out.println("          [jndi name obviates need for -t option]");
---
>         System.out.println("       -u username");
>         System.out.println("       -w password");
Index: java/src/org/apache/axis/transport/jms/TopicConnector.java
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/transport/jms/TopicConnector.java,v
retrieving revision 1.1
diff -w -r1.1 TopicConnector.java
84c84
< import javax.naming.Context;
---
> import org.apache.axis.components.jms.JMSVendorAdapter;
106c106
<                           Context context)
---
>                           JMSVendorAdapter adapter)
111c111
<               clientID, username, password, context);
---
>               clientID, username, password, adapter);
153c153
<     protected JMSEndpoint internalCreateEndpoint(String destination)
---
>     public JMSEndpoint createEndpoint(String destination)
181c181
<         throws JMSException
---
>         throws Exception
183c183
<         return session.createTopic(subject);
---
>         return m_adapter.getTopic(session, subject);
188c188
<         throws JMSException
---
>         throws Exception
244c244
<             throws JMSException
---
>             throws Exception
260c260
<                 throws JMSException
---
>                 throws Exception
363c363
<             throws JMSException
---
>             throws Exception
cvs server: Diffing java/src/org/apache/axis/transport/local
cvs server: Diffing java/src/org/apache/axis/types
cvs server: Diffing java/src/org/apache/axis/utils
cvs server: Diffing java/src/org/apache/axis/utils/bytecode
cvs server: Diffing java/src/org/apache/axis/utils/cache
cvs server: Diffing java/src/org/apache/axis/wsdl
cvs server: Diffing java/src/org/apache/axis/wsdl/fromJava
cvs server: Diffing java/src/org/apache/axis/wsdl/gen
cvs server: Diffing java/src/org/apache/axis/wsdl/symbolTable
cvs server: Diffing java/src/org/apache/axis/wsdl/toJava
cvs server: Diffing java/test
cvs server: Diffing java/test/RPCDispatch
cvs server: Diffing java/test/chains
cvs server: Diffing java/test/concurrency
cvs server: Diffing java/test/doesntWork
cvs server: Diffing java/test/dynamic
cvs server: Diffing java/test/encoding
cvs server: Diffing java/test/encoding/beans
cvs server: Diffing java/test/faults
cvs server: Diffing java/test/functional
cvs server: Diffing java/test/functional/ant
cvs server: Diffing java/test/httpunit
cvs server: Diffing java/test/httpunit/lib
cvs server: Diffing java/test/httpunit/src
cvs server: Diffing java/test/httpunit/src/test
cvs server: Diffing java/test/inheritance
cvs server: Diffing java/test/lib
cvs server: Diffing java/test/md5attach
cvs server: Diffing java/test/message
cvs server: Diffing java/test/outparams
cvs server: Diffing java/test/properties
cvs server: Diffing java/test/saaj
cvs server: Diffing java/test/session
cvs server: Diffing java/test/soap
cvs server: Diffing java/test/soap12
cvs server: Diffing java/test/templateTest
cvs server: Diffing java/test/types
cvs server: Diffing java/test/utils
cvs server: Diffing java/test/utils/cache
cvs server: Diffing java/test/wsdd
cvs server: Diffing java/test/wsdl
cvs server: Diffing java/test/wsdl/_import
cvs server: Diffing java/test/wsdl/addrNoImplSEI
cvs server: Diffing java/test/wsdl/arrays
cvs server: Diffing java/test/wsdl/attachments
cvs server: Diffing java/test/wsdl/clash
cvs server: Diffing java/test/wsdl/datatypes
cvs server: Diffing java/test/wsdl/echo
cvs server: Diffing java/test/wsdl/extensibility
cvs server: Diffing java/test/wsdl/faults
cvs server: Diffing java/test/wsdl/filegen
cvs server: Diffing java/test/wsdl/getPort
cvs server: Diffing java/test/wsdl/import2
cvs server: Diffing java/test/wsdl/import2/interface1
cvs server: Diffing java/test/wsdl/import2/interface1/interface2
cvs server: Diffing java/test/wsdl/import2/service1
cvs server: Diffing java/test/wsdl/import2/service1/service2
cvs server: Diffing java/test/wsdl/import2/types1
cvs server: Diffing java/test/wsdl/import2/types1/types2
cvs server: Diffing java/test/wsdl/import2/types1/types3
cvs server: Diffing java/test/wsdl/import3
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/cmp
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/includes
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl1
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl2
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/wsdl
cvs server: Diffing java/test/wsdl/include
cvs server: Diffing java/test/wsdl/include/address
cvs server: Diffing java/test/wsdl/include/state
cvs server: Diffing java/test/wsdl/inheritance
cvs server: Diffing java/test/wsdl/inout
cvs server: Diffing java/test/wsdl/interop
cvs server: Diffing java/test/wsdl/interop3
cvs server: Diffing java/test/wsdl/interop3/compound1
cvs server: Diffing java/test/wsdl/interop3/compound2
cvs server: Diffing java/test/wsdl/interop3/docLit
cvs server: Diffing java/test/wsdl/interop3/docLitParam
cvs server: Diffing java/test/wsdl/interop3/groupE
cvs server: Diffing java/test/wsdl/interop3/groupE/client
cvs server: Diffing java/test/wsdl/interop3/import1
cvs server: Diffing java/test/wsdl/interop3/import1/imported
cvs server: Diffing java/test/wsdl/interop3/import2
cvs server: Diffing java/test/wsdl/interop3/import2/imported
cvs server: Diffing java/test/wsdl/interop3/import3
cvs server: Diffing java/test/wsdl/interop3/import3/imported
cvs server: Diffing java/test/wsdl/interop3/rpcEnc
cvs server: Diffing java/test/wsdl/jaxrpchandler
cvs server: Diffing java/test/wsdl/literal
cvs server: Diffing java/test/wsdl/marrays
cvs server: Diffing java/test/wsdl/multibinding
cvs server: Diffing java/test/wsdl/multiref
cvs server: Diffing java/test/wsdl/multithread
cvs server: Diffing java/test/wsdl/names
cvs server: Diffing java/test/wsdl/nested
cvs server: Diffing java/test/wsdl/omit
cvs server: Diffing java/test/wsdl/oneway
cvs server: Diffing java/test/wsdl/opStyles
cvs server: Diffing java/test/wsdl/parameterOrder
cvs server: Diffing java/test/wsdl/polymorphism
cvs server: Diffing java/test/wsdl/qualify
cvs server: Diffing java/test/wsdl/qualify2
cvs server: Diffing java/test/wsdl/ram
cvs server: Diffing java/test/wsdl/refattr
cvs server: Diffing java/test/wsdl/roundtrip
cvs server: Diffing java/test/wsdl/roundtrip/holders
cvs server: Diffing java/test/wsdl/sequence
cvs server: Diffing java/test/wsdl/session
cvs server: Diffing java/test/wsdl/terra
cvs server: Diffing java/test/wsdl/types
cvs server: Diffing java/test/wsdl/wrapped
cvs server: Diffing java/tools
cvs server: Diffing java/tools/org
cvs server: Diffing java/tools/org/apache
cvs server: Diffing java/tools/org/apache/axis
cvs server: Diffing java/tools/org/apache/axis/tools
cvs server: Diffing java/tools/org/apache/axis/tools/ant
cvs server: Diffing java/tools/org/apache/axis/tools/ant/axis
cvs server: Diffing java/tools/org/apache/axis/tools/ant/foreach
cvs server: Diffing java/tools/org/apache/axis/tools/ant/wsdl
cvs server: Diffing java/webapps
cvs server: Diffing java/webapps/axis
cvs server: Diffing java/webapps/axis/WEB-INF
cvs server: Diffing java/wsdd
cvs server: Diffing java/wsdd/docs
cvs server: Diffing java/wsdd/examples
cvs server: Diffing java/wsdd/examples/chaining_examples
cvs server: Diffing java/wsdd/examples/from_SOAP_v2
cvs server: Diffing java/wsdd/examples/serviceConfiguration_examples
cvs server: Diffing java/wsdd/providers
cvs server: Diffing java/xmls
Index: java/xmls/targets.xml
===================================================================
RCS file: /home/cvspublic/xml-axis/java/xmls/targets.xml,v
retrieving revision 1.35
diff -w -r1.35 targets.xml
cvs server: Diffing proposals
cvs server: Diffing proposals/arch
cvs server: Diffing proposals/arch/docs
cvs server: Diffing proposals/arch/src
cvs server: Diffing proposals/arch/src/org
cvs server: Diffing proposals/arch/src/org/apache
cvs server: Diffing proposals/arch/src/org/apache/axis
cvs server: Diffing proposals/arch/src/org/apache/axis/flow
cvs server: Diffing proposals/arch/test
cvs server: Diffing proposals/arch/test/flow
cvs server: Diffing proposals/async
cvs server: Diffing proposals/async/samples
cvs server: Diffing proposals/async/samples/async
cvs server: Diffing proposals/async/src
cvs server: Diffing proposals/async/src/org
cvs server: Diffing proposals/async/src/org/apache
cvs server: Diffing proposals/async/src/org/apache/axis
cvs server: Diffing proposals/async/src/org/apache/axis/client
cvs server: Diffing proposals/async/src/org/apache/axis/client/async
cvs server: Diffing proposals/async/src/org/apache/axis/client/async/simple
cvs server: Diffing proposals/async/test
cvs server: Diffing proposals/async/test/functional
cvs server: Diffing proposals/async_sonic
cvs server: Diffing proposals/async_sonic/samples
cvs server: Diffing proposals/async_sonic/samples/jms
cvs server: Diffing proposals/async_sonic/src
cvs server: Diffing proposals/async_sonic/src/org
cvs server: Diffing proposals/async_sonic/src/org/apache
cvs server: Diffing proposals/async_sonic/src/org/apache/axis
cvs server: Diffing proposals/async_sonic/src/org/apache/axis/transport
cvs server: Diffing proposals/async_sonic/src/org/apache/axis/transport/jms
cvs server: Diffing proposals/async_sonic/src/org/apache/axis/utils
cvs server: Diffing proposals/async_sonic/xmls

*****CVS exited normally with code 1*****

Reply via email to