You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2016/04/05 18:27:45 UTC
svn commit: r1737853 - in /qpid/java/trunk:
client/src/main/java/org/apache/qpid/client/
client/src/main/java/org/apache/qpid/jms/
client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/
doc/jms-client-0-8/src/docbkx/
Author: orudyy
Date: Tue Apr 5 16:27:45 2016
New Revision: 1737853
URL: http://svn.apache.org/viewvc?rev=1737853&view=rev
Log:
QPID-7159: Add connection parameter to control whether a MessageProducer will populate the JMSXUserID value for each sent message using the authenticated username from the connection
Applied patch supplied by Jakub Scholz with some minor changes
Modified:
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnection.java
qpid/java/trunk/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
qpid/java/trunk/client/src/main/java/org/apache/qpid/jms/ConnectionURL.java
qpid/java/trunk/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java
qpid/java/trunk/doc/jms-client-0-8/src/docbkx/JMS-Client-Connection-URL.xml
Modified: qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnection.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnection.java?rev=1737853&r1=1737852&r2=1737853&view=diff
==============================================================================
--- qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnection.java (original)
+++ qpid/java/trunk/client/src/main/java/org/apache/qpid/client/AMQConnection.java Tue Apr 5 16:27:45 2016
@@ -207,6 +207,10 @@ public class AMQConnection extends Close
//By default it's async publish
private String _syncPublish = "";
+ //Indicates whether user-id should be attached to every sent message
+ //By default the user ID is attached
+ private boolean _populateUserId = true;
+
// Indicates whether to use the old map message format or the
// new amqp-0-10 encoded format.
private boolean _useLegacyMapMessageFormat;
@@ -347,6 +351,11 @@ public class AMQConnection extends Close
_syncPublish = System.getProperty((ClientProperties.SYNC_PUBLISH_PROP_NAME),_syncPublish);
}
+ if (connectionURL.getOption(ConnectionURL.OPTIONS_POPULATE_USER_ID) != null)
+ {
+ _populateUserId = Boolean.parseBoolean(connectionURL.getOption(ConnectionURL.OPTIONS_POPULATE_USER_ID));
+ }
+
if (connectionURL.getOption(ConnectionURL.OPTIONS_USE_LEGACY_MAP_MESSAGE_FORMAT) != null)
{
_useLegacyMapMessageFormat = Boolean.parseBoolean(
@@ -1750,6 +1759,11 @@ public class AMQConnection extends Close
return _syncPublish;
}
+ public boolean isPopulateUserId()
+ {
+ return _populateUserId;
+ }
+
public boolean isMessageCompressionDesired()
{
return _compressMessages;
Modified: qpid/java/trunk/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java?rev=1737853&r1=1737852&r2=1737853&view=diff
==============================================================================
--- qpid/java/trunk/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java (original)
+++ qpid/java/trunk/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java Tue Apr 5 16:27:45 2016
@@ -149,7 +149,7 @@ public abstract class BasicMessageProduc
: _defaultMandatoryValue
: mandatory;
- _userID = connection.getUsername();
+ _userID = connection.isPopulateUserId() ? connection.getUsername() : null;
setPublishMode();
}
Modified: qpid/java/trunk/client/src/main/java/org/apache/qpid/jms/ConnectionURL.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/client/src/main/java/org/apache/qpid/jms/ConnectionURL.java?rev=1737853&r1=1737852&r2=1737853&view=diff
==============================================================================
--- qpid/java/trunk/client/src/main/java/org/apache/qpid/jms/ConnectionURL.java (original)
+++ qpid/java/trunk/client/src/main/java/org/apache/qpid/jms/ConnectionURL.java Tue Apr 5 16:27:45 2016
@@ -82,6 +82,11 @@ public interface ConnectionURL
String OPTIONS_TEMPORARY_QUEUE_EXCHANGE = "temporaryQueueExchange";
String OPTIONS_VERIFY_QUEUE_ON_SEND = "verifyQueueOnSend";
+ /**
+ * This option specifies whether User-ID should be attached to each message sent over the connection
+ */
+ String OPTIONS_POPULATE_USER_ID = "populateJMSXUserID";
+
byte URL_0_8 = 1;
byte URL_0_10 = 2;
Modified: qpid/java/trunk/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java?rev=1737853&r1=1737852&r2=1737853&view=diff
==============================================================================
--- qpid/java/trunk/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java (original)
+++ qpid/java/trunk/client/src/test/java/org/apache/qpid/test/unit/client/connectionurl/ConnectionURLTest.java Tue Apr 5 16:27:45 2016
@@ -648,5 +648,12 @@ public class ConnectionURLTest extends Q
assertEquals(connectionurl.hashCode(), deserialisedConnectionUrl.hashCode());
}
+
+ public void testPopulateJMSXUserID() throws URLSyntaxException
+ {
+ String url = "amqp://test:test@/test?brokerlist='tcp://localhost:5672'&populateJMSXUserID='false'";
+ ConnectionURL connectionurl = new AMQConnectionURL(url);
+ assertEquals("false", connectionurl.getOption(ConnectionURL.OPTIONS_POPULATE_USER_ID));
+ }
}
Modified: qpid/java/trunk/doc/jms-client-0-8/src/docbkx/JMS-Client-Connection-URL.xml
URL: http://svn.apache.org/viewvc/qpid/java/trunk/doc/jms-client-0-8/src/docbkx/JMS-Client-Connection-URL.xml?rev=1737853&r1=1737852&r2=1737853&view=diff
==============================================================================
--- qpid/java/trunk/doc/jms-client-0-8/src/docbkx/JMS-Client-Connection-URL.xml (original)
+++ qpid/java/trunk/doc/jms-client-0-8/src/docbkx/JMS-Client-Connection-URL.xml Tue Apr 5 16:27:45 2016
@@ -149,6 +149,12 @@
<entry>Integer</entry>
<entry><para>The payload size beyond which the client will start to compress message payloads.</para></entry>
</row>
+ <row xml:id="JMS-Client-0-8-Connection-URL-ConnectionOptions-populateJMSXUserID">
+ <entry>populateJMSXUserID</entry>
+ <entry>boolean</entry>
+ <entry><para>Controls whether a MessageProducer will populate the JMSXUserID value for each sent message using the authenticated username from the connection.
+ It is set to true by default.</para></entry>
+ </row>
</tbody>
</tgroup>
</table>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org