在Azure Service Bus中,我希望消息发送失败,因为没有定义订阅。为此,我将EnableFilteringMessagesBeforePublishing设置为true,这将抛出异常NoMatchingSubscriptionException。
现在,在处理这个异常时,我想要DeadLetter它。如果我调用BrokeredMessage.DeadLetter(),它会抛出InvalidOperation并显示消息“ReceiveContext is null”
try
{
await topicClient.SendAsync(brokeredMessage);
}
c
尝试向TIBCO Ems队列发送消息时,出现异常(如下所示)。
javax.jms.ResourceAllocationException: Queue limit exceeded
at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:523)
at com.tibco.tibjms.TibjmsxSessionImp._publish(TibjmsxSessionImp.java:1390)
at com.tibco.tibjms.TibjmsMessageProducer._publish(TibjmsMessagePro
我有个问题。
我有一个进程,假设它是一个客户端,还有一个叫做服务器的进程。客户端和服务器之间通过同一队列进行通信。假设客户端向服务器发送一条消息(请求),因此服务器对其进行处理,并应将确认或失败的消息发送回客户端。假设确认有一个long type = 1500101,而失败有一个long type = 1500102。
是否可以(在C中使用msgrcv )仅等待这两种类型的消息(客户端)?如果没有,建立这种机制的最好方法是什么?
我正在尝试将消息发送到远程队列。我的进程没有失败,但是我仍然看不到远程队列上的消息?如果它不能处理消息,我会假设它会失败?
我确实注意到,在我的本地计算机上,远程队列列在传出队列中,但在那里也看不到消息。这里非常无知,所有的例子都表明我做的(或者我假设的)是正确的。
代码(测试简单):
using (var transaction = new TransactionScope())
{
using (var queue = new MessageQueue(@"FormatName:DIRECT=OS:mymachine\MyQueueQueue"
我试着:
读DB
发送AMQP消息
更新DB
如果消息发送失败,则对DB的更新也将失败。如果对DB的更新失败,则将多次发送消息。
<int:channel id="output-channel" />
<int-jdbc:inbound-channel-adapter query="SELECT MAX(d) AS d FROM a" update="UPDATE a SET d=1 WHERE d=367"
channel="out