更新2
下面的情景:
1消费者正在成功地从队列中读取消息,
2由于某种原因,即使队列中有大量消息,Consumer也不会返回任何消息。在某些情况下,这会持续几个小时,生产者可以继续发送消息。
队列中的现有剩余消息由Producers进行多次提交。消息数量可以从一个到几百个。
此问题偶尔会发生,一旦发生,消费者在重新启动应用程序之前始终不会返回任何消息。
下面的代码是简化的,它是由一个线程池线程中的一个线程一次运行的。
MyClass::MyClass()
{
...
HeaderView *horizontal_header = new HeaderView(Qt::Horizontal);
m_table->setHorizontalHeader(horizontal_header);
connect(horizontal_header, &HeaderView::customSignal, this, &MainWindow::customHeaderMenuRequested);
}
void MyClass::customHeaderMenuRequested(int section)
{
qDebug()<<section;
QMenu * menu = new QMenu(this);
QAction *actNone = new QAction("-", this);
menu->addAction(actNone);
menu->popup(QCursor::pos());
}
Windows上的MQ Server V8
.NET客户端:8.0.0.5