From 583b52f033b8fe0534e4659caa0fe7b144e64061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerson=20Pozo=20Gonz=C3=A1lez?= Date: Fri, 16 Sep 2016 10:55:59 +0200 Subject: [PATCH] Add new method to improve resilience (closes #28) --- .../ConsulCoordination.scala | 4 +++- project/Dependencies.scala | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/constructr-coordination-consul/src/main/scala/com.tecsisa.constructr.coordination.consul/ConsulCoordination.scala b/constructr-coordination-consul/src/main/scala/com.tecsisa.constructr.coordination.consul/ConsulCoordination.scala index c0353ec..c5aea18 100644 --- a/constructr-coordination-consul/src/main/scala/com.tecsisa.constructr.coordination.consul/ConsulCoordination.scala +++ b/constructr-coordination-consul/src/main/scala/com.tecsisa.constructr.coordination.consul/ConsulCoordination.scala @@ -137,7 +137,9 @@ final class ConsulCoordination( } } - override def addSelf[A: NodeSerialization](self: A, ttl: FiniteDuration) = { + override def addSelf[A: NodeSerialization](self: A, ttl: FiniteDuration) = createIfNotExist(self, ttl) + + def createIfNotExist[A: NodeSerialization](self: A, ttl: FiniteDuration) = { val keyUri = nodesUri.withPath(nodesUri.path / Base64.getUrlEncoder.encodeToString(implicitly[NodeSerialization[A]].toBytes(self))) val addSelfWithPreviousSession = for { Some(sessionId) <- retrieveSessionForKey(keyUri) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 3f36a99..7338f2b 100755 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -3,7 +3,7 @@ import sbt._ object Version { final val Scala = "2.11.8" final val ConstructrAkka = "0.13.2" - final val raptureJsonCirce = "2.0.0-M5" + final val raptureJsonCirce = "2.0.0-M7" final val Akka = "2.4.4" final val AkkaLog4j = "1.1.3" final val ScalaTest = "2.2.6"