From: <di...@us...> - 2012-06-25 21:23:56
|
Revision: 16729 http://exist.svn.sourceforge.net/exist/?rev=16729&view=rev Author: dizzzz Date: 2012-06-25 21:23:50 +0000 (Mon, 25 Jun 2012) Log Message: ----------- [ignore] added message message priority (producer side), updated documentation Modified Paths: -------------- branches/dizzzz/clustering/extensions/clustering/doc/README.txt branches/dizzzz/clustering/extensions/clustering/doc/example.xconf branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/jms/publish/JMSMessageSender.java branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/shared/ParametersHelper.java Modified: branches/dizzzz/clustering/extensions/clustering/doc/README.txt =================================================================== --- branches/dizzzz/clustering/extensions/clustering/doc/README.txt 2012-06-25 21:09:44 UTC (rev 16728) +++ branches/dizzzz/clustering/extensions/clustering/doc/README.txt 2012-06-25 21:23:50 UTC (rev 16729) @@ -45,6 +45,7 @@ <parameter name="topic" value="dynamicTopics/eXistdb"/> <parameter name="client.connection.client-id" value="PublisherId"/> <parameter name="producer.time-to-live" value="0"/> + <parameter name="producer.priority" value="4"/> </trigger> </triggers> </collection> Modified: branches/dizzzz/clustering/extensions/clustering/doc/example.xconf =================================================================== --- branches/dizzzz/clustering/extensions/clustering/doc/example.xconf 2012-06-25 21:09:44 UTC (rev 16728) +++ branches/dizzzz/clustering/extensions/clustering/doc/example.xconf 2012-06-25 21:23:50 UTC (rev 16729) @@ -34,9 +34,17 @@ <!-- Set time-to-live in milliseconds, default value is 0 (unlimited) see javax.jms.MessageProducer#setTimeToLive(long) + [Optional] --> <parameter name="producer.time-to-live" value="0"/> + <!-- + Sets the producer priority, calue 0-9 ; default is 4. + see javax.jms.MessageProducer#setPriority(int) + [Optional] + --> + <parameter name="producer.priority" value="4"/> + </trigger> </triggers> </collection> Modified: branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/jms/publish/JMSMessageSender.java =================================================================== --- branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/jms/publish/JMSMessageSender.java 2012-06-25 21:09:44 UTC (rev 16728) +++ branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/jms/publish/JMSMessageSender.java 2012-06-25 21:23:50 UTC (rev 16729) @@ -96,17 +96,30 @@ // Get time to live value - Long ttl=null; + Long timeToLive=null; String ttlValue = ParametersHelper.getConfigurationValue(parameters, ParametersHelper.JMS_PRODUCER_TTL); if (ttlValue != null && !ttlValue.equals("")) { try { - ttl = Long.valueOf(ttlValue); + timeToLive = Long.valueOf(ttlValue); } catch (NumberFormatException ex){ - String errorText="Unable to convert " + ttlValue + ". " + ex.getMessage(); + String errorText="Unable to set TTL; got '" + ttlValue + "'. " + ex.getMessage(); LOG.error(errorText); throw new TransportException(errorText); } } + + // Get priority + Integer priority=null; + String prioValue = ParametersHelper.getConfigurationValue(parameters, ParametersHelper.JMS_PRODUCER_PRIO); + if (prioValue != null && !prioValue.equals("")) { + try { + priority = Integer.valueOf(prioValue); + } catch (NumberFormatException ex){ + String errorText="Unable to set priority; got '" + prioValue + "'. " + ex.getMessage(); + LOG.error(errorText); + throw new TransportException(errorText); + } + } try { // Setup context @@ -135,11 +148,18 @@ // Create message MessageProducer producer = session.createProducer(destination); - if(ttl!=null){ - LOG.debug("Time-to-live="+ttl); - producer.setTimeToLive(ttl); + // Set time-to-live is set + if(timeToLive!=null){ + LOG.debug("Time-to-live="+timeToLive); + producer.setTimeToLive(timeToLive); } + // Set priority if set + if(priority!=null){ + LOG.debug("Priority="+priority); + producer.setPriority(priority); + } + BytesMessage message = session.createBytesMessage(); // Set payload when available Modified: branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/shared/ParametersHelper.java =================================================================== --- branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/shared/ParametersHelper.java 2012-06-25 21:09:44 UTC (rev 16728) +++ branches/dizzzz/clustering/extensions/clustering/src/org/exist/clustering/shared/ParametersHelper.java 2012-06-25 21:23:50 UTC (rev 16729) @@ -42,6 +42,7 @@ public static final String JMS_CLIENT_CONNECTION_ID = "client.connection.client-id"; public static final String JMS_CLIENT_TOPICSESSION_SUBSCRIBER = "client.topicsession.subscriber-name"; public static final String JMS_PRODUCER_TTL = "producer.time-to-live"; + public static final String JMS_PRODUCER_PRIO = "producer.priority"; /** * Convert a Map with a (multi values) List into a map with simple objects (strings) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |