List of usage examples for org.springframework.jms.listener DefaultMessageListenerContainer setMessageSelector
public void setMessageSelector(@Nullable String messageSelector)
From source file:org.nebulaframework.grid.cluster.manager.services.jobs.remote.RemoteClusterJobServiceImpl.java
/** * Initializes the {@code RemoteClusterJobServiceImpl}, by exposing the * service as a remote service through JMS and starting the JMS Message * Listener Container for service.// w w w . j a v a 2 s . c o m */ protected void initialize() { // Create JMS Remoting Container and Expose service String queueName = JMSNamingSupport.getRemoteJobServiceQueueName(); DefaultMessageListenerContainer container = JMSRemotingSupport.createService(connectionFactory, queueName, this, RemoteClusterJobService.class); // Set a Message Selector to accept only messages for this Cluster container.setMessageSelector("targetClusterId = '" + cluster.getClusterId() + "'"); log.debug("[RemoteJobService] Initialized"); }
From source file:ch.algotrader.service.SubscriptionServiceImpl.java
private void updateMessageSelector(final DefaultMessageListenerContainer genericMessageListenerContainer, String messageSelector) { genericMessageListenerContainer.setMessageSelector(messageSelector); // restart the container (must do this in a separate thread to prevent dead-locks) (new Thread() { @Override// w w w . j av a 2 s . c om public void run() { genericMessageListenerContainer.stop(); genericMessageListenerContainer.shutdown(); genericMessageListenerContainer.start(); genericMessageListenerContainer.initialize(); } }).start(); }
From source file:com.ruyicai.msgcenter.jms.WithoutTMJmsConfiguration.java
protected void configureMessageListenerContainer(DefaultMessageListenerContainer container, JmsEndpoint endpoint) throws Exception { container.setConnectionFactory(getListenerConnectionFactory()); if (endpoint instanceof DestinationEndpoint) { container.setDestinationResolver(createDestinationResolver((DestinationEndpoint) endpoint)); } else if (destinationResolver != null) { container.setDestinationResolver(destinationResolver); }/*from w ww .ja v a 2 s . c o m*/ container.setAutoStartup(autoStartup); if (durableSubscriptionName != null) { container.setDurableSubscriptionName(durableSubscriptionName); container.setSubscriptionDurable(true); } if (clientId != null) { container.setClientId(clientId); } if (exceptionListener != null) { container.setExceptionListener(exceptionListener); } container.setAcceptMessagesWhileStopping(acceptMessagesWhileStopping); container.setExposeListenerSession(exposeListenerSession); container.setSessionTransacted(transacted); if (endpoint.getSelector() != null && endpoint.getSelector().length() != 0) { container.setMessageSelector(endpoint.getSelector()); } if (concurrentConsumers >= 0) { container.setConcurrentConsumers(concurrentConsumers); } if (cacheLevel >= 0) { container.setCacheLevel(cacheLevel); } else if (cacheLevelName != null) { container.setCacheLevelName(cacheLevelName); } else { container.setCacheLevel(defaultCacheLevel(endpoint)); } if (idleTaskExecutionLimit >= 0) { container.setIdleTaskExecutionLimit(idleTaskExecutionLimit); } if (maxConcurrentConsumers > 0) { if (maxConcurrentConsumers < concurrentConsumers) { throw new IllegalArgumentException("Property maxConcurrentConsumers: " + maxConcurrentConsumers + " must be higher than concurrentConsumers: " + concurrentConsumers); } container.setMaxConcurrentConsumers(maxConcurrentConsumers); } if (maxMessagesPerTask >= 0) { container.setMaxMessagesPerTask(maxMessagesPerTask); } container.setPubSubNoLocal(pubSubNoLocal); if (receiveTimeout >= 0) { container.setReceiveTimeout(receiveTimeout); } if (recoveryInterval >= 0) { container.setRecoveryInterval(recoveryInterval); } if (taskExecutor != null) { container.setTaskExecutor(taskExecutor); } if (transactionName != null) { container.setTransactionName(transactionName); } if (transactionTimeout >= 0) { container.setTransactionTimeout(transactionTimeout); } }