所以我已经花了很多时间了,但是现在我已经完全处于智慧了... 要求: 我正在尝试将基于Wildfly 10.1.0的消息驱动的BEAN连接到外部ActiveMQ 5.15.0服务器("旧" ActiveMQ,而不是Artemis MQ!). 为此,我正在部署资源适配器并调整配置. 在Wildfly的标准部署中,这项工作正常.我正在使用以下脚本来设置容器: # Disable the artemis messaging completely /subsystem=messaging-activemq/server=default:remove # Deploy the resource adapter deploy ${project.build.directory}/activemq-rar-5.15.0.rar /subsystem=resource-adapters/resource-adapter=activemq-rar.rar:add(archive=activ
以下是关于 activemq 的编程技术问答
好的..所以我已经开始研究MQ及其目的/用户酶等... 我现有的应用程序(使用JSP等制造的Web)使用RESTFULE接口与远程服务器进行通信并从服务器发布/接收数据. 我们通常必须处理远程服务器的连接性.同步问题始终存在. 消息从我们的结尾发送.但是远程服务器下降了.或相反亦然. 我遇到了MQ的东西,并在从远程服务器中传递和接收消息时发现它是可靠的. 但是,再次,我认为对MQ的全部需求似乎有点朦胧. 我基本上是在寻找MQ和RESTFUL之间的几个差异. 我在其他博客文章上读到,随着 的出现,MQ的速度会缓慢放松. 我对MQ不太了解,所以什么都不会发表评论,但肯定会与他人一起工作很有趣. 如果有人在使用Restful和MQ. 解决方案 最大的区别之一是,休息意味着同步处理,而MQ通常是异步的.正如您已经提到的那样,MQ是将生产商和消费者解次的一种方式,因此不必同时在线,但是该系统仍然整体运行.如果您的用例意味着低延迟响应(例如带有浏览器的用
我正在研究由一些模块组成的应用程序.在其中一个模块中,有人创建了一个主题生产者,该主题生产者在主题上发布消息,但是该模块并没有一个主题消费者来取消消息.主题生产者使用setTimeToLive()将寿命的时间属性设置为300000毫秒. 我希望,如果没有消费者,这些消息在300000毫秒内到期,并且被交易. 该应用程序部署在Tomcat 6.0.36上,并使用外部ActiveMQ服务器来处理队列和主题. 在主题设置下的MBEANS选项卡中使用Java VisualVM监视ActiveMQ,我看到变量"顾问计数"会增长,但是我不明白是否对这些消息的时间进行了时间的设置生效.我希望看到计数器的"过期计数"会增加,但仍然固定为0. 有没有办法了解这些消息是否仍然保留在内存中或是否被划分? 非常感谢! 编辑: 我使用Netbeans上的J2EE教程示例进行了一些测试7.3使用Internal Glassfish 3.1作为服务器,使用JVISUALVM对
我的目标是可视化浏览器上传入的数据流.我已经使用ActiveMQ排队流.从队列中消耗的一条消息看起来像这样:" int,date/time,int,string".我必须在浏览器(每100ms)上更新我的线路图.有什么想法吗? 解决方案 听起来像是 websocket .. 的用例 有很多方法可以实施它,但是就该主题提供了一篇相当不错的博客文章在这里. 另一种方法是使用 mqtt 直接从浏览器使用JavaScript并在您的更新中订阅主题.在这种情况下,您必须将数据转发到该主题.为此,您可以使用复合队列 forwardOnly=false. . 其他解决方案 如果您使用的是ActiveMQ,则可以启用其Websockets接口: http://activemq .apache.org/websockets.html 在您的浏览器代码中,使用Websocket库的Stomp订阅队列.
我正在尝试在我的Ubuntu虚拟机上运行ActiveMQ,但一直在遇到问题来启动它.我尝试下载没有运气的二进制和来源.目前,我已经下载了源,运行" MVN CLEAN install -dmaven.test.skip = true",MVN报告了成功的安装.然后,我在.m2文件夹中搜寻了Apache-Activemq-5.5.5.1-bin.tar.gz,并将其提取到我的家庭/用户名dir,并试图运行" bash bin/activemq启动",只是收到以下错误. INFO: Loading '/etc/default/activemq' INFO: Using java '/usr/bin/java' INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details bin/activemq: line 370: /usr/bin
我正在尝试使用ActiveMQ中的队列从虚拟主题中排出消息.我尝试发送一些消息,但它显示在"消息中的消息"下的主题中,但无法消耗. 我创建的虚拟主题名称是virtualTopic.aa,消费者称为consumer.client1.virtualtopic.aa. 在consumer.client1.virtualtopic.aa中,我可以看到有一个消费者,但它只是无法从虚拟主题中脱离消息. 有人知道为什么会发生这种情况吗?我需要更改XML文件中配置中的某些设置吗? 解决方案 使用Spring的JMstemplate发布到虚拟主题时,您需要通过将pubSubDomain属性设置为" true". 将其配置为主题. 来自 如果要使用动态目标创建,则必须使用" pubsubdomain"属性指定创建的JMS目标类型.对于其他操作,这不是必需的.点对点(队列)是默认域. 和 jmsdestinationAccessor#setPubSubDomain :
我正在使用具有惊人的Hawtio接口的ActiveMQ 5.9.0.因此,当5.10.0到来时,我也迁移了系统.现在我看到其中的Hawtio接口不存在...它只是从5.9.0到5.10.0从 webapps WebApps .//sensatic.net/activemq/activemq-and-hawtio.html" rel =" noreferrer"> activemq and hawtio 但它不起作用...如何配置接口? 解决方案 另外,您可以将Hawtio用作独立的Web应用程序,该应用程序通过JOLOKIA连接到ActiveMQ(Pre 5.9这样做). 在此处下载Hawtio独立jar: http://hawt.io/getstart.一个> 在ActiveMQ-Server上运行JAR:java -jar hawtio-app-1.4.37.jar(将命令放入.bat-script中,并在启动时添加计划的任务.) 导航到http://your se
如何使用JMS进行单元测试?这是某种事实吗? 我搜索了一些东西 - JMS的单元测试:/how-to-to-unit-test-jms-code.html -jmstemplate:activemq.apache.org/jmstemplate-gotchas.html - oiveRunner:oigrunner.sourceforge.net/ 您对我有任何很好的经验和建议吗? 解决方案 在我的经验(尝试做同样的事情之后)时,当您使用JMS时,您正在做 之类的事情 1)获取JMS消息 2)从消息中提取对象 3)用对象做某事 从该角度来看,我建议您单位测试#3,但不要打扰单元测试#1或#2-不要测试框架 - 专注于测试您的代码.我认为(单位)测试您的基础架构(类似的EJB基础架构等)几乎没有好处.这样的事情最好留在集成/系统测试中. 其他解决方案 对于简单的集成测试,您可以运行在嵌入式模式下的ActiveMQ代理.使用Maven,这可以自动化,因此
我正在Ubuntu上运行ActiveMQ-5.9 12.04,可以说我是Active MQ的新手. 我怀疑我正在排队记录,而不是删除记录,因此我希望使用JMX连接到我的活跃MQ经纪人,看看发生了什么. jconsole失败. 这很难,因为有关如何做这件事的大多数文档都是旧的,但是我终于可以依靠运行ActiveMQ列表.当我这样做时,它会抛出一个相当漫长的stacktrace: Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi ERROR: java.lang.RuntimeException: Failed to execute list task. Reason: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root e
我一直在与JMS和ActiveMQ合作.一切都在创造奇迹.我不使用春天,也不能. 接口javax.jms.MessageListener只有一种方法,onMessage.从实施中,有可能会引发例外.如果实际上抛出了例外,那么我说该消息没有正确处理,需要重新尝试.因此,我需要ActiveMQ等待一会儿,然后重试.即,我需要抛出的例外才能回滚JMS交易. 我该如何完成这样的行为? 也许我找不到ActiveMQ中的某些配置. 或...也许可以消除向消费者注册MessageListener,并在一个循环中亲自消耗消息,例如: while (true) { // ... some administrative stuff like ... session = connection.createSesstion(true, SESSION_TRANSACTED) try { Message m = receiver.receive
由于我使用ActiveMQ-CPP API的方式,我的ActiveMQ库中发生了间歇性崩溃.如果我可以观察到导致崩溃的每个功能,请调试问题会更容易.是否有任何快速方法可以追踪Visual Studio 2005 C ++多线程程序中功能的输入和退出? 预先感谢! 解决方案 使用示踪对象.这样的东西: class Tracer { public: Tracer(const char *functionName) : functionName_(functionName) { cout << "Entering function " << functionName_ << endl; } ~Tracer() { cout << "Exiting function " << functionName_ << endl; } const char *functionName_;
我很乐意改进我的 Web应用程序在apache tomcat 上运行.添加了 ActiveMQ JMS服务器以发送和接收消息. 我已经可以发送和接收消息,但是需要在接收方的帮助. 我的Web应用程序应该如何连续听一个队列接收消息? 新消息到达,服务器应对其作用.例如:将数据添加到数据库或或发送回消息. 我已经可以发送消息.这是代码. ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = factory.createConnection(); Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue("clientQueue"
我们在Tomcat(7.0.41)中使用ActiveMQ(5.8.0)的Spring(3.2.4),目前尚不清楚最好的用法是什么.我们想使用JMstemplate生产和MessagelistenerContainer接收消息. 我们应该在接收器侧使用缓存吗? (相关链接) 使用ActiveMQ和故障转移工作CachingConnectionFactory? ( 当我们使用pooledConnectionFactory时,需要设置UseAsyncSend =" true"吗? (相关链接 解决方案 来自在这里 PoolConnectionFactory和CachingConnectionFactory之间的差异是实现的差异.以下是它们之间有所不同的一些特征: 尽管poolconnectionFactory和cachingConnectionFactory and均池连接,会话和生产者,但PooledConnection -Factory实际上并未创建多个生产商的库.
我想知道: 我有一个场景.如果用户将产品添加到系统(我正在开发)中,则有一个侦听器向用户的客户端发送通知通知用户添加了新产品. 我已经阅读了 thread 和(看到我从未见过我我以前使用过JMS nor ThreadPool)我想知道我是否应该使用JMS或ThreadPooling. 我使用的是Tomcat 5.5及更高版本以及JBOSS 5及更高(取决于公司的最后一个度假胜地)来部署我的Web应用程序. 如果我使用JMS,我是否使用预先感谢. 解决方案 用于在应用程序之间进行通信,JMS是一个很好的解决方案,尤其是对于事件和通知. JMS允许使用所谓的异步消息传递发送和接收此类通知,从而使发件人和接收器彼此不了解,也不需要同时可用. ActiveMQ是一个非常广泛使用的消息代理,可为Java,C/C ++,C#,Perl,Php,Php,Python,Ruby等提供客户端API.这允许使用JMS与Java和其他语言编写的应用程序一起使用. 我
i具有Java 1.6,Maven 2,ActiveMQ 5.5和具有TestNG的功能测试.当我以想法启动它时,但是当我尝试使用Console的Maven启动它们时,然后在尝试通过ActiveMQ发送消息后处理暂停,并在一段时间后崩溃,并在日志中遇到以下错误: # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006d92f7a6, pid=5716, tid=7000 # # JRE version: 6.0_27-b07 # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.2-b06 mixed mode windows-amd64 compressed oops) # Problematic frame: # V [jvm.
我需要在Maven Clean Install中运行ActiveMQ,以便启动ActiveMQ,然后运行测试.我在pom.xml中包括了插件,并添加了用于配置MQ详细信息的MQ配置文件.当我在一个控制台上运行ActiveMQ并在其他控制台上运行Maven Clean安装时,它将成功运行,并且所有测试通过(在2个单独的控制台上2个单独的命令).但是,有什么方法可以在同一控制台上运行ActiveMQ并用1个命令进行清洁安装?基本上,我希望当我进行 MVN清洁测试安装时,它应该首先自动启动MQ,然后进行测试... 我尝试使用 MVN ActiveMQ:运行干净的测试安装或 MVN清洁测试安装ActiveMQ:运行.但是它要么可以安装干净,要么运行ActiveMQ ... 在 解决方案 使用构造附加Maven目标和插件 org