Skip to content

Commit 9d82a0a

Browse files
authored
Remove non-blocking mailbox queue implementation (#7)
1 parent 542da69 commit 9d82a0a

30 files changed

+81
-441
lines changed

CHANGELOG.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2222
- Turn on checkstyle JavaDocs module.
2323
- Add updates to the protocol, like new `ControlMessage`.
2424
- Add Spring Boot support.
25-
- Remove non blocking queues, because it doesn't guarantee the order.
25+
26+
## [1.5.0](https://github.com/appulse-projects/encon-java/releases/tag/1.5.0) - 2018-07-07
27+
28+
Remove non blocking queues, because it doesn't guarantee the order.
29+
30+
### Changed
31+
32+
- Replaced non-blocking queue to blocking.
33+
- Edit docs.
34+
35+
### Removed
36+
37+
- Non-blocking queues.
2638

2739
## [1.4.0](https://github.com/appulse-projects/encon-java/releases/tag/1.4.0) - 2018-07-07
2840

encon-common/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ limitations under the License.
2525
<parent>
2626
<groupId>io.appulse.encon</groupId>
2727
<artifactId>encon-parent</artifactId>
28-
<version>1.4.0</version>
28+
<version>1.5.0</version>
2929
</parent>
3030

3131
<artifactId>encon-common</artifactId>

encon-config/README.md

+2-13
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ First of all, add config's dependency:
1414
<dependency>
1515
<groupId>io.appulse.encon</groupId>
1616
<artifactId>encon-config</artifactId>
17-
<version>1.4.0</version>
17+
<version>1.5.0</version>
1818
</dependency>
1919
...
2020
</dependencies>
@@ -23,7 +23,7 @@ First of all, add config's dependency:
2323
**Gradle**:
2424

2525
```groovy
26-
compile 'io.appulse.encon.java:encon-config:1.4.0'
26+
compile 'io.appulse.encon.java:encon-config:1.5.0'
2727
```
2828

2929
### File based configuration
@@ -57,8 +57,6 @@ defaults:
5757
distribution-flags:
5858
- MAP_TAG
5959
- BIG_CREATION
60-
mailbox:
61-
blocking: false
6260
server:
6361
boss-threads: 2
6462
worker-threads: 4
@@ -87,9 +85,7 @@ nodes:
8785
- BIG_CREATION
8886
mailboxes:
8987
- name: net_kernel
90-
blocking: false
9188
- name: another
92-
blocking: true
9389
- name: another_one
9490
server:
9591
port: 8971
@@ -101,7 +97,6 @@ nodes:
10197
cookie: popa
10298
mailboxes:
10399
- name: net_kernel
104-
blocking: false
105100

106101
```
107102

@@ -123,9 +118,6 @@ Config config = Config.builder()
123118
MAP_TAG,
124119
BIG_CREATION
125120
)))
126-
.mailbox(MailboxConfig.builder()
127-
.blocking(false)
128-
.build())
129121
.server(ServerConfig.builder()
130122
.bossThreads(2)
131123
.workerThreads(4)
@@ -150,11 +142,9 @@ Config config = Config.builder()
150142
.distributionFlag(BIG_CREATION)
151143
.mailbox(MailboxConfig.builder()
152144
.name("net_kernel")
153-
.blocking(false)
154145
.build())
155146
.mailbox(MailboxConfig.builder()
156147
.name("another")
157-
.blocking(true)
158148
.build())
159149
.mailbox(MailboxConfig.builder()
160150
.name("another")
@@ -171,7 +161,6 @@ Config config = Config.builder()
171161
.cookie("popa")
172162
.mailbox(MailboxConfig.builder()
173163
.name("net_kernel")
174-
.blocking(false)
175164
.build())
176165
.build()
177166
)

encon-config/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ limitations under the License.
2525
<parent>
2626
<groupId>io.appulse.encon</groupId>
2727
<artifactId>encon-parent</artifactId>
28-
<version>1.4.0</version>
28+
<version>1.5.0</version>
2929
</parent>
3030

3131
<artifactId>encon-config</artifactId>

encon-config/src/main/java/io/appulse/encon/config/CompressionConfig.java

+5
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ static CompressionConfig newInstance (@NonNull Map<String, Object> map) {
6161

6262
Integer level;
6363

64+
/**
65+
* Copy constructor.
66+
*
67+
* @param compressionConfig config to copy
68+
*/
6469
public CompressionConfig (CompressionConfig compressionConfig) {
6570
enabled = compressionConfig.getEnabled();
6671
level = compressionConfig.getLevel();

encon-config/src/main/java/io/appulse/encon/config/Config.java

+5
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ private static Map<String, Map<String, Object>> parseYaml (@NonNull File file) {
117117

118118
Map<String, NodeConfig> nodes;
119119

120+
/**
121+
* Copy constructor.
122+
*
123+
* @param config config to copy
124+
*/
120125
public Config (Config config) {
121126
defaults = ofNullable(config.getDefaults())
122127
.map(Defaults::new)

encon-config/src/main/java/io/appulse/encon/config/Defaults.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import static io.appulse.epmd.java.core.model.Protocol.TCP;
3030
import static io.appulse.epmd.java.core.model.Version.R6;
3131
import static java.lang.Boolean.FALSE;
32-
import static java.lang.Boolean.TRUE;
3332
import static java.util.Arrays.asList;
3433
import static java.util.Locale.ENGLISH;
3534
import static java.util.Optional.ofNullable;
@@ -223,7 +222,6 @@ static Defaults newInstance (@NonNull Map<String, Object> map) {
223222

224223
@Builder.Default
225224
MailboxConfig mailbox = MailboxConfig.builder()
226-
.blocking(TRUE)
227225
.build();
228226

229227
@Builder.Default
@@ -238,6 +236,11 @@ static Defaults newInstance (@NonNull Map<String, Object> map) {
238236
.level(-1)
239237
.build();
240238

239+
/**
240+
* Copy constructor.
241+
*
242+
* @param defaults config to copy
243+
*/
241244
public Defaults (Defaults defaults) {
242245
epmdPort = defaults.getEpmdPort();
243246
type = defaults.getType();

encon-config/src/main/java/io/appulse/encon/config/MailboxConfig.java

+5-11
Original file line numberDiff line numberDiff line change
@@ -48,21 +48,18 @@ static MailboxConfig newInstance (@NonNull Map<String, Object> map) {
4848
.map(Object::toString)
4949
.ifPresent(builder::name);
5050

51-
ofNullable(map.get("blocking"))
52-
.map(Object::toString)
53-
.map(Boolean::valueOf)
54-
.ifPresent(builder::blocking);
55-
5651
return builder.build();
5752
}
5853

5954
String name;
6055

61-
Boolean blocking;
62-
56+
/**
57+
* Copy constructor.
58+
*
59+
* @param mailboxConfig config for copying
60+
*/
6361
public MailboxConfig (MailboxConfig mailboxConfig) {
6462
name = mailboxConfig.getName();
65-
blocking = mailboxConfig.getBlocking();
6663
}
6764

6865
/**
@@ -73,9 +70,6 @@ public MailboxConfig (MailboxConfig mailboxConfig) {
7370
* @return reference to this object (for chain calls)
7471
*/
7572
public MailboxConfig withDefaultsFrom (@NonNull MailboxConfig defaults) {
76-
blocking = ofNullable(blocking)
77-
.orElse(defaults.getBlocking());
78-
7973
return this;
8074
}
8175
}

encon-config/src/main/java/io/appulse/encon/config/NodeConfig.java

+5
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,11 @@ static NodeConfig newInstance (@NonNull Map<String, Object> map) {
155155

156156
CompressionConfig compression;
157157

158+
/**
159+
* Copy constructor.
160+
*
161+
* @param nodeConfig config to copy
162+
*/
158163
public NodeConfig (NodeConfig nodeConfig) {
159164
epmdPort = nodeConfig.getEpmdPort();
160165
type = nodeConfig.getType();

encon-config/src/main/java/io/appulse/encon/config/ServerConfig.java

+5
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ static ServerConfig newInstance (@NonNull Map<String, Object> map) {
6868

6969
Integer workerThreads;
7070

71+
/**
72+
* Copy constructor.
73+
*
74+
* @param serverConfig config to copy
75+
*/
7176
public ServerConfig (ServerConfig serverConfig) {
7277
port = serverConfig.getPort();
7378
bossThreads = serverConfig.getBossThreads();

encon-config/src/test/java/io/appulse/encon/config/ConfigTest.java

-36
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,6 @@ public void defaultDefaults () {
102102
softly.assertThat(defaults.getMailbox())
103103
.isNotNull();
104104

105-
softly.assertThat(defaults.getMailbox().getBlocking())
106-
.isTrue();
107-
108105
softly.assertThat(defaults.getServer())
109106
.isNotNull();
110107

@@ -141,7 +138,6 @@ public void nonDefaultDefaults () {
141138
.high(high)
142139
.distributionFlags(distributionFlags)
143140
.mailbox(MailboxConfig.builder()
144-
.blocking(false)
145141
.build())
146142
.server(ServerConfig.builder()
147143
.bossThreads(bossThreads)
@@ -181,9 +177,6 @@ public void nonDefaultDefaults () {
181177
softly.assertThat(defaults.getMailbox())
182178
.isNotNull();
183179

184-
softly.assertThat(defaults.getMailbox().getBlocking())
185-
.isFalse();
186-
187180
softly.assertThat(defaults.getServer())
188181
.isNotNull();
189182

@@ -282,12 +275,6 @@ public void load () {
282275
softly.assertThat(defaults.getDistributionFlags())
283276
.contains(MAP_TAG, BIG_CREATION);
284277

285-
softly.assertThat(defaults.getMailbox())
286-
.isNotNull();
287-
288-
softly.assertThat(defaults.getMailbox().getBlocking())
289-
.isFalse();
290-
291278
softly.assertThat(defaults.getServer())
292279
.isNotNull();
293280

@@ -350,26 +337,20 @@ public void load () {
350337
.findFirst()
351338
.orElse(null);
352339
assertThat(mailbox1).isNotNull();
353-
softly.assertThat(mailbox1.getBlocking())
354-
.isFalse();
355340

356341
MailboxConfig mailbox2 = node1.getMailboxes()
357342
.stream()
358343
.filter(it -> "another".equals(it.getName()))
359344
.findFirst()
360345
.orElse(null);
361346
assertThat(mailbox2).isNotNull();
362-
softly.assertThat(mailbox2.getBlocking())
363-
.isTrue();
364347

365348
MailboxConfig mailbox3 = node1.getMailboxes()
366349
.stream()
367350
.filter(it -> "another_one".equals(it.getName()))
368351
.findFirst()
369352
.orElse(null);
370353
assertThat(mailbox3).isNotNull();
371-
softly.assertThat(mailbox3.getBlocking())
372-
.isFalse();
373354

374355
softly.assertThat(node1.getServer())
375356
.isNotNull();
@@ -423,8 +404,6 @@ public void load () {
423404
.findFirst()
424405
.orElse(null);
425406
assertThat(mailbox1).isNotNull();
426-
softly.assertThat(mailbox1.getBlocking())
427-
.isFalse();
428407

429408
softly.assertThat(node2.getServer())
430409
.isNotNull();
@@ -456,7 +435,6 @@ public void manual () {
456435
BIG_CREATION
457436
)))
458437
.mailbox(MailboxConfig.builder()
459-
.blocking(false)
460438
.build())
461439
.server(ServerConfig.builder()
462440
.bossThreads(2)
@@ -485,11 +463,9 @@ public void manual () {
485463
.name("net_kernel")
486464
.build())
487465
.mailbox(MailboxConfig.builder()
488-
.blocking(true)
489466
.build())
490467
.mailbox(MailboxConfig.builder()
491468
.name("another")
492-
.blocking(false)
493469
.build())
494470
.server(ServerConfig.builder()
495471
.port(8971)
@@ -502,7 +478,6 @@ public void manual () {
502478
.cookie("popa")
503479
.mailbox(MailboxConfig.builder()
504480
.name("net_kernel")
505-
.blocking(false)
506481
.build())
507482
.build()
508483
)
@@ -541,9 +516,6 @@ public void manual () {
541516
softly.assertThat(defaults.getMailbox())
542517
.isNotNull();
543518

544-
softly.assertThat(defaults.getMailbox().getBlocking())
545-
.isFalse();
546-
547519
softly.assertThat(defaults.getServer())
548520
.isNotNull();
549521

@@ -606,26 +578,20 @@ public void manual () {
606578
.findFirst()
607579
.orElse(null);
608580
assertThat(mailbox1).isNotNull();
609-
softly.assertThat(mailbox1.getBlocking())
610-
.isFalse();
611581

612582
MailboxConfig mailbox2 = node1.getMailboxes()
613583
.stream()
614584
.filter(it -> it.getName() == null)
615585
.findFirst()
616586
.orElse(null);
617587
assertThat(mailbox2).isNotNull();
618-
softly.assertThat(mailbox2.getBlocking())
619-
.isTrue();
620588

621589
MailboxConfig mailbox3 = node1.getMailboxes()
622590
.stream()
623591
.filter(it -> "another".equals(it.getName()))
624592
.findFirst()
625593
.orElse(null);
626594
assertThat(mailbox3).isNotNull();
627-
softly.assertThat(mailbox3.getBlocking())
628-
.isFalse();
629595

630596
softly.assertThat(node1.getServer())
631597
.isNotNull();
@@ -679,8 +645,6 @@ public void manual () {
679645
.findFirst()
680646
.orElse(null);
681647
assertThat(mailbox1).isNotNull();
682-
softly.assertThat(mailbox1.getBlocking())
683-
.isFalse();
684648

685649
softly.assertThat(node2.getServer())
686650
.isNotNull();

0 commit comments

Comments
 (0)