标签: activemq-cpp

我在哪里可以手动配置ActiveMQ主机名?

我正在尝试首次设置Apache ActiveMQ

我发现我的服务器名称中有一个下划线,这阻止了ActiveMQ的启动.它抛出了这个异常:

java.net.URISyntaxException:索引8的主机名中的非法字符:ws://cms_delta.mycompany.com:61614?maximumConnections = 1000&wireFormat.maxFrameSize = 104857600)...

我在哪里可以在配置中设置主机名.此服务器具有其他别名但没有下划线,或者我可以使用IP地址.正在自动获取服务器名称cms_delta.mycompany.com.

除了brokerName之外,我在activemq.xml中看不到任何明显的东西,但是这并没有解决问题.

这是完整的日志:

 2013-11-14 14:30:02,347 | INFO  | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@54520eb: startup date [Thu Nov 14 14:30:02 PST 2013]; root of context hierarchy | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
 2013-11-14 14:30:04,100 | INFO  | PListStore:[/opt/apache-activemq-5.9.0/data/esb-dev.mycompany.com/tmp_storage] started | org.apache.activemq.store.kahadb.plist.PListStoreImpl | main
 2013-11-14 14:30:04,154 | INFO  | Using Persistence Adapter: KahaDBPersistenceAdapter[/opt/apache-activemq-5.9.0/data/kahadb] | org.apache.activemq.broker.BrokerService | main
 2013-11-14 14:30:04,475 | INFO  | Persistence store purged. | org.apache.activemq.store.kahadb.MessageDatabase | main
 2013-11-14 14:30:04,678 | INFO  | Apache ActiveMQ 5.9.0 (esb-dev.mycompany.com, ID:cms_delta.mycompany.com-35039-1384468204550-0:1) …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic jms activemq-cpp

9
推荐指数
1
解决办法
7051
查看次数

ActiveMQConnectionFactory 发送超时

根据ActiveMQ 站点上的此配置页面,该connection.sendTimeout属性为:

等待Message Sends for a Response 的时间,默认值零表示永远等待。如果它是一个快速的生产者或者没有消费者,那么永远等待允许代理对来自这个客户端的消息进行流量控制,这样如果代理没有减慢生产者的速度,代理就会耗尽内存。不影响 Stomp 客户端,因为代理已确认发送。(自 ActiveMQ-CPP 2.2.1 起)

我很难解释这意味着什么(以及sendTimeout财产的真正含义/它的作用):

  • 什么是“消息发送”对象?
  • 为什么 ActiveMQ 会等待响应?不是在 JMS 连接的服务器端吗?它不应该等待请求吗?
  • 它实际上超时是什么?应该什么时候使用?

提前致谢!

java configuration activemq-classic activemq-cpp

6
推荐指数
1
解决办法
4558
查看次数

如何在Windows上构建Apache ActiveMQ-CPP(和APR)?

我正在尝试使用C++编写的一些功能来与位于Linux机器上的Apache ActiveMQ(本机使用JMS)进行通信.为了建立这种连接,我试图在我的Windows 7机器(开发机器)上设置Apache ActiveMQ-CPP,但我目前面临一些重大问题.

据我了解ActiveMQ的-CPP具有依赖于Apache的便携式运行/ APR,如前所述这里.我的问题是,我甚至无法构建APR,因此无法开始使用ActiveMQ-CPP.我已经按照本指南的说法,在并行目录中设置,将版本名称重命名为标准名称,并将启动项目更改为libaprutil(使用动态库),但没有任何运气.在构建APR解决方案时,27个项目中只有13个成功.我也尝试使用静态aprutil项目构建解决方案作为启动项目,但没有任何改进.

