Skip to content

Commit a389dcf

Browse files
authored
Merge pull request #7 from data-experts/master
fix(dependency): use pulsar-client-original instead of pulsar-client
2 parents fb51d7f + 9f9dad6 commit a389dcf

14 files changed

+139
-33
lines changed

pom.xml

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,62 @@
22
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
44
<modelVersion>4.0.0</modelVersion>
5+
<parent>
6+
<groupId>org.springframework.boot</groupId>
7+
<artifactId>spring-boot-starter-parent</artifactId>
8+
<version>2.2.5.RELEASE</version>
9+
<relativePath/> <!-- lookup parent from repository -->
10+
</parent>
11+
512
<groupId>io.github.majusko</groupId>
613
<artifactId>pulsar-java-spring-boot-starter</artifactId>
7-
<version>0.0.2</version>
14+
<version>0.0.3-SNAPSHOT</version>
815
<name>pulsar-java-spring-boot-starter</name>
916
<description>Pulsar connect for Spring Boot</description>
1017

1118
<properties>
1219
<java.version>1.8</java.version>
1320
<maven.compiler.target>1.8</maven.compiler.target>
1421
<maven.compiler.source>1.8</maven.compiler.source>
15-
<spring.boot.version>2.2.1.RELEASE</spring.boot.version>
16-
<apache.pulsar.client.version>2.4.1</apache.pulsar.client.version>
22+
<apache.pulsar.client.version>2.5.1</apache.pulsar.client.version>
23+
<junit-jupiter.version>5.6.2</junit-jupiter.version>
24+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1725
</properties>
1826

1927
<dependencies>
2028
<dependency>
2129
<groupId>org.springframework.boot</groupId>
2230
<artifactId>spring-boot-starter</artifactId>
23-
<version>${spring.boot.version}</version>
2431
</dependency>
2532

2633
<dependency>
2734
<groupId>org.apache.pulsar</groupId>
28-
<artifactId>pulsar-client</artifactId>
35+
<artifactId>pulsar-client-original</artifactId>
2936
<version>${apache.pulsar.client.version}</version>
3037
</dependency>
3138

3239
<dependency>
3340
<groupId>org.springframework.boot</groupId>
3441
<artifactId>spring-boot-starter-test</artifactId>
35-
<version>${spring.boot.version}</version>
3642
<scope>test</scope>
3743
<exclusions>
44+
<!-- exclude junit 4 -->
45+
<exclusion>
46+
<groupId>junit</groupId>
47+
<artifactId>junit</artifactId>
48+
</exclusion>
3849
<exclusion>
3950
<groupId>org.junit.vintage</groupId>
4051
<artifactId>junit-vintage-engine</artifactId>
4152
</exclusion>
4253
</exclusions>
4354
</dependency>
4455

56+
<!-- include junit 5 -->
4557
<dependency>
46-
<groupId>org.testcontainers</groupId>
47-
<artifactId>testcontainers</artifactId>
48-
<version>1.11.2</version>
58+
<groupId>org.junit.jupiter</groupId>
59+
<artifactId>junit-jupiter-engine</artifactId>
60+
<version>${junit-jupiter.version}</version>
4961
<scope>test</scope>
5062
</dependency>
5163
</dependencies>
@@ -55,7 +67,18 @@
5567
<plugin>
5668
<groupId>org.springframework.boot</groupId>
5769
<artifactId>spring-boot-maven-plugin</artifactId>
58-
<version>2.1.5.RELEASE</version>
70+
<executions>
71+
<!-- use original jar for install/deploy instead of executable spring boot jar -->
72+
<execution>
73+
<id>repackage</id>
74+
<goals>
75+
<goal>repackage</goal>
76+
</goals>
77+
<configuration>
78+
<attach>false</attach>
79+
</configuration>
80+
</execution>
81+
</executions>
5982
</plugin>
6083

6184
<plugin>

