Tag: activemq

Spring Boot的ActiveMQ配置

我使用ActiveMQ作为嵌入式Spring Boot。 似乎Broker是通过ActiveMQConnectionFactory创建的。 我知道配置代理的方法是使用代理在查询中设置参数。 如下所述: http : //activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html 我想设置一些关于DLQ的function,所以它在destinationPolicy属性中,但属性类型不是简单类型而是复杂类型,如何编写查询参数来禁用DLQ,好吗?

ActiveMQ授权

如果我想在Apache ActiveMQ上实现JAAS授权,我是否必须使用activemq.xml配置文件中的插件? 这种方式真的不好,因为如果我想更改授权,我必须更改activemq.xml文件并重新启动服务器才能工作。 有没有什么方法可以通过更改其他属性文件而不是activemq.xml文件来使用JAAS身份validation? 或者我可以自定义自己的授权插件吗? 谢谢。

ActiveMQ Consumer挂起

我有一个使用SSL传输的activeMQ代理。 我有大约10个使用经纪人的消费者。 我正在使用camel配置我的路由。 即使我重新启动了消费者,即使队列中有待处理的消息,它也会经常挂起并且不会消耗新消息。 我开始试图通过一次尝试复制问题来逐步通过我的消费者来隔离发生这种情况的地方。 我终于找到了一个可以重新创建问题的消费者。 它会在一段时间后挂起,但是,如果我转到活动的MQ管理控制台并尝试查看队列中的消息,它将再次开始运行。 我认为Jetty导致连接发生刷新网页的队列,从而解除了我遇到的一些线程问题。 我该怎么调试呢? 谢谢

避免在JMS / ActiveMQ上重复的消息

有一种方法可以抑制ActiveMQ服务器上定义的队列上的重复消息吗? 我尝试手动定义JMSMessageID(message.setJMSMessageID(“uniqueid”)),但服务器忽略此修改并传递带有内置生成的JMSMessageID的消息。 根据规范,我没有找到关于如何重复删除邮件的参考。 在HornetQ中,为了解决这个问题,我们需要在消息定义中声明HQ特定属性org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID。 即: Message jmsMessage = session.createMessage(); String myUniqueID = “This is my unique id”; // Could use a UUID for this message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID); 有人知道ActiveMQ是否有类似的解决方案?

哪个更好:PooledConnectionFactory或CachingConnectionFactory?

我们在Tomcat(7.0.41)中使用Spring(3.2.4)和ActiveMQ(5.8.0)并且不清楚最佳用法是什么。 我们希望使用JmsTemplate生成MessageListenerContainer来接收消息。 我们应该在接收方使用缓存吗? ( 相关链接 ) 使用ActiveMQ和故障转移工作CachingConnectionFactory? ( 相关链接 ) 当我们使用PooledConnectionFactory时需要设置useAsyncSend =“true”? ( 相关链接 )

multithreadingJMS客户端ActiveMQ

我使用以下代码为多个消费者创建多个JMS会话以使用消息。 我的问题是代码以单线程方式运行。 即使消息存在于队列中,第二个线程也无法接收任何内容并且只是保持轮询。 第一个线程同时完成第一批处理并返回并消耗剩余的消息。 这里的使用有什么问题吗? static { try { ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“tcp://172.16.143.99:61616”); connection = connectionFactory.createConnection(); connection.start(); } catch (JMSException e) { LOGGER.error(“Unable to initialise JMS Queue.”, e); } } public JMSClientReader(boolean isQueue, String name) throws QueueException { init(isQueue,name); } @Override public void init(boolean isQueue, String name) throws QueueException { // Create a Connection […]

需要澄清JMS与ActiveMQ bean /资源配置

在如何使用JMS资源以及在@MessageDriven注释上使用适当的@ActivationConfigProperty设置activationConfig似乎存在一些不一致。 首先,这是我的资源配置( glassfish-resources.xml ,但可以翻译成其他部署描述符)。 这适用于Glassfish( asadmin add-resources glassfish-resources.xml )以及ActiveMQ资源适配器 : MyApp JMS Queue MyApp Connection Factory 这是我的消息提供者bean。 您会注意到找到了JNDI名称并且使用了ActiveMQ资源而没有错误,消息被发送到正确的队列: @Stateless @LocalBean public class ServicesHandlerBean { @Resource(mappedName = “jms/queue/myApp”) private Queue queue; @Resource(mappedName = “jms/factory/myApp”) private ConnectionFactory factory; public void sendJMSMessage(MessageConfig messageData) throws JMSException { Connection connection = null; Session session = null; try { connection = […]

嵌入式ActiveMQ的启动错误:临时存储限制为51200 mb

我有一个Spring Web应用程序,它将发送和监听独立的ActiveMQ。 当我启动Web应用程序时,它显示: 20:12:52.684 [localhost-startStop-1] ERROR oaactivemq.broker.BrokerService – Temporary Store limit is 51200 mb, whilst the temporary data directory: /root/activemq-data/localhost/tmp_storage only has 29021 mb of usable space 我用谷歌搜索并阅读了很多文章,他们都参考配置代理和systemusage来限制临时存储大小。 但是,我不知道如何在Spring配置中执行此操作。 下面是我的配置XML。 谢谢,请帮助我离开这里!

高性能JMS消息传递

我阅读了今年UberConf的幻灯片,其中一位发言人提出Spring JMS为您的消息队列系统增加了性能开销的论点,但我没有看到任何证据支持幻灯片。 发言者还说明点对点比传统的“发布 – 订阅”方法更快,因为每个消息只发送一次而不是广播给每个消费者。 我想知道是否有经验丰富的Java消息传递专家可以在这里权衡并澄清一些技术细节: 使用Spring JMS而不仅仅是纯JMS实际上是否会产生性能开销? 如果是这样,它是如何以及在何处引入的? 它有什么办法吗? 有什么实际证据支持P2P比pub-sub模型更快,如果是这样的话,是否有任何情况下你想要通过P2P发布sub-sub(即为什么变慢?!? )?

ACTIVEMQ-发布者订阅者hello world示例

有两个程序:订阅者和发布者…订阅者能够将消息放到主题上并成功发送消息。 当我在浏览器上检查activemq服务器时,它显示1 msg排队。 但是当我运行消费者代码时,它没有收到消息 这是生产者代码: import javax.jms.*; import org.apache.activemq.ActiveMQConnection; import org.apache.activemq.ActiveMQConnectionFactory; public class producer { private static String url = ActiveMQConnection.DEFAULT_BROKER_URL; public static void main(String[] args) throws JMSException { ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url); Connection connection = connectionFactory.createConnection(); connection.start(); // JMS messages are sent and received using a Session. We will // create here a […]