Skip to content

Commit d6aa4c8

Browse files
author
Eivind Siqveland Larsen
committed
DefaultNSQLookup: accept an ObjectMapper
The recommended way to use ObjectMapper is to have a shared instance in your application.
1 parent 19f4f83 commit d6aa4c8

File tree

3 files changed

+23
-13
lines changed

3 files changed

+23
-13
lines changed

src/main/java/com/github/brainlag/nsq/lookup/DefaultNSQLookup.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@
1414

1515
public class DefaultNSQLookup implements NSQLookup {
1616
Set<String> addresses = Sets.newHashSet();
17+
private final ObjectMapper mapper;
18+
19+
public DefaultNSQLookup() {
20+
this(new ObjectMapper());
21+
}
22+
23+
public DefaultNSQLookup(ObjectMapper mapper) {
24+
this.mapper = mapper;
25+
}
1726

1827
@Override
1928
public void addLookupAddress(String addr, int port) {
@@ -30,7 +39,6 @@ public Set<ServerAddress> lookup(String topic) {
3039

3140
for (String addr : getLookupAddresses()) {
3241
try {
33-
ObjectMapper mapper = new ObjectMapper();
3442
String topicEncoded = URLEncoder.encode(topic, Charsets.UTF_8.name());
3543
JsonNode jsonNode = mapper.readTree(new URL(addr + "/lookup?topic=" + topicEncoded));
3644
LogManager.getLogger(this).debug("Server connection information: {}", jsonNode);

src/test/java/com/github/brainlag/nsq/NSQConsumerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class NSQConsumerTest {
2121
@Test
2222
public void testLongRunningConsumer() throws NSQException, TimeoutException, InterruptedException {
2323
AtomicInteger counter = new AtomicInteger(0);
24-
NSQLookup lookup = new DefaultNSQLookup();
24+
NSQLookup lookup = new DefaultNSQLookup(mapper);
2525
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
2626

2727
NSQConsumer consumer = new NSQConsumer(lookup, "test1", "testconsumer", (message) -> {

src/test/java/com/github/brainlag/nsq/NSQProducerTest.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.github.brainlag.nsq;
22

3+
import com.fasterxml.jackson.databind.ObjectMapper;
34
import com.github.brainlag.nsq.exceptions.NSQException;
45
import com.github.brainlag.nsq.lookup.DefaultNSQLookup;
56
import com.github.brainlag.nsq.lookup.NSQLookup;
@@ -27,6 +28,7 @@
2728
import static org.junit.Assert.assertTrue;
2829

2930
public class NSQProducerTest {
31+
private ObjectMapper mapper = new ObjectMapper();
3032

3133
private NSQConfig getSnappyConfig() {
3234
final NSQConfig config = new NSQConfig();
@@ -68,7 +70,7 @@ private NSQConfig getSslAndDeflateConfig() throws SSLException {
6870
@Test
6971
public void testProduceOneMsgSnappy() throws NSQException, TimeoutException, InterruptedException {
7072
AtomicInteger counter = new AtomicInteger(0);
71-
NSQLookup lookup = new DefaultNSQLookup();
73+
NSQLookup lookup = new DefaultNSQLookup(mapper);
7274
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
7375

7476
NSQProducer producer = new NSQProducer();
@@ -96,7 +98,7 @@ public void testProduceOneMsgSnappy() throws NSQException, TimeoutException, Int
9698
public void testProduceOneMsgDeflate() throws NSQException, TimeoutException, InterruptedException {
9799
System.setProperty("io.netty.noJdkZlibDecoder", "false");
98100
AtomicInteger counter = new AtomicInteger(0);
99-
NSQLookup lookup = new DefaultNSQLookup();
101+
NSQLookup lookup = new DefaultNSQLookup(mapper);
100102
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
101103

102104
NSQProducer producer = new NSQProducer();
@@ -123,7 +125,7 @@ public void testProduceOneMsgDeflate() throws NSQException, TimeoutException, In
123125
@Test
124126
public void testProduceOneMsgSsl() throws InterruptedException, NSQException, TimeoutException, SSLException {
125127
AtomicInteger counter = new AtomicInteger(0);
126-
NSQLookup lookup = new DefaultNSQLookup();
128+
NSQLookup lookup = new DefaultNSQLookup(mapper);
127129
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
128130

129131
NSQProducer producer = new NSQProducer();
@@ -150,7 +152,7 @@ public void testProduceOneMsgSsl() throws InterruptedException, NSQException, Ti
150152
@Test
151153
public void testProduceOneMsgSslAndSnappy() throws InterruptedException, NSQException, TimeoutException, SSLException {
152154
AtomicInteger counter = new AtomicInteger(0);
153-
NSQLookup lookup = new DefaultNSQLookup();
155+
NSQLookup lookup = new DefaultNSQLookup(mapper);
154156
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
155157

156158
NSQProducer producer = new NSQProducer();
@@ -178,7 +180,7 @@ public void testProduceOneMsgSslAndSnappy() throws InterruptedException, NSQExce
178180
public void testProduceOneMsgSslAndDeflat() throws InterruptedException, NSQException, TimeoutException, SSLException {
179181
System.setProperty("io.netty.noJdkZlibDecoder", "false");
180182
AtomicInteger counter = new AtomicInteger(0);
181-
NSQLookup lookup = new DefaultNSQLookup();
183+
NSQLookup lookup = new DefaultNSQLookup(mapper);
182184
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
183185

184186
NSQProducer producer = new NSQProducer();
@@ -206,7 +208,7 @@ public void testProduceOneMsgSslAndDeflat() throws InterruptedException, NSQExce
206208
@Test
207209
public void testProduceMoreMsg() throws NSQException, TimeoutException, InterruptedException {
208210
AtomicInteger counter = new AtomicInteger(0);
209-
NSQLookup lookup = new DefaultNSQLookup();
211+
NSQLookup lookup = new DefaultNSQLookup(mapper);
210212
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
211213

212214
NSQConsumer consumer = new NSQConsumer(lookup, "test3", "testconsumer", (message) -> {
@@ -235,7 +237,7 @@ public void testProduceMoreMsg() throws NSQException, TimeoutException, Interrup
235237
@Test
236238
public void testParallelProducer() throws NSQException, TimeoutException, InterruptedException {
237239
AtomicInteger counter = new AtomicInteger(0);
238-
NSQLookup lookup = new DefaultNSQLookup();
240+
NSQLookup lookup = new DefaultNSQLookup(mapper);
239241
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
240242

241243
NSQConsumer consumer = new NSQConsumer(lookup, "test3", "testconsumer", (message) -> {
@@ -271,7 +273,7 @@ public void testParallelProducer() throws NSQException, TimeoutException, Interr
271273
@Test
272274
public void testMultiMessage() throws NSQException, TimeoutException, InterruptedException {
273275
AtomicInteger counter = new AtomicInteger(0);
274-
NSQLookup lookup = new DefaultNSQLookup();
276+
NSQLookup lookup = new DefaultNSQLookup(mapper);
275277
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
276278

277279
NSQConsumer consumer = new NSQConsumer(lookup, "test3", "testconsumer", (message) -> {
@@ -301,7 +303,7 @@ public void testMultiMessage() throws NSQException, TimeoutException, Interrupte
301303
@Test
302304
public void testBackoff() throws InterruptedException, NSQException, TimeoutException {
303305
AtomicInteger counter = new AtomicInteger(0);
304-
NSQLookup lookup = new DefaultNSQLookup();
306+
NSQLookup lookup = new DefaultNSQLookup(mapper);
305307
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
306308

307309
NSQConsumer consumer = new NSQConsumer(lookup, "test3", "testconsumer", (message) -> {
@@ -335,7 +337,7 @@ public void testBackoff() throws InterruptedException, NSQException, TimeoutExce
335337
@Test
336338
public void testScheduledCallback() throws NSQException, TimeoutException, InterruptedException {
337339
AtomicInteger counter = new AtomicInteger(0);
338-
NSQLookup lookup = new DefaultNSQLookup();
340+
NSQLookup lookup = new DefaultNSQLookup(mapper);
339341
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
340342

341343
NSQConsumer consumer = new NSQConsumer(lookup, "test3", "testconsumer", (message) -> {});
@@ -349,7 +351,7 @@ public void testScheduledCallback() throws NSQException, TimeoutException, Inter
349351

350352
@Test
351353
public void testEphemeralTopic() throws InterruptedException, NSQException, TimeoutException {
352-
NSQLookup lookup = new DefaultNSQLookup();
354+
NSQLookup lookup = new DefaultNSQLookup(mapper);
353355
lookup.addLookupAddress(Nsq.getNsqLookupdHost(), 4161);
354356

355357
NSQProducer producer = new NSQProducer();

0 commit comments

Comments
 (0)