src/main/java/io/github/majusko/pulsar/PulsarAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.apache.pulsar.client.api.PulsarClient;
44
import org.apache.pulsar.client.api.PulsarClientException;
5+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
56
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
67
import org.springframework.boot.context.properties.EnableConfigurationProperties;
78
import org.springframework.context.annotation.Bean;
@@ -13,7 +14,6 @@
1314
@Configuration
1415
@ComponentScan
1516
@EnableConfigurationProperties(PulsarProperties.class)
16-
@ConditionalOnProperty(value = "pulsar.mock", havingValue = "false", matchIfMissing = true)
1717
public class PulsarAutoConfiguration {
1818

1919
private final PulsarProperties pulsarProperties;
@@ -23,6 +23,7 @@ public PulsarAutoConfiguration(PulsarProperties pulsarProperties) {
2323
}
2424

2525
@Bean
26+
@ConditionalOnMissingBean
2627
public PulsarClient pulsarClient() throws PulsarClientException {
2728
return PulsarClient.builder()
2829
.serviceUrl(pulsarProperties.getServiceUrl())

src/main/java/io/github/majusko/pulsar/producer/ProducerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.github.majusko.pulsar.annotation.PulsarProducer;
44
import io.github.majusko.pulsar.constant.Serialization;
5-
import org.apache.pulsar.shade.org.apache.commons.lang3.tuple.ImmutablePair;
5+
import org.apache.commons.lang3.tuple.ImmutablePair;
66

77
import java.util.HashMap;
88
import java.util.Map;

src/main/java/io/github/majusko/pulsar/producer/PulsarProducerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.majusko.pulsar.producer;
22

33
import io.github.majusko.pulsar.constant.Serialization;
4-
import org.apache.pulsar.shade.org.apache.commons.lang3.tuple.ImmutablePair;
4+
import org.apache.commons.lang3.tuple.ImmutablePair;
55

66
import java.util.Map;
77

src/main/resources/application-test.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/test/java/io/github/majusko/pulsar/PulsarJavaSpringBootStarterApplicationTests.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
11
package io.github.majusko.pulsar;
22

33
import io.github.majusko.pulsar.collector.ConsumerCollector;
4-
import io.github.majusko.pulsar.collector.ConsumerHolder;
54
import io.github.majusko.pulsar.constant.Serialization;
65
import io.github.majusko.pulsar.consumer.ConsumerBuilder;
76
import io.github.majusko.pulsar.producer.ProducerFactory;
87
import io.github.majusko.pulsar.producer.PulsarTemplate;
98
import org.apache.pulsar.client.api.Consumer;
109
import org.apache.pulsar.client.api.PulsarClientException;
11-
import org.apache.pulsar.shade.org.apache.commons.lang3.tuple.ImmutablePair;
12-
import org.junit.Assert;
13-
import org.junit.Before;
10+
import org.apache.commons.lang3.tuple.ImmutablePair;
11+
import org.junit.jupiter.api.Assertions;
1412
import org.junit.jupiter.api.Test;
15-
import org.junit.runner.RunWith;
13+
import org.junit.jupiter.api.extension.ExtendWith;
1614
import org.springframework.beans.factory.annotation.Autowired;
15+
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
1716
import org.springframework.boot.test.context.SpringBootTest;
17+
import org.springframework.context.annotation.ComponentScan;
18+
import org.springframework.context.annotation.FilterType;
1819
import org.springframework.context.annotation.Import;
19-
import org.springframework.test.context.ActiveProfiles;
20-
import org.springframework.test.context.junit4.SpringRunner;
20+
import org.springframework.test.context.ContextConfiguration;
21+
import org.springframework.test.context.junit.jupiter.SpringExtension;
2122

2223
import java.util.HashSet;
2324
import java.util.List;
2425
import java.util.Map;
2526
import java.util.Set;
2627

27-
@RunWith(SpringRunner.class)
2828
@SpringBootTest
29-
@ActiveProfiles("test")
3029
@Import(TestProducerConfiguration.class)
3130
class PulsarJavaSpringBootStarterApplicationTests {
3231

@@ -51,12 +50,12 @@ void testProducerSendMethod() throws PulsarClientException {
5150
void testConsumerRegistration1() throws Exception {
5251
final List<Consumer> consumers = consumerBuilder.getConsumers();
5352

54-
Assert.assertEquals(1, consumers.size());
53+
Assertions.assertEquals(1, consumers.size());
5554

5655
final Consumer consumer = consumers.stream().findFirst().orElseThrow(Exception::new);
5756

58-
Assert.assertNotNull(consumer);
59-
Assert.assertEquals("mock-topic", consumer.getTopic());
57+
Assertions.assertNotNull(consumer);
58+
Assertions.assertEquals("mock-topic", consumer.getTopic());
6059
}
6160

6261
// @Test
@@ -76,11 +75,11 @@ void testProducerRegistration() {
7675

7776
final Map<String, ImmutablePair<Class<?>, Serialization>> topics = producerFactory.getTopics();
7877

79-
Assert.assertEquals(2, topics.size());
78+
Assertions.assertEquals(2, topics.size());
8079

8180
final Set<String> topicNames = new HashSet<>(topics.keySet());
8281

83-
Assert.assertTrue(topicNames.contains("topic-one"));
84-
Assert.assertTrue(topicNames.contains("topic-two"));
82+
Assertions.assertTrue(topicNames.contains("topic-one"));
83+
Assertions.assertTrue(topicNames.contains("topic-two"));
8584
}
8685
}

src/main/java/io/github/majusko/pulsar/PulsarMockAutoConfiguration.java renamed to src/test/java/io/github/majusko/pulsar/PulsarMockAutoConfiguration.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33
import io.github.majusko.pulsar.mock.MockPulsarClient;
44
import org.apache.pulsar.client.api.PulsarClient;
55
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
6+
import org.springframework.boot.test.context.TestConfiguration;
67
import org.springframework.context.annotation.Bean;
78
import org.springframework.context.annotation.ComponentScan;
89
import org.springframework.context.annotation.Configuration;
910

1011
@Configuration
11-
@ComponentScan
12-
@ConditionalOnProperty(value = "pulsar.mock")
1312
public class PulsarMockAutoConfiguration {
1413

1514
@Bean

src/test/java/io/github/majusko/pulsar/TestConsumerConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
import io.github.majusko.pulsar.annotation.PulsarConsumer;
44
import io.github.majusko.pulsar.constant.Serialization;
5-
import org.junit.Assert;
5+
import org.junit.jupiter.api.Assertions;
66
import org.springframework.stereotype.Service;
77

88
@Service
99
public class TestConsumerConfiguration {
1010

1111
@PulsarConsumer(topic = "mock-topic", clazz = MyMsg.class, serialization = Serialization.JSON)
1212
public void mockTheListener(MyMsg myMsg) {
13-
Assert.assertNotNull(myMsg);
13+
Assertions.assertNotNull(myMsg);
1414
}
1515
}

src/main/java/io/github/majusko/pulsar/mock/MockConsumer.java renamed to src/test/java/io/github/majusko/pulsar/mock/MockConsumer.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,36 @@ public Message<T> receive(int timeout, TimeUnit unit) throws PulsarClientExcepti
4141
return null;
4242
}
4343

44+
@Override
45+
public Messages<T> batchReceive() throws PulsarClientException {
46+
return null;
47+
}
48+
49+
@Override
50+
public CompletableFuture<Messages<T>> batchReceiveAsync() {
51+
return null;
52+
}
53+
4454
@Override
4555
public void acknowledge(MessageId messageId) throws PulsarClientException {
4656

4757
}
4858

59+
@Override
60+
public void acknowledge(Messages<?> messages) throws PulsarClientException {
61+
62+
}
63+
4964
@Override
5065
public void negativeAcknowledge(MessageId messageId) {
5166

5267
}
5368

69+
@Override
70+
public void negativeAcknowledge(Messages<?> messages) {
71+
72+
}
73+
5474
@Override
5575
public void acknowledgeCumulative(MessageId messageId) throws PulsarClientException {
5676

@@ -61,6 +81,11 @@ public CompletableFuture<Void> acknowledgeAsync(MessageId messageId) {
6181
return null;
6282
}
6383

84+
@Override
85+
public CompletableFuture<Void> acknowledgeAsync(Messages<?> messages) {
86+
return null;
87+
}
88+
6489
@Override
6590
public CompletableFuture<Void> acknowledgeCumulativeAsync(MessageId messageId) {
6691
return null;
@@ -111,6 +136,16 @@ public CompletableFuture<Void> seekAsync(long timestamp) {
111136
return null;
112137
}
113138

139+
@Override
140+
public MessageId getLastMessageId() throws PulsarClientException {
141+
return null;
142+
}
143+
144+
@Override
145+
public CompletableFuture<MessageId> getLastMessageIdAsync() {
146+
return null;
147+
}
148+
114149
@Override
115150
public boolean isConnected() {
116151
return false;

src/main/java/io/github/majusko/pulsar/mock/MockConsumerBuilder.java renamed to src/test/java/io/github/majusko/pulsar/mock/MockConsumerBuilder.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ public ConsumerBuilder<T> subscriptionType(SubscriptionType subscriptionType) {
6464
return this;
6565
}
6666

67+
@Override
68+
public ConsumerBuilder<T> subscriptionMode(SubscriptionMode subscriptionMode) {
69+
return null;
70+
}
71+
6772
@Override
6873
public ConsumerBuilder<T> messageListener(MessageListener messageListener) {
6974
return this;
@@ -74,6 +79,11 @@ public ConsumerBuilder<T> cryptoKeyReader(CryptoKeyReader cryptoKeyReader) {
7479
return this;
7580
}
7681

82+
@Override
83+
public ConsumerBuilder<T> messageCrypto(MessageCrypto messageCrypto) {
84+
return null;
85+
}
86+
7787
@Override
7888
public ConsumerBuilder<T> cryptoFailureAction(ConsumerCryptoFailureAction action) {
7989
return this;
@@ -154,6 +164,21 @@ public ConsumerBuilder<T> autoUpdatePartitions(boolean autoUpdate) {
154164
return this;
155165
}
156166

167+
@Override
168+
public ConsumerBuilder<T> keySharedPolicy(KeySharedPolicy keySharedPolicy) {
169+
return null;
170+
}
171+
172+
@Override
173+
public ConsumerBuilder<T> startMessageIdInclusive() {
174+
return null;
175+
}
176+
177+
@Override
178+
public ConsumerBuilder<T> batchReceivePolicy(BatchReceivePolicy batchReceivePolicy) {
179+
return null;
180+
}
181+
157182
@Override
158183
public ConsumerBuilder<T> properties(Map properties) {
159184
return this;

0 commit comments

Comments
 (0)