diff --git a/extlib/Stomp.php b/extlib/Stomp.php index b55a4aa6d9..5132ea638b 100644 --- a/extlib/Stomp.php +++ b/extlib/Stomp.php @@ -324,7 +324,9 @@ class Stomp { $headers = array('ack' => 'client'); $headers['activemq.prefetchSize'] = $this->prefetchSize; - if ($this->clientId != null) { + $headers['prefetch-count'] = '1'; + + if ($this->clientId != null) { $headers["activemq.subcriptionName"] = $this->clientId; } if (isset($properties)) { diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 7c3af4945e..b1afe176a1 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -151,7 +151,7 @@ class StompQueueManager extends QueueManager $envelope = array('site' => $siteNickname ? $siteNickname : common_config('site', 'nickname'), 'handler' => $queue, 'payload' => $this->encode($object)); - $msg = serialize($envelope); + $msg = base64_encode(serialize($envelope)); $props = array('created' => common_sql_now()); if ($this->isPersistent($queue)) { @@ -479,7 +479,7 @@ class StompQueueManager extends QueueManager protected function handleItem($frame) { $host = $this->cons[$this->defaultIdx]->getServer(); - $message = unserialize($frame->body); + $message = unserialize(base64_decode($frame->body)); if ($message === false) { $this->_log(LOG_ERR, "Can't unserialize frame: {$frame->body}"); @@ -490,7 +490,7 @@ class StompQueueManager extends QueueManager $site = $message['site']; $queue = $message['handler']; - if ($this->isDeadletter($frame, $message)) { + if ($this->isDeadLetter($frame, $message)) { $this->stats('deadletter', $queue); return false; }