Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2
APACHE-2.0 License
Bot releases are hidden (Show)
java.util.logging
. #496 #499CentralDogma
client bean has been changed from client
to dogmaClient
to avoid potential naming conflict. #497CentralDogma
client bean using a bean name client
when integrating with Spring Boot, you'll have to change it to dogmaClient
. #497ArmeriaCentralDogma
client does not fail watch*()
operations with ClosedSessionException
anymore when a user closes its ClientFactory
. #491centraldogma-testing
has been split into centraldogma-testing-junit
and centraldogma-testing-junit4
to support JUnit 5 and 4. #467
Central Dogma
in its log messages. #466centraldogma-testing
has been split into centraldogma-testing-junit
and centraldogma-testing-junit4
, you'll have to depend on centraldogma-testing-junit4
instead of centraldogma-testing
. #467
centraldogma:
use-tls: true
health-check-interval-millis: 60000
accessToken: my-dogma-access-token
max-num-retries-on-replication-lag: 5
retry-interval-on-replication-lag-millis: 2000
DEBUG
to the log level of com.linecorp.centraldogma.internal.client.ReplicationLagTolerantCentralDogma
to see the log messages.Watcher
and use it to get notified only when the specific part of the file is changed.
CentralDogma client = ...
// watcher is get notified when "ab.json" file is changed.
Watcher<JsonNode> watcher = client.fileWatcher("myProject", "myRepo",
Query.ofJson("/ab.json"));
// aChild is get notified only when the property "/a" is changed.
Watcher<String> aChild = watcher.newChild(jsonNode -> jsonNode.at("/a").asText());
aChild.watch((rev, a) -> {
// This will be triggered if '/a' is changed.
});
// bChild is get notified only when the property "/a" is changed.
Watcher<String> bChild = watcher.newChild(jsonNode -> jsonNode.at("/b").asText());
bChild.watch((rev, b) -> {
// This will be triggered if '/b' is changed.
});
Watcher
s to achieve the same behavior.
Watcher<String> aWatcher = client.fileWatcher("myProject", "myRepo",
Query.ofJsonPath("/ab.json", "$.a"));
aWatcher.watch((rev, a) -> {
// This will be triggered if '/a' is changed.
});
Watcher<String> bWatcher = client.fileWatcher("myProject", "myRepo",
Query.ofJsonPath("/ab.json", "$.b"));
bWatcher.watch((rev, b) -> {
// This will be triggered if '/b' is changed.
});
Watcher
s make separate watch requests to the server meanwhile the previous example makes only one watch request and notifies according to the Function
.204 No Content
when attempting to get the directory content. #414 #442RevisionNotFoundException
#435 #437This release updates Netty from 4.1.38 to 4.1.39 to address the HTTP/2 security issues found in its previous versions. Please upgrade as soon as possible if your application serves the traffic from untrusted environment such as the Internet. See Netty 4.1.39 release news and Netflix security bulletins for more information.
CentralDogma.purgeProject()
and CentralDogma.purgeRepository()
#416500 Internal Server Error
anymore. #422