Added base64 encoding to get RMQ to work

This commit is contained in:
abjectio 2017-07-28 12:42:21 +02:00
parent 586aaa596e
commit 90e93b9656
2 changed files with 6 additions and 4 deletions

View File

@ -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)) {

View File

@ -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;
}