在我的JMS应用程序上,我们在生产者上使用临时队列,以便能够接收来自消费者应用程序的回复。
我在这个线程上遇到了与我完全相同的问题:http : //activemq.2283324.n4.nabble.com/jira-
Created-AMQ-3336-Temporary-Destination-errors-on-HA-failover-in -broker-
network-with-Failover-tt-
td3551034.html#a3612738
每当我重新启动网络中的任意代理时,在尝试将答复发送到临时队列时,我的“使用者”应用程序日志中都会出现许多类似这样的错误:
javax.jms.InvalidDestinationException:
Cannot publish to a deleted Destination: temp-queue://ID:...
然后我看到Gary的回应建议使用
jms.watchTopicAdvisories=false
作为客户端上的url参数brokerURL
。我立即使用此附加参数更改了我的客户代理URL。但是,现在当我在网络中重新启动我的代理进行故障转移测试时,我看到了这样的错误:
javax.jms.JMSException:
The destination temp-queue:
//ID:client.host-65070-1308610734958-2:1:1 does not exist.
我正在使用ActiveMQ 5.5版本。我的客户经纪人网址如下所示:
failover:(tcp://amq-host1:61616,tcp://amq-host2.tred.aol.com:61616,tcp://amq-host3:61616,tcp://amq-host4:61616)?jms.useAsyncSend=true&timeout=5000&jms.watchTopicAdvisories=false
另外,这是我的4个代理之一的activemq配置XML:
amq1.xml
这里有人可以调查这个问题并建议我在此设置中犯了什么错误。
为了进一步阐明我在代码中如何执行请求响应:
有一个代理属性org.apache.activemq.broker.BrokerService#cacheTempDestinations应该有助于故障转移:案例。在xml配置中将其设置为true,并且在客户端断开连接时不会立即删除临时目标。快速故障转移:重新连接将能够再次从临时队列中产生和/或使用。
有一个基于timeBeforePurgeTempDestinations的计时器任务(默认为5秒),用于处理高速缓存的删除。
请注意,在activemq-core中没有使用该属性的测试,因此我无法对此提供任何保证。
我正试图找出如何利用ActiveMQ Artemis来实现以下拓扑结构。我确实需要有几个生产者写到两个独立的Artemis代理上托管的队列。目前,每个生产者创建两个连接工厂,处理到两个代理的连接,并创建相应的队列。 我的主要问题是,我需要知道哪个队列被分配给哪个代理,同时我需要知道,如果一个代理由于某种原因停机,我可以动态地为另一个代理重新创建该队列,以避免丢失任何进一步的消息。所以我的方法是如下
有一种方法可以控制作业失败后在Azkaban中发生的事情,我的意思是,如果特定的作业失败,就做特定的事情,假设一个对hive的加载失败了,我想向splank发送错误,这可能吗?或者我应该创建特定的作业来插入并像python那样处理失败 谢谢
Webpack 的配置比较复杂,很容出现错误,下面是一些通常的故障处理手段。 一般情况下,webpack 如果出问题,会打印一些简单的错误信息,比如模块没有找到。我们还可以通过参数 --display-error-details 来打印错误详情。 $ webpack --display-error-details Hash: a40fbc6d852c51fceadb Version: webpa
我正在开发一个使用activemq交换消息的应用程序,有些消息太大了,我想取消。 我们使用两个activemq实例(主/从)的activemq故障转移传输。代理本身对消息有100mb的帧大小限制。 问题是:如果我尝试发送大于100mb的消息,ActiveMQ服务器将关闭连接。此时,故障转移传输将尝试重新连接并再次发送消息,从而创建无限循环。 客户端记录以下内容: 当activeMQ实例记录时: 我
问题内容: 我有一个用于捕获任何分段错误或ctrl- c的应用程序。使用下面的代码,我能够捕获分段错误,但是该处理程序一次又一次地被调用。我该如何阻止他们。供您参考,我不想退出我的申请。我只是可以小心释放所有损坏的缓冲区。 可能吗? 处理程序就是这样。 在这里,对于Segmentation故障信号,处理程序被多次调用,并且很明显MyfreeBuffers()给我释放已释放的内存的错误。我只想释放一