#554: Subclass Sandbox pattern (#998)

* Fix issue #761: ThreadSafeDoubleCheckLocking.java: Instantiating by Reflection call will be successful if you do that firstly

* Create leader election module

* Create Interface of Instance and MessageManager

* Create implementations with token ring algorithm

* Change package structure.
Create basic message system.

* Implement heartbeat and heartbeat invoking message system

* Implement election message handler

* Add leader message handler

* Add main entry point

* Add comments

* Update README.md

* Fix checkstyle issue

* Add Unit Tests

* Add Unit Tests

* Add bully leader selection

* Change System.out to log print.
Add MIT license in each file.

* Add More java doc comments

* Add unit test

* Add unit tests

* Add subclass-sandbox

* Add Unit Test

* Add Unit Test

* Fix Typo

* Move dependency into parent pom.xml

* Change local valuable reference to be var
This commit is contained in:
Azureyjt
2019-10-16 23:21:06 +08:00
committed by Ilkka Seppälä
parent 27c131c2cb
commit a5646b63c1
10 changed files with 517 additions and 1 deletions

View File

@ -60,6 +60,7 @@
<jaxb-api.version>2.3.1</jaxb-api.version>
<jaxb-impl.version>2.3.2</jaxb-impl.version>
<annotation-api.version>1.3.2</annotation-api.version>
<system-rules.version>1.19.0</system-rules.version>
</properties>
<modules>
<module>abstract-factory</module>
@ -180,8 +181,8 @@
<module>bytecode</module>
<module>leader-election</module>
<module>data-locality</module>
<module>subclass-sandbox</module>
<module>circuit-breaker</module>
</modules>
<repositories>
@ -317,6 +318,12 @@
<artifactId>javassist</artifactId>
<version>3.25.0-GA</version>
</dependency>
<dependency>
<groupId>com.github.stefanbirkner</groupId>
<artifactId>system-rules</artifactId>
<version>${system-rules.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>