解决方案是确保为Visual Studio 6提供更广泛的兼容性,因此我怀疑使用Visual Studio 2010来解决我的问题.即使升级项目应该是可能的(如APR文档所述),在使用升级助手并尝试构建整个解决方案之后,我有几个(我认为是)缺少项目中的依赖项,请参阅第1个screendump.许多错误与文件iconv_module.obj(error LNK2019: unresolved external symbol xxx referenced in function _iconv_getpath C:\work\apr-iconv\iconv_module.obj)有关,如下面的工具提示所示C:\work\apr-iconv.该文件实际上位于不同的子文件夹中,具体取决于构建格式(我选择了"Release"和"Win32"),但我不确定这是否实际上是一个问题.

我应该提一下,我对C++完全不熟悉并且对C的经验非常有限,所以也许只是手动链接我不理解的依赖...如果打开所提到的文件并查看所述的函数然而,错误消息,代码显然也是错误的,所以也许它不是依赖关系,请看两个screendump.

关于可能的解决方案我被建议尝试手动一次构建每个项目,而不是一次完成整个解决方案,因此首先构建不依赖于任何内容的库,依此类推.然而,这也没有成功.

也应该可以使用命令行来构建项目,这对某些人来说就是技巧(链接).在新版本的Visual Studio中,"msdev"似乎被"devenv"所取代,但是考虑到这一点,构建仍然会在使用查找和替换之后抱怨"找不到msdev"......也许不是最好的解决方法,对吧?

在搜索有类似问题的帖子时,我肯定并不孤单,但不幸的是,没有一个建议的解决方案能为我做到这一点.有些我看着帖子是:编译Apache APR在WindowsActiveMQ的-CPP和Visual Studio 2003.

您是否有任何使用较新版本的Visual Studio或Windows命令行构建APR的经验?或者更重要的是,让ActiveMQ-CPP在Windows上运行?

截图:

c++ activemq-classic apr activemq-cpp visual-studio

6
推荐指数
1
解决办法
1945
查看次数

ActiveMQ线程安全吗?

我们希望我们的运行cms::MessageConsumer,并cms::MessageProducer在不同的同一进程的线程.

我们如何安全地做到这一点?

是否有两个cms::Connection物体和两个cms::Session物体,一个用于消费者和生产者,足以保证安全?这有必要吗?

静态库级别的对象之间是否存在共享状态会阻止此类用法?

c++ multithreading activemq-classic activemq-cpp

3
推荐指数
2
解决办法
2288
查看次数

ActiveMQ CMS - 重新交付柜台

有没有办法知道特定消息被重新传递了多少次?

getCMSRedelivered()类的方法cms::Message,可以正常工作,但返回一个布尔值.还有getRedeliveryCounter()类的方法activemq::core::commands::Message,但这是一个内部类,我宁愿不直接访问.

谢谢.

activemq-classic activemq-cpp

2
推荐指数
1
解决办法
1179
查看次数

ActiveMQ-CPP和Visual Studio 2003

ActiveMQ CPP和Visual Studio 2003

我有一个要求让AMQ使用一些需要VS 7.1的代码,但是我很难获得它和使用VS 7.1构建的各种Apache库如apr等.有一个针对AMQ-CPP的vs2008解决方案/项目,我已将其用作模板,并尝试为VS 7.1创建一个,

但是在尝试构建时,我会收到如下错误:

"\amq\activemq-cpp-library-3.4.1\src\main\activemq\util\primitivemap.cpp(70): fatal error C1001: INTERNAL COMPILER ERROR  (compiler file 'f:\vs70builds\3077\vc\Compiler\Utc\src\P2\main.c', line 148)"
Run Code Online (Sandbox Code Playgroud)

总之,有没有人能够使用VS 7.1构建并成功运行AMQ?是否支持编译器?

我已经浏览了常见问题解答(没有找到任何表明方式或其他方式)并在他们的ML上发布了问题,但无济于事.

任何信息或链接都会很棒.

http://activemq.apache.org/cms/index.html

c++ activemq-classic build activemq-cpp visual-studio

1
推荐指数
1
解决办法
398
查看次数