我想使用SpringBoot向ActiveMQ队列发送消息。应用程序应在发送后终止,但仍保持活动状态。
这是我的申请代码:
@SpringBootApplication
public class TestJmsClient implements CommandLineRunner {
private static final String QUEUE_NAME = "myQueue";
@Autowired
private JmsTemplate jmsTemplate;
public static void main(String[] args) {
new SpringApplicationBuilder(TestJmsClient.class).bannerMode(Mode.OFF).run(args);
}
@Bean
public MessageConverter jacksonJmsMessageConverter() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
converter.setTargetType(MessageType.BYTES);
converter.setTypeIdPropertyName("_type");
return converter;
}
@Override
public void run(String... args) throws Exception {
jmsTemplate.convertAndSend(QUEUE_NAME, new MyObject());
}
}
在没有任何父节点的情况下使用以下依赖项(Maven):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
和一行应用程序。属性:
spring。activemq。代理url=故障转移:(tcp://localhost:61616)
消息已发送到队列,但应用程序未停止。线程转储告诉我,
ActiveMQ传输:tcp://localhost/127.0.0.1:61616
线程正在运行。
我是否需要不同的
连接工厂
?或者,我可以在发送消息后立即终止应用程序吗?
注意:如果没有JMS内容,应用程序将终止。注意:我使用的是标准的ActiveMQ安装。
感谢:)
这就是解决方案:
@Bean
public ConnectionFactory connectionFactory() {
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
return connectionFactory;
}
您可以在运行程序退出后关闭()应用程序上下文...
new SpringApplicationBuilder(TestJmsClient.class).bannerMode(Mode.OFF).run(args).close();
如何延迟JMS消息发送或在不确定的时间内继续? 我使用的是Weblogic,正如您所知,在JMS发送之后,接收方将异步处理消息,但是,此时或有时外部资源还没有为接收方做好准备,因此,我想使用一些检查逻辑来延迟发送或处理消息。我猜例如:我将消息放入挂起队列,然后频繁检查资源可用性,一旦发送或继续消息? 大家都知道Weblogic是否支持这一点,或者如何实现它吗?
null 谁能给我一个向RabbitMQ发送消息的标准程序的例子。我正在使用Spring Boot,也可以使用它的特性。
我们有一个Spring Boot应用程序,用于在另一个组件上执行负载测试。我们每分钟最多需要发送35000条JMS消息,因此我使用调度器每分钟运行一次任务。 问题是当我保持低强度时,它会设法在指定的时间间隔(一分钟)内发送消息。但是当强度很高时,发送消息块需要超过1分钟。对以下实现有任何建议吗? 调度程序类 用于发送消息的类
我有一个web应用程序,它通过WebLogic中的JMS与其他Java web应用程序通信。 我读到这样的答案:如何从PHP连接Jms? 我安装了ActiveMQ并尝试使用它。但是在Weblogic中,我们需要“jms_factory”和“queue_name”。我想它使用t3协议。
问题内容: 我正在尝试创建一个Java Application Client项目,该项目将JMS消息发送到Glassfish服务器上的队列。 问题在于,应用发送完消息后,它在应退出时挂起。该消息已成功传输,但是由于某种原因该应用程序没有退出。我已经尝试调试该应用程序,并且可以将其一直走到的结尾,这就是它的挂起位置。 这是代码: 如何使其停止挂起? 问题答案: 长期以来,它一直是Glassfish中
本文向大家介绍Spring-boot JMS 发送消息慢的解决方法,包括了Spring-boot JMS 发送消息慢的解决方法的使用技巧和注意事项,需要的朋友参考一下 Spring-boot JMS 发送消息慢的问题解决 1、在《ActiveMQ 基于zookeeper的主从(levelDB Master/Slave)搭建以及Spring-boot下使用》中,采用以下代码进行JMS消息发送: 经使