Akka AMQP improvements
From Albert Puig, (he has signed the Typesafe CLA)
"we just found a problem in the current akka-amqp module (v1.3.1).
realy simple, need to change some default properties in the amqp.client.ConnectionFactory. "
diff --git a/akka-amqp/src/main/scala/akka/amqp/AMQP.scala b/akka-amqp/src/main/scala/akka/amqp/AMQP.scala
index d622fd7..477b4bd 100644
--- a/akka-amqp/src/main/scala/akka/amqp/AMQP.scala
+++ b/akka-amqp/src/main/scala/akka/amqp/AMQP.scala
@@ -36,22 +36,28 @@ object AMQP {
password: String = DEFAULT_PASS,
virtualHost: String = DEFAULT_VHOST,
initReconnectDelay: Long = 5000,
- connectionCallback: Option[ActorRef] = None) {
+ connectionCallback: Option[ActorRef] = None,
+ connectionTimeout: Int = 0,
+ requestedHeartbeat: Int = 0) {
// Needed for Java API usage
- def this() = this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, None)
+ def this() = this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, None, 0, 0)
// Needed for Java API usage
def this(addresses: Array[Address], username: String, password: String, virtualHost: String) =
- this (addresses, username, password, virtualHost, 5000, None)
+ this (addresses, username, password, virtualHost, 5000, None, 0, 0)
// Needed for Java API usage
def this(addresses: Array[Address], username: String, password: String, virtualHost: String, initReconnectDelay: Long, connectionCallback: ActorRef) =
- this (addresses, username, password, virtualHost, initReconnectDelay, Some(connectionCallback))
+ this (addresses, username, password, virtualHost, initReconnectDelay, Some(connectionCallback), 0, 0)
+
+ // Needed for Java API usage
+ def this(addresses: Array[Address], username: String, password: String, virtualHost: String, initReconnectDelay: Long, connectionCallback: ActorRef, connectionTimeout: Int, requestedHeartbeat: Int) =
+ this (addresses, username, password, virtualHost, initReconnectDelay, Some(connectionCallback), connectionTimeout, requestedHeartbeat)
// Needed for Java API usage
def this(connectionCallback: ActorRef) =
- this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, Some(connectionCallback))
+ this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, Some(connectionCallback), 0, 0)
}
diff --git a/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala b/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala
index 2dfbb12..95f5a96 100644
--- a/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala
+++ b/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala
@@ -24,7 +24,9 @@ private[amqp] class FaultTolerantConnectionActor(connectionParameters: Connectio
connectionFactory.setUsername(username)
connectionFactory.setPassword(password)
connectionFactory.setVirtualHost(virtualHost)
-
+ connectionFactory.setConnectionTimeout(connectionTimeout)
+ connectionFactory.setRequestedHeartbeat(requestedHeartbeat)
+
var connection: Option[Connection] = None
var reconnectionFuture: Option[ScheduledFuture[scala.AnyRef]] = None
diff --git a/project/build.properties b/project/build.properties
index 36f0721..7fb7187 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -3,5 +3,5 @@
project.organization=se.scalablesolutions.akka
project.name=akka-modules
sbt.version=0.7.7
-project.version=1.3.1
+project.version=1.3.2
build.scala.versions=2.9.1
diff --git a/project/build/AkkaModulesProject.scala b/project/build/AkkaModulesProject.scala
index 7e21182..2243d72 100644
--- a/project/build/AkkaModulesProject.scala
+++ b/project/build/AkkaModulesProject.scala
@@ -44,7 +44,7 @@ class AkkaModulesParentProject(info: ProjectInfo) extends ParentProject(info) wi
// Versions
// -------------------------------------------------------------------------------------------------------------------
- lazy val AKKA_VERSION = version.toString // matching versions
+ lazy val AKKA_VERSION = "1.3.1"
lazy val HAWT_DISPATCH_VERSION = "1.1"
lazy val CAMEL_VERSION = "2.7.0"
lazy val JACKSON_VERSION = "1.8.0"
"we just found a problem in the current akka-amqp module (v1.3.1).
realy simple, need to change some default properties in the amqp.client.ConnectionFactory. "
diff --git a/akka-amqp/src/main/scala/akka/amqp/AMQP.scala b/akka-amqp/src/main/scala/akka/amqp/AMQP.scala
index d622fd7..477b4bd 100644
--- a/akka-amqp/src/main/scala/akka/amqp/AMQP.scala
+++ b/akka-amqp/src/main/scala/akka/amqp/AMQP.scala
@@ -36,22 +36,28 @@ object AMQP {
password: String = DEFAULT_PASS,
virtualHost: String = DEFAULT_VHOST,
initReconnectDelay: Long = 5000,
- connectionCallback: Option[ActorRef] = None) {
+ connectionCallback: Option[ActorRef] = None,
+ connectionTimeout: Int = 0,
+ requestedHeartbeat: Int = 0) {
// Needed for Java API usage
- def this() = this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, None)
+ def this() = this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, None, 0, 0)
// Needed for Java API usage
def this(addresses: Array[Address], username: String, password: String, virtualHost: String) =
- this (addresses, username, password, virtualHost, 5000, None)
+ this (addresses, username, password, virtualHost, 5000, None, 0, 0)
// Needed for Java API usage
def this(addresses: Array[Address], username: String, password: String, virtualHost: String, initReconnectDelay: Long, connectionCallback: ActorRef) =
- this (addresses, username, password, virtualHost, initReconnectDelay, Some(connectionCallback))
+ this (addresses, username, password, virtualHost, initReconnectDelay, Some(connectionCallback), 0, 0)
+
+ // Needed for Java API usage
+ def this(addresses: Array[Address], username: String, password: String, virtualHost: String, initReconnectDelay: Long, connectionCallback: ActorRef, connectionTimeout: Int, requestedHeartbeat: Int) =
+ this (addresses, username, password, virtualHost, initReconnectDelay, Some(connectionCallback), connectionTimeout, requestedHeartbeat)
// Needed for Java API usage
def this(connectionCallback: ActorRef) =
- this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, Some(connectionCallback))
+ this (Array(new Address(DEFAULT_HOST, DEFAULT_AMQP_PORT)), DEFAULT_USER, DEFAULT_PASS, DEFAULT_VHOST, 5000, Some(connectionCallback), 0, 0)
}
diff --git a/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala b/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala
index 2dfbb12..95f5a96 100644
--- a/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala
+++ b/akka-amqp/src/main/scala/akka/amqp/FaultTolerantConnectionActor.scala
@@ -24,7 +24,9 @@ private[amqp] class FaultTolerantConnectionActor(connectionParameters: Connectio
connectionFactory.setUsername(username)
connectionFactory.setPassword(password)
connectionFactory.setVirtualHost(virtualHost)
-
+ connectionFactory.setConnectionTimeout(connectionTimeout)
+ connectionFactory.setRequestedHeartbeat(requestedHeartbeat)
+
var connection: Option[Connection] = None
var reconnectionFuture: Option[ScheduledFuture[scala.AnyRef]] = None
diff --git a/project/build.properties b/project/build.properties
index 36f0721..7fb7187 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -3,5 +3,5 @@
project.organization=se.scalablesolutions.akka
project.name=akka-modules
sbt.version=0.7.7
-project.version=1.3.1
+project.version=1.3.2
build.scala.versions=2.9.1
diff --git a/project/build/AkkaModulesProject.scala b/project/build/AkkaModulesProject.scala
index 7e21182..2243d72 100644
--- a/project/build/AkkaModulesProject.scala
+++ b/project/build/AkkaModulesProject.scala
@@ -44,7 +44,7 @@ class AkkaModulesParentProject(info: ProjectInfo) extends ParentProject(info) wi
// Versions
// -------------------------------------------------------------------------------------------------------------------
- lazy val AKKA_VERSION = version.toString // matching versions
+ lazy val AKKA_VERSION = "1.3.1"
lazy val HAWT_DISPATCH_VERSION = "1.1"
lazy val CAMEL_VERSION = "2.7.0"
lazy val JACKSON_VERSION = "1.8.0"
Leave a comment