Commit Graph

23 Commits

Author SHA1 Message Date
c5ea09d09d messaging/broker : update handlers 2020-03-15 19:19:05 +01:00
e407698e84 Adds DI and SPI examples 2020-03-15 18:59:33 +01:00
9f120b6317 messaging/broker : update test cases
See c4477aca38
2020-01-27 21:53:07 +01:00
ecdd16363a Update examples 2019-12-29 12:02:00 +01:00
c4477aca38 messaging: add a simple message broker
Add a simple message broker which uses the chain of responsibility design pattern for
message handling.

Inspired by this article: http://www.softwarematters.org/message-broker.html#java-implementation

In this design, a message handler can contain a reference to the next
message handler. If the current handler cannot handle the message given
to him by the MessageBroker, he passes this message to the next
MessageHandler.

The chain of responsibility pattern is used in order to decouple the creation of a
concrete message instance from the broker communication logic. This adheres to the Open
Closed Principle, because it is possible to add a new message type without modifying the
message broker.
2019-10-19 17:48:53 +02:00
eea8074d32 chrore: update pom.xml
base pom.xml:

* update java compiler target to 1.11
* add versions for SLF4J dependeny

persistence.xml/pom.xml:

fix typo persitence -> persistence
2019-10-19 17:46:36 +02:00
8ea3c0b738 Refactoring 2019-01-03 00:34:26 +01:00
3f19bd2737 Delete useless DummyConnectionWrapper class 2019-01-03 00:26:16 +01:00
a30e86016c Refactoring 2019-01-03 00:19:47 +01:00
4cde30a6e0 Implement all CRUD operations in StudentSqliteDao 2019-01-02 23:59:31 +01:00
0d9692992b Generify Dao hierarchy 2019-01-02 23:59:31 +01:00
4cc19191c0 Create SqliteDaoFactory 2019-01-02 23:58:02 +01:00
2013e2e517 Refactor code 2019-01-02 22:49:26 +01:00
f1f6c77870 Add a dao pattern example using the abstract factory design pattern 2019-01-02 22:16:27 +01:00
07a463cbfe Add JsonSerializer example 2019-01-02 19:52:24 +01:00
35cc5abdf0 Add some reflection with generics experiments 2018-12-28 19:18:47 +01:00
5c7e822b53 Add pattern matching example 2018-11-30 11:04:38 +01:00
f656b57901 Add async samples 2018-10-24 00:18:51 +02:00
8a8fa12b48 Add various gui samples 2018-10-24 00:18:20 +02:00
5b25596359 Update dynamic compilation example 2018-10-23 23:50:20 +02:00
b3a8fb67c9 Mettre à jour 'README.md' 2018-10-23 21:29:09 +00:00
e533d9de63 Add dynamic class compilation example 2018-10-23 23:27:08 +02:00
1869975ccd Initial commit 2018-10-23 23:26:26 +02:00