Skip to content

Commit 58faaae

Browse files
authored
Added Partitioned Queue Snippets (#30)
1 parent 25ca3d1 commit 58faaae

File tree

3 files changed

+73
-2
lines changed

3 files changed

+73
-2
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ repositories {
5252

5353
dependencies {
5454
// Solace Messaging API for Java Dependencies
55-
implementation group: 'com.solace', name: 'solace-messaging-client', version: '1.2.0'
55+
implementation group: 'com.solace', name: 'solace-messaging-client', version: '1.4.0'
5656

5757
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.2'
5858
implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.17.2'

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<dependency>
1111
<groupId>com.solace</groupId>
1212
<artifactId>solace-messaging-client</artifactId>
13-
<version>1.2.0</version>
13+
<version>1.4.0</version>
1414
</dependency>
1515
<dependency>
1616
<groupId>org.apache.logging.log4j</groupId>
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package com.solace.samples.java.snippets;
2+
3+
import com.solace.messaging.MessagingService;
4+
import com.solace.messaging.config.SolaceConstants.MessageUserPropertyConstants;
5+
import com.solace.messaging.publisher.OutboundMessage;
6+
import com.solace.messaging.publisher.OutboundMessageBuilder;
7+
import java.util.Properties;
8+
9+
public class HowToCreateOutboundMessagesWithPartitionKey {
10+
11+
12+
/**
13+
* This example demonstrates how to set partition key using {@link OutboundMessageBuilder#withProperty(String,
14+
* String)}. This example demonstrates a DISPOSABLE single use {@link OutboundMessageBuilder}. We
15+
* recommend for performance purposes to reuse builder (one or multiple) instance to produce
16+
* {@link OutboundMessage} instances
17+
*
18+
* @param service instance of a messaging service
19+
* @param payload just a random byte payload
20+
* @return ready to go message
21+
*/
22+
public static OutboundMessage createMessageWithPartitionKeyUsingWithProperty(
23+
MessagingService service, byte[] payload) {
24+
final String samplePartitionKey = "Group_0";
25+
final OutboundMessage myCustomMessage = service.messageBuilder()
26+
.withProperty(MessageUserPropertyConstants.QUEUE_PARTITION_KEY, samplePartitionKey)
27+
.build(payload);
28+
return myCustomMessage;
29+
}
30+
31+
/**
32+
* This example demonstrates how to set partition key using {@link OutboundMessageBuilder#build(byte[],
33+
* Properties)}. This example demonstrates a DISPOSABLE single use {@link OutboundMessageBuilder}.
34+
* We recommend for performance purposes to reuse builder (one or multiple) instance to produce
35+
* {@link OutboundMessage} instances
36+
*
37+
* @param service instance of a messaging service
38+
* @param payload just a random byte payload
39+
* @return ready to go message
40+
*/
41+
public static OutboundMessage createMessageWithPartitionKeyUsingBuildMethodProperties(
42+
MessagingService service, byte[] payload) {
43+
final Properties properties = new Properties();
44+
final String samplePartitionKey = "Group_0";
45+
properties.setProperty(MessageUserPropertyConstants.QUEUE_PARTITION_KEY, samplePartitionKey);
46+
final OutboundMessage myCustomMessage = service.messageBuilder()
47+
.build(payload, properties);
48+
return myCustomMessage;
49+
}
50+
51+
/**
52+
* This example demonstrates how to set partition key using {@link OutboundMessageBuilder#fromProperties(Properties)}.
53+
* This example demonstrates a DISPOSABLE single use {@link OutboundMessageBuilder}. We recommend
54+
* for performance purposes to reuse builder (one or multiple) instance to produce {@link
55+
* OutboundMessage} instances
56+
*
57+
* @param service instance of a messaging service
58+
* @param payload just a random byte payload
59+
* @return ready to go message
60+
*/
61+
public static OutboundMessage createMessageWithPartitionKeyUsingFromProperties(
62+
MessagingService service, byte[] payload) {
63+
final Properties properties = new Properties();
64+
final String samplePartitionKey = "Group_0";
65+
properties.setProperty(MessageUserPropertyConstants.QUEUE_PARTITION_KEY, samplePartitionKey);
66+
final OutboundMessage myCustomMessage = service.messageBuilder()
67+
.fromProperties(properties)
68+
.build(payload);
69+
return myCustomMessage;
70+
}
71+
}

0 commit comments

Comments
 (0)