+ def stomp_version
+ ::Stomp::Version::STRING
+ end
+
+ def connection_headers
+ headers = {:"accept-version" => "1.0"}
+
+ heartbeat_interval = Integer(get_option("activemq.heartbeat_interval", 0))
+ stomp_1_0_fallback = get_bool_option("activemq.stomp_1_0_fallback", true)
+
+ headers[:host] = get_option("activemq.vhost", "mcollective")
+
+ if heartbeat_interval > 0
+ unless Util.versioncmp(stomp_version, "1.2.10") >= 0
+ raise("Setting STOMP 1.1 properties like heartbeat intervals require at least version 1.2.10 of the STOMP gem")
+ end
+
+ if heartbeat_interval < 30
+ Log.warn("Connection heartbeat is set to %d, forcing to minimum value of 30s")
+ heartbeat_interval = 30
+ end
+
+ heartbeat_interval = heartbeat_interval * 1000
+ headers[:"heart-beat"] = "%d,%d" % [heartbeat_interval + 500, heartbeat_interval - 500]
+
+ if stomp_1_0_fallback
+ headers[:"accept-version"] = "1.1,1.0"
+ else
+ headers[:"accept-version"] = "1.1"
+ end
+ else
+ Log.warn("Connecting without STOMP 1.1 heartbeats, if you are using ActiveMQ 5.8 or newer consider setting plugin.activemq.heartbeat_interval")
+ end
+
+ headers
+ end
+