Отладка ActiveMQ / Stomp, когда сообщение отключает потребителя - PullRequest
0 голосов
/ 15 марта 2011

Я ломаю голову, пытаясь отладить PHP-транзакцию, которая, похоже, выдает ошибку одного из моих потребителей. Я могу определить, работает ли мой потребитель с помощью GREP, формируя список процессов, до того, как я вставлю новое сообщение, но не могу узнать, что там было раньше и что вызвало фатальную ошибку.

Мой потребитель PHP примерно:

while($isRunning == true) { 
  try{
    if($frame = $this->stomp->readFrame()) { 
      $body = $frame->body;
      $this->stomp->ack($frame);
    }
  } catch(StompException $e) {
    $msg = 'Stomp Monitor readFrame() Callback Fail: '.$e->getMessage();
    error_log($msg);
  }
}

Есть ли способ отловить фатальные ошибки или что-то, что вырвет их из бесконечного цикла?

Спасибо, Стив

1 Ответ

0 голосов
/ 15 марта 2011

Попробуйте установить верхний уровень обработчик исключений

Возможно, есть исключение, что вы не ловите. Поймай это и зарегистрируйся, чтобы знать, почему процесс умирает.

...