You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jakarta.apache.org by se...@apache.org on 2010/06/22 17:41:16 UTC

svn commit: r956922 - in /jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client: InitialContextFactory.java OnMessageSubscriber.java Publisher.java ReceiveSubscriber.java

Author: sebb
Date: Tue Jun 22 15:41:16 2010
New Revision: 956922

URL: http://svn.apache.org/viewvc?rev=956922&view=rev
Log:
Move private initJNDI methods to InitialContextFactory.getContext()

Modified:
    jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
    jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/OnMessageSubscriber.java
    jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java
    jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java

Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java?rev=956922&r1=956921&r2=956922&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java Tue Jun 22 15:41:16 2010
@@ -48,10 +48,11 @@ public class InitialContextFactory {
      * @param useAuth set true if security is to be used.
      * @param securityPrincipal used to set the property {@link Context#SECURITY_PRINCIPAL}
      * @param securityCredentials used to set the property {@link Context#SECURITY_CREDENTIALS}
-     * @return the context, may be null
+     * @return the context, never null
+     * @throws NamingException 
      */
     public static synchronized Context lookupContext(String initialContextFactory, 
-            String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) {
+            String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) throws NamingException {
         Context ctx = MAP.get(initialContextFactory + providerUrl);
         if (ctx == null) {
             Properties props = new Properties();
@@ -63,20 +64,35 @@ public class InitialContextFactory {
                 props.setProperty(Context.SECURITY_CREDENTIALS, securityCredentials);
                 log.info("authentication properties set");
             }
-            try {
-                ctx = new InitialContext(props);
-                log.info("created the JNDI initial context for the factory");
-            } catch (NamingException e) {
-                log.error("lookupContext:: " + e.getMessage());
-            }
-            if (ctx != null) {
-                MAP.put(initialContextFactory + providerUrl, ctx);
-            }
+            ctx = new InitialContext(props);
+            MAP.put(initialContextFactory + providerUrl, ctx);
         }
         return ctx;
     }
 
     /**
+     * Initialize the JNDI initial context
+     *
+     * @param useProps if true, create a new InitialContext; otherwise use the other parameters to call
+     * {@link #lookupContext(String, String, boolean, String, String)} 
+     * @param initialContextFactory
+     * @param providerUrl
+     * @param useAuth
+     * @param securityPrincipal
+     * @param securityCredentials
+     * @return  the context, never null
+     * @throws NamingException 
+     */
+    public static Context getContext(boolean useProps, 
+            String initialContextFactory, String providerUrl, 
+            boolean useAuth, String securityPrincipal, String securityCredentials) throws NamingException {
+        if (useProps) {
+            return new InitialContext();
+        } else {
+            return lookupContext(initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
+        }
+    }
+    /**
      * clear all the InitialContext objects.
      */
     public synchronized static void close() { // TODO - why is this not used?

Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/OnMessageSubscriber.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/OnMessageSubscriber.java?rev=956922&r1=956921&r2=956922&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/OnMessageSubscriber.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/OnMessageSubscriber.java Tue Jun 22 15:41:16 2010
@@ -19,7 +19,6 @@
 package org.apache.jmeter.protocol.jms.client;
 
 import javax.naming.Context;
-import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.jms.JMSException;
 import javax.jms.MessageListener;
@@ -70,10 +69,7 @@ public class OnMessageSubscriber {
      */
     public OnMessageSubscriber(boolean useProps, String jndi, String url, String connfactory, String topic,
             boolean useAuth, String user, String pwd) throws JMSException, NamingException {
-        Context ctx = initJNDI(useProps, jndi, url, useAuth, user, pwd);
-        if (ctx == null){
-            throw new JMSException("Could not initialize JNDI Initial Context Factory");
-        }
+        Context ctx = InitialContextFactory.getContext(useProps, jndi, url, useAuth, user, pwd);
         ConnectionFactory.getTopicConnectionFactory(ctx, connfactory);
         CONN = ConnectionFactory.getTopicConnection();
         TOPIC = Utils.lookupTopic(ctx, topic);
@@ -83,31 +79,6 @@ public class OnMessageSubscriber {
     }
 
     /**
-     * initialize the JNDI intial context
-     *
-     * @param useProps - use jndi.properties file
-     * @param initialContextFactory
-     * @param providerUrl
-     * @param useAuth
-     * @param securityPrincipal
-     * @param securityCredentials
-     * @return the context or null
-     */
-    private Context initJNDI(boolean useProps, 
-            String initialContextFactory, String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) {
-        if (useProps) {
-            try {
-                return new InitialContext();
-            } catch (NamingException e) {
-                log.error(e.getMessage());
-                return null;
-            }
-        } else {
-            return InitialContextFactory.lookupContext(initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
-        }
-    }
-
-    /**
      * resume will call Connection.start() to begin receiving inbound messages.
      */
     public void resume() {

Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java?rev=956922&r1=956921&r2=956922&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java Tue Jun 22 15:41:16 2010
@@ -20,7 +20,6 @@ package org.apache.jmeter.protocol.jms.c
 
 import java.io.Serializable;
 import javax.naming.Context;
-import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import javax.jms.JMSException;
 import javax.jms.ObjectMessage;
@@ -63,11 +62,8 @@ public class Publisher {
             String connfactory, String topicName, boolean useAuth,
             String securityPrincipal, String securityCredentials) throws JMSException, NamingException {
         super();
-        Context ctx = initJNDI(useProps, initialContextFactory, 
+        Context ctx = InitialContextFactory.getContext(useProps, initialContextFactory, 
                 providerUrl, useAuth, securityPrincipal, securityCredentials);
-        if (ctx == null){
-            throw new JMSException("Could not initialize JNDI Initial Context Factory");
-        }
         ConnectionFactory.getTopicConnectionFactory(ctx,connfactory);
         connection = ConnectionFactory.getTopicConnection();
         topic = Utils.lookupTopic(ctx, topicName);
@@ -76,21 +72,6 @@ public class Publisher {
         log.info("created the topic connection successfully");
     }
 
-    private Context initJNDI(boolean useProps, String initialContextFactory, 
-            String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) {
-        if (useProps) {
-            try {
-                return new InitialContext();
-            } catch (NamingException e) {
-                log.error(e.getMessage());
-                return null;
-            }
-        } else {
-            return InitialContextFactory.lookupContext(initialContextFactory, 
-                    providerUrl, useAuth, securityPrincipal, securityCredentials);
-        }
-    }
-
     public void publish(String text) {
         try {
             TextMessage msg = session.createTextMessage(text);

Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java?rev=956922&r1=956921&r2=956922&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java Tue Jun 22 15:41:16 2010
@@ -28,7 +28,6 @@ import javax.jms.TopicConnection;
 import javax.jms.TopicSession;
 import javax.jms.TopicSubscriber;
 import javax.naming.Context;
-import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
 import org.apache.jmeter.protocol.jms.Utils;
@@ -75,7 +74,7 @@ public class ReceiveSubscriber implement
 
     public ReceiveSubscriber(boolean useProps, String jndi, String url, String connfactory, String topic,
             boolean useAuth, String user, String pwd) throws NamingException {
-        Context ctx = initJNDI(useProps, jndi, url, useAuth, user, pwd);
+        Context ctx = InitialContextFactory.getContext(useProps, jndi, url, useAuth, user, pwd);
         TopicConnection _conn = null;
         Topic _topic = null;
         TopicSession _session = null;
@@ -85,9 +84,6 @@ public class ReceiveSubscriber implement
                 ConnectionFactory.getTopicConnectionFactory(ctx,connfactory);
                 _conn = ConnectionFactory.getTopicConnection();
                 _topic = Utils.lookupTopic(ctx, topic);
-                if (_topic == null){
-                    log.warn("topic <"+topic+"> could not be found.");
-                }
                 _session = _conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
                 _subscriber = _session.createSubscriber(_topic);
                 log.info("created the topic connection successfully");
@@ -103,31 +99,6 @@ public class ReceiveSubscriber implement
     }
 
     /**
-     * Initialize the JNDI initial context
-     *
-     * @param useProps
-     * @param jndi
-     * @param url
-     * @param useAuth
-     * @param user
-     * @param pwd
-     * @return  the JNDI initial context or null
-     */
-    // Called by ctor
-    private Context initJNDI(boolean useProps, String jndi, String url, boolean useAuth, String user, String pwd) {
-        if (useProps) {
-            try {
-                return new InitialContext();
-            } catch (NamingException e) {
-                log.error(e.getMessage());
-                return null;
-            }
-        } else {
-            return InitialContextFactory.lookupContext(jndi, url, useAuth, user, pwd);
-        }
-    }
-
-    /**
      * Set the number of iterations for each call to sample()
      *
      * @param loop



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@jakarta.apache.org
For additional commands, e-mail: notifications-help@jakarta.apache.org