我需要队列来强制执行无重复策略。可能吗?如果是,怎么做?
(我在谷歌上搜索了几个小时……)
编辑:
ActiveMQSession实现有以下几行:
// transform to our own message format here
ActiveMQMessage msg = ActiveMQMessageTransformation.transformMessage(message, connection);
// Set the m
有2个代理通过网络连接器配置为集群
消息总是由生产者发送到broker0,并由broker0的消费者使用。但是我们发现一些重复的消息被发送到broker1,甚至broker0也工作得很好。
也就是说,这些重复的消息同时包含在broker0和broker1中。谁能告诉我原因吗
谢谢如果您试图在集群中使用两个独立的ActiveMQ实例,并且客户机已被授予访问这两个代理URL的权限,则可能会出现这种情况。
解决方案是使用设计用于提供高可用性的主从功能
我有一个带有3个实例的ZooKeeper集群和ApacheActiveMQ 5.9.1集群。ZooKeeper集群启动正常,但ActiveMQ提供以下NullPointerException:
WARN | SASL configuration failed: javax.security.auth.login.LoginException: No
JAAS configuration section named 'Client' was found in specified JAAS con
请在执行activemq控制台后查看以下控制台输出
命令:
/opt/apache-activemq-5.5.1/bin$sudo-activemq控制台
sudo:/var/lib/sudo/vivek可由非所有者写入(040777),应为模式0700
vivek的[sudo]密码:
信息:正在加载“/usr/share/activemq/activemq选项”
信息:使用java'/usr/bin/java'
信息:从前台开始,这只是为了调试(按CTRL+C停止进程)
信息:更改为用户“ac
你如何解决这个问题?谢谢
代理:localhost-客户端:FS\u进程已连接
javax.jms.InvalidClientIDException: Broker: localhost - Client: FS_Proceduer already connected from /127.0.0.1:56556
这由以下方法触发:
private void connectAndInitActiveMQ() throws JMSException{
logger.debug("I
ActiveMQ中是否提供blob传输策略的故障切换?我试图搜索AMQ文档,但找不到任何这样的东西。如果我想使用ActiveMQ的jetty服务器进行文件上载,并且我正在对多台主机使用故障转移协议,我应该如何设置Blob传输策略?我们使用的是ActiveMQ 5.10.2您可能需要一个负载平衡器,或者至少需要一个HTTP服务器的故障转移VIP IP地址。HTTP的行为方式与OpenWire协议不同,OpenWire协议可以处理客户端的故障转移
请注意,ActiveMQ中的文件服务器或多或少是一种
在我的工作团队中,我们经常使用IBM MQ技术进行跨应用程序通信。我最近在黑客新闻和其他地方看到了其他MQ技术,如。我对它有一个基本的了解(一个放置和获取消息的常用检查区域),但我想知道它到底擅长什么?我如何知道我想在哪里使用它以及何时使用它?为什么不坚持使用更基本的进程间消息传递形式呢?MQ只是代表消息队列
当您需要可靠地发送不依赖于时间的进程间/跨平台/跨应用程序消息时,可以使用它
消息队列接收消息,将其放入适当的队列中,并等待应用程序在准备就绪时检索消息。消息队列系统应该会给您一些奖励。其
基本上,我有两个MQs在不同的机器上运行(ubuntu)。
我需要他们能够相互沟通
我有我的经纪人。yml,在机器A上,像这样
发展:
adapter: stomp
login: ""
passcode: ""
host: localhost
port: 61613
reliable: true
reconnectDelay: 5
foo:
adapter: stomp
login: ""
passcode: ""
host: --IP of machine B
我试图在节点服务器上使用stompjs将消息排队发送给同一消费者
制作人:
producer.send({'JMSXGroupID':JMSXGroupID, 'destination':confMgr.getConfig("jmsqueue.destination"), 'body':JSON.stringify(msg), 'persistent':'true'}, false);
消费者:
client.on('message', function(message) {
clie
我使用ActiveMQ查找,发现spring.net有自己的NMS库,Apache社区也有
http://activemq.apache.org/nms/nms-api.html
有人知道它们吗?Spring.NET正在使用下面的Apache.NMS库,就像普通的Spring JMSTemplate etc使用您配置的watch JMS提供程序一样。据我回忆,Spring.NET版本默认使用较旧版本的NMS.ActiveMQ。因此,如果您想使用最新的ActiveMQ.NET库,就必须直接使用A
芹菜目前可以作为消息传递系统与RabbitMQ一起使用。我想知道即将发布的ActiveMQ 5.8 support是否允许Cellery使用ActiveMQ而不是RabbitMQ?一旦Cellery使用AMQP 1.0,它就应该可以工作了。西芹似乎仍在使用较旧版本的协议,因此其可移植性将受到限制。一旦西芹使用AMQP 1.0,它应该可以工作。芹菜似乎仍在使用较旧版本的协议,因此其可移植性将受到限制。谢谢。但本质上,双方对AMQP的支持意味着兼容。芹菜没有明确指定ActiveMQ,我找不到任何关于
我正在尝试使用JDBC持久性设置以下代理:
<amq:broker id="activeMQBroker" brokerName="activeMQBroker" useJmx="false" persistent="true">
<amq:transportConnectors>
<amq:transportConnector name="vm" uri="vm://activeMQBroker" />
</amq:tr
我开始配置ActiveMQ river,我已经安装了(),但我对如何使其工作感到困惑,文档非常简短,实际上,我完全按照创建新river的步骤进行操作,但我不知道接下来要执行哪些步骤
注意:
我已经启动并运行了ActiveMQ服务器,并使用
将消息推送到队列中的简单JMS应用程序
我使用以下方法创建了一条新河:
curl -XPUT 'localhost:9200/_river/myindex_river/_meta' -d '{
"type" : "activemq",
"activem
我使用此应用程序通过mqtt连接到ActiveMQ代理。只要我的主题没有正斜杠(/),消息的订阅、发布和接收就可以正常工作
我知道前向斜杠是mqtt中的特殊字符,根据“/”将转换为“”。然而,在我的例子中,我需要连接到使用JMS创建的主题,这些主题被编写为uri(示例),因此它们的名称上会有“/”
在mqtt上是否仍有替换“/”的方法?目前,如果我尝试连接到一个名为http://activemq.apache.org/它实际上将连接到http:…activemq.apache.org。我的建议。
我正在侦听来自activeMq嵌入式代理队列的消息(比如原始消息)。此消息首先移动到通道,然后传递到路由器,并基于其传递到聚合器的条件。聚合器等待另一条消息,然后将部分消息或聚合消息传递给服务激活器类
基于某些逻辑激活器类,我们决定抛出异常,并期望消息再次交付,因为我们已经配置了ActiveMQ代理端重新交付插件
如果没有聚合器,则消息将被正确地重新传递,并且如果达到最大重试次数,则消息将被移动到DLQ,但如果聚合器出现在图片中,则消息将不会被重新传递。
我不确定,但我认为聚合的消息与原始消息不
我使用ActiveMQ5.10作为MQTT代理,一个Java客户端在JMS中发送消息,一个C客户端接收消息
以下是Java代码片段:
MessageProducer producer = session.createProducer(new ActiveMQTopic("topic1"));
TextMessage text = session.createTextMessage("test msg");
text.setIntProperty("ActiveMQ.MQTT.QoS",1);
p
标签: Activemq
spring-jmsspring-java-config
我很难找到一个解决方案,让activemq中的侦听器代码侦听来自多个代理的消息。例如:我们有4个代理(1,2,3,4),它们为消费者提供消息,这些消费者托管在4个服务器(A、B、C、D)中。消费者应侦听来自broker1、2、3和4的响应消息。如果its找到消息,那么consumerA应该选择并处理消息。如果consumerA因任何原因停机,consumerB应听取所有4位经纪人的意见
以下面的方式配置故障转移传输无助于我实现上述设计
activemq.broker.url=failover:(
我在RedHat OpenShift集群中运行ActiveMQ代理,并使用EFK(ElasticSearch、Fluentd、Kibana)堆栈处理日志记录。在我的java组件中,我已经配置了我的记录器,使用LogStash编码器以JSON格式登录,以便它们可以在Kibana中正确解析、存储和显示,我希望对ActiveMQ也这样做
在我的Java组件中,我的日志配置看起来像,我希望能够为ActiveMQ执行类似的操作:
<configuration>
<appende
我有一个ActiveMQ的制作人。这是一家公司为我们做的。我们只有可执行文件,而不是源代码。
9月份,我们将有一个带有虚拟IP的ActiveMQ集群,我们需要在所有消费者和生产者上使用故障转移传输。
因此,我联系了生产商所在的公司,询问他们是否已经为生产商编码了故障转移传输,他们向我提出了一个解决方案来实现它。
但是,当我看制作人制作的日志时,我可以看到:
<log4j:event logger="org.apache.activemq.transport.failover.Failove
标签: Activemq
amazon-sqsamazon-snsamqvirtual-topic
我们有我们的活动MQ内部部署,我正在探索AWS中托管消息服务的选项。我们的所有应用程序都使用ActiveMQ的功能。在AWS中,似乎可以使用SNS->SQS实现扇出。但不幸的是,SNS支持SQS标准队列,而FIFO队列还不受支持。当消息顺序也很重要时,实现扇出情况的最佳方法是什么
我们也可以使用Kinesis和AWS ActiveMQ。但有了动觉,我无法想象如何在动觉中实现虚拟的功能。碎片如何在多个主题中工作
那么,使用SQS-SNS在AWS世界中实现ActiveMQ虚拟主题功能的最佳方法是什么
在ActiveMQ的JMX控制台中,为使用者显示了一个SlowConsumer属性。我在文档中看到了一些关于它的提及,但没有任何东西解释如何设置/确定它
事实上,我见过一些被标记为慢的消费者,它们的移动速度似乎比那些使用SlowConsumer=false的消费者要快
解释指定的一些后果,但不解释如何进行指定
我最近开始使用ActiveMQ 5.8。我有默认的activemq.xml设置,正在使用activemqweb管理员进行一些简单的测试。当我通过ui向队列发送消息时,队列将显示一条挂起的消息约5秒钟,然后该消息将退出队列。此队列上没有设置使用者。为什么邮件没有留在队列中?在旧版本的ActiveMQ中,执行相同的过程时,消息将如预期的那样保留在队列中。5.8有什么变化吗?最近我遇到了这种情况。请检查activemq.xml以了解详细信息
<plugins>
<timeSt
我正在尝试将来自AQ的消息提取到ActiveMq中的主题中。我遵循以下说明:。但当我启动ActiveMQ时,出现了以下错误:
2015-09-02 12:33:18,269 | WARN | Setup of JMS message listener invoker failed for destination 'event_queue' - trying to recover. Cause: JMS-137: Payload factory must be specified for de
当向userAsyncSend=true且deliveryMode=persistent的ActiveMQ队列生成消息时,该消息会发生什么情况
消息是否在持久化到磁盘之前保存到RAM
如果持久性失败,消费者是否有可能在失败的情况下使用消息
在ActiveMQ官方文档中找不到有关此的任何信息
标签: Activemq
apache-karafapache-servicemix
我正在尝试将我的包添加为受信任的,以便在activemq中进行(反)序列化
我使用的是Mongo3.0.1,所以BsonArray.parse(…)不是一个选项
我尝试了System.setProperty(“org.apache.activemq.SERIALIZABLE_PACKAGES”,“*”)但是这被忽略了。从中,在spring/camel中设置它将覆盖系统属性
如果设置了系统属性,则此配置将覆盖这些属性
将以下内容从同一链接复制粘贴到my blueprint.xml中会导致一系列“a
我使用的是ActiveMQ 5.7.0,如果队列目标达到某个内存阈值,我希望fileQueueCursor溢出到临时存储中。我不想启用持久性
我已配置目标策略:
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">">
<pend
从文档和测试中,我了解到,在客户端确认和会话处理模式中,都无法只确认一条消息。
是否有针对此类情况的最佳实践?我是否应该持有一个“会话池”,每个会话一次同步处理一条消息,然后确认它
谢谢。 < P>虽然我从未真正实现过C++中的并发用户,但在java中,你通常是这样处理的。
使用一个会话和一个消息侦听器创建多个不同的线程,每个线程读取队列的消息,进行处理,然后提交事务(如果不需要事务,则为ACK).创建会话时,您可以使用cms::会话确认模式个人确认,该模式允许您确认单个消息。消息对象有一个确认
我目前正在编写一个死信队列来处理路由中发生的异常。在死信队列中,我计划将每条消息延迟1天(或任何其他长时间)。我编写的代码目前正确地延迟了消息,只是没有异步延迟,消息最终会在等待之前延迟的消息等待其延迟期结束时得到备份
<route>
<from uri="activemq:queue:foo"/>
<delay asyncDelayed="true">
<constant> 60000 </constant>
我有一个小项目,其中来自twitter的tweet由一个应用程序使用,放入ActiveMQ上的JMS队列,从另一个应用程序读取以丰富每个tweet,然后返回到ActiveMQ服务器上的另一个JMS队列。
目前,所有路由都是在每个应用程序本身中定义的。因此,从twitter到JMS队列的路由在应用程序A中定义,从一个JMS队列到另一个JMS队列的路由在应用程序B中定义
在我看来,这种架构似乎是错误的,因为现在我无法在不重新部署其中一个应用程序的情况下更改任何路由
我想要的是一个解决方案,其中我有一
我有三个TomEE实例正在运行。我想使用一个作为“主”代理,并让另外两个实例作为客户机连接到主代理。我希望客户端能够相互发送/接收消息
最大的要求是我必须使用静态网络;简单地将客户端的tomee.xml中的ServerUrl指向主URL不是一个选项
我已经验证了我能够静态连接两个容器并传递消息,但是当我引入第三个容器(主容器)时,消息就不再从“Client-A”流向“Client-B”
Master tomee.xml:
<Resource
id="ra/activemq"
标签: Activemq
messagebrokerjms-topicvirtual-topic
我有一个activemq配置,其中我有一个虚拟目标和一个普通主题
我想根据消息头中的JMSType将所有JMS消息路由到destinationVirtualTopic.Notifications到2 queuesVirtualTopic.SMS和VirtualTopic.EMAIL
我希望正常的TopicVirtualTopic.gps正常工作
这是我对activemq.xml的配置。此处创建Consumer.SMS.VirtualTopic和Consumer.EMAIL.VirtualTopi
Artemis是否可能将消息推送到RESTAPI/使用者,而不是使用者从中拉出消息。我可以在消费者端实现一个侦听器,但我正在尝试看看Artemis是否可以将消息推送到消费者
非常感谢您提供的任何帮助。不要认为这是可能的,JMS提供程序是一个服务器,总是等待用户连接。然后,一旦消息准备就绪并且存在可用消息,它就会将消息推送到消费者的缓冲区。无论如何,根据应用程序的技术,您可能希望利用来实现您的消费者。谢谢您的回复。是的,了解REST是实现这一点的一种方法,我试着看看artemis中是否有任何配置,
如果队列中的所有消息都已处理,我需要停止ActiveMQ连接器。这需要在Mule flow中完成
如下所示,我有两个连接器,一个用于读取,另一个用于在vci.staging.queue上写入。我想检查队列中是否处理了所有消息,然后禁用读卡器连接器
下面是一段使用client.request的脚本,使用队列名称和读写器连接器从muleContext发出的请求总是为我返回“null”
是否有任何方法可以获取队列中挂起消息的数量,或者检查是否已处理所有消息,以便禁用连接器
<jms:active
我目前正在使用NMS开发基于应用程序的ActiveMQ(5.6)
我们有几个消费者(exe)试图从同一队列(而不是主题)接收massgae。虽然所有消息都只发送给一个消费者,但我已经让消费者在收到消息后睡了几秒钟。顺便说一下,我们不希望消费者收到与其他消费者相同的消息
官方网站中提到,我们应该设置预回迁限制,以决定在任何时间点可以向消费者发送多少条消息。它可以配置和编码
我尝试的一种方法是使用PrefetchPolicy类绑定ConnectionFactory类(如bellow)进行编码
Pre
我正在打包一个应用程序,以便通过.kar文件部署到Karaf中。我注意到,在我的示例中,activemq和camel中的许多依赖特性在我从deploy文件夹中删除.kar文件后仍然保持安装状态
这是预期的行为吗?我原以为部署是完全可逆的
我的功能文件如下所示:-
<?xml version="1.0" encoding="UTF-8"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
我正在管理一个队列大小不断增加的ActiveMQ代理。我被告知问题可能出在经纪人身上,而不是消费者身上(其中7人)
大多数队列显示重复、重复等,不同使用者的SessionId列条目(每个都是单独的服务器)
我原以为每个使用者都有自己的线程(每个队列?),而这种状态似乎是错误的——因此我怀疑这是导致备份队列的处理速度缓慢的原因
有人能在“浏览活动消费者”页面上阐明消费者和SessionId之间的关系吗
谢谢 对于每个使用者(并发或其他)线程,您将看到“浏览活动使用者”页面中列出的sessionid
标签: Activemq
high-availabilityfailovershared-directory
我们有两个ActiveMQ(版本5.10.0)实例正在运行,我正在使用共享存储来实现HA。
但是,我无法看到生产者和消费者发生故障转移
ActiveMQ broker-1在IP1上运行,broker-2在IP2上运行
在配置的activemq.xml下,我修改了持久性适配器以使用IP1上的共享目录
<persistenceAdapter>
<kahaDB directory="\\IP1\shared-directory\for activemq\data"/>
&l
我是activeMQ的新手,我想确保正常处理所使用的消息,并且没有任何错误,如果出现错误,我不想丢失消息,在这种情况下,我应该怎么做?我应该将消息保存到数据库中吗?如果出现问题,activeMQ中是否有办法将消息保留在队列中?我试图将消息保存到mysql数据库中,然后手动呼叫消费者从数据库中读取,这是可行的,但我担心将来数据库中会有一个大记录,并且读取速度会很慢。您正在寻找一个“死信队列”或DLQ
无论何时在消息处理过程中,如果出现问题,该消息将自动传输到ActiveMQ提供的默认DLQ,该队列
我正在尝试使用yum在RHEL 6.6上安装activemq和activemq客户端。
但是打字之后
yum install activemq activemq-client
机器只是在说
No package activemq available
No package activemq-client available
Nothing to do.
有没有办法让百胜为此而努力
谢谢你的帮助 对于教程之后的简单安装,您必须为yum启用不同的repo,这可以通过
subscription-m
标签: Activemq
basic-authentication Fiware
complex-event-processingfiware-cep
我正在培训如何使用REST使用者从FIWARE CEP(Proton)向ActiveMQ队列发送输出事件。URL中包含访问ActiveMQ队列的凭据,如所示,但我有以下错误:
com.ibm.hrl.proton.webapp.resources.EventResource submitNewEvent
信息:发送到质子运行时的事件…
org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme
信息:已选择
是否有一种方法可以过滤ActiveMQ队列概述中的可见队列?
我们有很多不同的队列,因此概览页面非常满。默认情况下过滤掉不太重要的队列会很好。如果您谈论的是web管理控制台配置,那么不-它不是为扩展大量队列而构建的
但话说回来,控制台是一个简单的java web应用程序,因此如果您真的需要,您可以自己轻松地实现一个过滤器
我能想到的最快捷的方法是打开webapps/admin/queues.jsp并在forEach循环中添加一个jsp if语句。它将是非常硬编码的,但速度非常快,甚至不需要重新启
我是CORDA区块链新手,我想知道在NoSQL数据库(如Elasticsearch或Cassandra)中存储CORDA状态/保险库的可能性。或者我们可以将vault数据放入ActiveMQ吗?支持的数据库:
开源版:H2、PostgreSQL和SQL Server(未经测试)。
资料来源:
企业版:Azure SQL、SQL Server、Oracle和PostgreSQL。
资料来源:
我正在通过向队列发送消息
我希望队列中只保留最新的消息,而不保留任何以前的消息
如何做到这一点
非常感谢。将队列大小设置为1,默认的逐出策略(即最旧的MessageReceivetionStrategy)应将上一条消息踢出,并放入最新的消息。您还可以为优先级设置其他策略,例如OldestMessageWithLowestPriorityEventsStrategy或在邮件上乱用TTL设置
不过,您也可能会收到一些关于队列已满的警告,所以请做好处理这些警告的准备
我在activemq.log中收到了如下消息:
发生异步错误:java.lang.IllegalStateException:无法将生产者添加到未注册的连接:ID:BlackApple-2.local-50258-1366686550079-0:1 | org.apache.activemq.broker.TransportConnection.Service | activemq传输:ssl://:50264
java.lang.IllegalStateException:无法将生产者添加到尚
我有ServiceMix 4.5.3,希望完全禁用内部/嵌入式ActiveMQ代理。
实现这一点的最佳/最简单的方法是什么?您可以使用AFAIR未随AMQ提供的最小分配
否则,您可以在etc/org.apache.karaf.features.cfg中修改配置文件,并删除activemq我进行了一些尝试,并在以下方面取得了成功:
从etc目录中删除activemq-broker.xml(或重命名为类似amq.old的名称)
功能:在karaf控制台中卸载activemq代理
第二步。可能不需要,
我刚刚安装了activemq,但当我尝试运行以下命令时:
./activemq start xbean:file:workspace/activemq/apache-activemq-5.9.0/conf/activemq.xml
我得到以下信息:
emq/apache-activemq-5.9.0/conf/activemq.xml
INFO: Loading '/etc/default/activemq'
INFO: Using java '/usr/bin/java'
INFO: St
我们在5GB RAM机器的服务器上安装了ActiveMQ 5.15.10,为ActiveMQ分配了4GB。使用。大约有140个队列,平均每个队列有3个消费者,在某些队列中,峰值可能高达7-8个消费者。服务器上最近的CPU负载大于90%
出现这种问题的潜在原因是什么?
我们应该如何找到这个问题的原因
任何提示都会大有帮助。非常感谢。您是使用独立服务器还是java嵌入式?@rns independent server,5gb Ram,2核。当CPU利用率非常高时,尝试获取线程转储并进行分析。在我的例
我有一个后端服务,我需要限制访问。我尝试使用这里描述的方法:
我从一个简单的传递流开始,它接收SOAP请求并转发它。当我使用SOAPUI实用程序点击这个按钮时,我会在一两秒钟内得到预期的响应
<http:connector name="httpConnector" doc:name="HTTP\HTTPS">
<receiver-threading-profile maxThreadsActive="1" maxBufferSize="100" />
</h
第一个问题:
我无法真正理解rich()和pollrich()之间的区别。也许骆驼使用的术语不是很好
我在这里读到:
使用丰富DSL元素丰富内容
Camel在DSL中提供了两种内容丰富器
充实
鳕鱼
enrich使用生产者获取附加数据。通常是
用于请求-应答消息传递,例如调用外部
网络服务。另一方面,PollRich使用轮询消费者
获取附加数据。它通常用于事件消息
消息传递,例如读取文件或下载FTP文件
我不明白有什么区别。他们似乎都是通过消费来获得额外的数据(Web服务响应、FTP文件)。
我使用activemq在进程(c++程序)之间传递xml消息,它可以根据需要工作。我正试图将程序安装到新主机上,但遇到了麻烦。因为我没有配置我的开发系统,所以我很确定我在新的systems activemq实例中遇到了配置问题。在onMessage方法中运行一段代码时,我遇到了一个segfault。如果我在启动消息侦听器之前调用代码,它会正常运行。很遗憾,我不能显示代码…所以是伪代码,对不起
Main
{
Declare object
Use object.
1 2 3 4 5 6 ...
下一页 最后一页 共 13 页