@JmsListener(destination = "helloworld.q")
public void receive(String message) {
LOGGER.info("received message='{}'", message);
}
@Configuration
@EnableJms
public class ReceiverConfig implements JmsListenerConfigurer {
@Override
public void configureJmsListeners(JmsListenerEndpointRegistrar registrar) {
SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint();
endpoint.setId("myJmsEndpoint");
endpoint.setDestination("anotherQueue");
endpoint.setMessageListener(message -> {
// processing
});
registrar.registerEndpoint(endpoint);
}
// other methods...
}
我们用的是Spring2.x。
可以为目标名称使用属性占位符
@SpringBootApplication
public class So56226984Application {
public static void main(String[] args) {
SpringApplication.run(So56226984Application.class, args);
}
@JmsListener(destination = "${foo.bar}")
public void listen(String in) {
System.out.println(in);
}
@Bean
public ApplicationRunner runner(JmsTemplate template) {
return args -> template.convertAndSend("baz", "qux");
}
}
然后在Spring Boot应用程序的application.yml中设置属性,或者在启动JVM时设置命令行属性
-Dfoo.bar=baz
编辑
@SpringBootApplication
public class So56226984Application {
public static void main(String[] args) {
SpringApplication.run(So56226984Application.class, args).close();
}
@Bean
public ApplicationRunner runner(JmsTemplate template, JmsListenerEndpointRegistry registry,
ConfigurableApplicationContext context) {
return args -> {
Scanner scanner = new Scanner(System.in);
String queue = scanner.nextLine();
Properties props = new Properties();
context.getEnvironment().getPropertySources().addLast(new PropertiesPropertySource("queues", props));
while (!"quit".equals(queue)) {
System.out.println("Adding " + queue);
props.put("queue.name", queue);
context.getBean("listener", Listener.class);
template.convertAndSend(queue, "qux sent to " + queue);
System.out.println("There are now " + registry.getListenerContainers().size() + " containers");
queue = scanner.nextLine();
}
scanner.close();
};
}
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public Listener listener() {
return new Listener();
}
public static class Listener {
@JmsListener(destination = "${queue.name}")
public void listen(String in) {
System.out.println(in);
}
}
}
本文向大家介绍Android scrollview如何监听滑动状态,包括了Android scrollview如何监听滑动状态的使用技巧和注意事项,需要的朋友参考一下 ScrollView 视图的滚动过程,其实是在不断修改原点坐标。当手指触摸后,ScrollView会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么ScrollView发送tracking events
当一个bean处理完后需要另一个bean继续处理,那么就需要一个bean监听另一个bean 7.1 事件流程 自定义事件:一般是继承ApplicationEvent抽象类 定义事件监听器:一般是实现ApplicationListener接口 启动的时候把监听器加入到spring容器中 发布事件 package com.clsaa.edu.springboot; import org.spri
本文向大家介绍Springboot项目监听器失效问题解决,包括了Springboot项目监听器失效问题解决的使用技巧和注意事项,需要的朋友参考一下 1.使用springboot项目,现在有个需求是在添加或者修改某个菜单后,菜单会影响角色,角色影响用户。所有受影响的用户在要退出重新登录。 自己实现的思路是这样的:写一个监听器,在收到某个特定的请求后,监听当前所有的用户,如果是受影响的用户,就销毁se
导航条示例 滚动监听插件会根据滚动的位置,自动更新导航条的目标。滚动在导航条下面的区域,查看active类的改变。弹出菜单的子项也同样会被高亮。 用法 需要Bootstrap导航条 Scrollspy currently requires the use of a Bootstrap nav component for proper highlighting of active links. 滚动
滚动监听是一个 jQuery 插件,用于追踪某一确定元素并且元素目前处于用户屏幕的焦点。我们的示例在每个文档页的右边。单击这些链接将滚动到页面元素的位置。 表格内容的结构 <div class="row"> <div class="col s12 m9 l10"> <div id="introduction" class="section scrollspy"> <p>内容 </p>
我想使用Spring Kafka API实现一个有状态侦听器。 鉴于以下情况: ConcurrentKafkaListenerContainerFactory,并发设置为“n” Spring@Service类上的@KafKalistener注释方法