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/21 17:43:34 UTC
svn commit: r956625 - in
/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms:
client/OnMessageSubscriber.java sampler/SubscriberSampler.java
Author: sebb
Date: Mon Jun 21 15:43:34 2010
New Revision: 956625
URL: http://svn.apache.org/viewvc?rev=956625&view=rev
Log:
Tidy up OnMessageSubscriber - no point continuing if cannot create the required fields
Modified:
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/sampler/SubscriberSampler.java
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=956625&r1=956624&r2=956625&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 Mon Jun 21 15:43:34 2010
@@ -44,13 +44,13 @@ public class OnMessageSubscriber {
private static final Logger log = LoggingManager.getLoggerForClass();
- private TopicConnection CONN = null;
+ private final TopicConnection CONN;
- private TopicSession SESSION = null;
+ private final TopicSession SESSION;
- private Topic TOPIC = null;
+ private final Topic TOPIC;
- private TopicSubscriber SUBSCRIBER = null;
+ private final TopicSubscriber SUBSCRIBER;
/**
* Constructor takes the necessary JNDI related parameters to create a
@@ -64,29 +64,35 @@ public class OnMessageSubscriber {
* @param useAuth
* @param user
* @param pwd
+ * @throws JMSException if could not create context or other problem occurred.
*/
public OnMessageSubscriber(boolean useProps, String jndi, String url, String connfactory, String topic,
- boolean useAuth, String user, String pwd) {
+ boolean useAuth, String user, String pwd) throws JMSException {
Context ctx = initJNDI(useProps, jndi, url, useAuth, user, pwd);
- if (ctx != null) {
- initConnection(ctx, connfactory, topic);
- } else {
- log.error("Could not initialize JNDI Initial Context Factory");
+ if (ctx == null){
+ throw new JMSException("Could not initialize JNDI Initial Context Factory");
}
+ ConnectionFactory.getTopicConnectionFactory(ctx, connfactory);
+ CONN = ConnectionFactory.getTopicConnection();
+ TOPIC = InitialContextFactory.lookupTopic(ctx, topic);
+ SESSION = this.CONN.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
+ SUBSCRIBER = this.SESSION.createSubscriber(this.TOPIC);
+ log.info("created the topic connection successfully");
}
/**
* initialize the JNDI intial context
*
- * @param useProps
- * @param jndi
- * @param url
+ * @param useProps - use jndi.properties file
+ * @param initialContextFactory
+ * @param providerUrl
* @param useAuth
- * @param user
- * @param pwd
+ * @param securityPrincipal
+ * @param securityCredentials
* @return the context or null
*/
- private Context initJNDI(boolean useProps, String jndi, String url, boolean useAuth, String user, String pwd) {
+ private Context initJNDI(boolean useProps,
+ String initialContextFactory, String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) {
if (useProps) {
try {
return new InitialContext();
@@ -95,27 +101,7 @@ public class OnMessageSubscriber {
return null;
}
} else {
- return InitialContextFactory.lookupContext(jndi, url, useAuth, user, pwd);
- }
- }
-
- /**
- * Initialize the connection, session and subscriber
- *
- * @param ctx
- * @param connfactory
- * @param topic
- */
- private void initConnection(Context ctx, String connfactory, String topic) {
- try {
- ConnectionFactory.getTopicConnectionFactory(ctx, connfactory);
- this.CONN = ConnectionFactory.getTopicConnection();
- this.TOPIC = InitialContextFactory.lookupTopic(ctx, topic);
- this.SESSION = this.CONN.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);
- this.SUBSCRIBER = this.SESSION.createSubscriber(this.TOPIC);
- log.info("created the topic connection successfully");
- } catch (JMSException e) {
- log.error("Connection error: " + e.getMessage());
+ return InitialContextFactory.lookupContext(initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
}
}
@@ -139,9 +125,6 @@ public class OnMessageSubscriber {
this.SUBSCRIBER.close();
this.SESSION.close();
this.CONN.close();
- this.SUBSCRIBER = null;
- this.SESSION = null;
- this.CONN = null;
} catch (JMSException e) {
log.error(e.getMessage());
}
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java?rev=956625&r1=956624&r2=956625&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java Mon Jun 21 15:43:34 2010
@@ -93,9 +93,10 @@ public class SubscriberSampler extends B
/**
* Create the OnMessageSubscriber client and set the sampler as the message
* listener.
+ * @throws JMSException
*
*/
- private OnMessageSubscriber initListenerClient() {
+ private OnMessageSubscriber initListenerClient() throws JMSException {
interrupted = false;
OnMessageSubscriber sub = (OnMessageSubscriber) ClientPool.get(this);
if (sub == null) {
@@ -152,13 +153,21 @@ public class SubscriberSampler extends B
StringBuffer buffer = new StringBuffer();
StringBuffer propBuffer = new StringBuffer();
int cnt;
-
- result.setSampleLabel(getName());
- initListenerClient();
-
int loop = this.getIterationCount();
+
+ result.setSampleLabel(getName());
result.sampleStart();
+ try {
+ initListenerClient();
+ } catch (JMSException ex) {
+ log.warn("",ex);
+ result.sampleEnd();
+ result.setResponseCode("000");
+ result.setResponseMessage(ex.getMessage());
+ return result;
+ }
+
while (queue.size() < loop && interrupted == false) {
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@jakarta.apache.org
For additional commands, e-mail: notifications-help@jakarta.apache.org