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