List of usage examples for org.springframework.jms.core JmsTemplate setTimeToLive
public void setTimeToLive(long timeToLive)
From source file:com.alliander.osgp.adapter.protocol.oslp.application.config.MessagingConfig.java
@Bean public JmsTemplate signingServerRequestsJmsTemplate() { final JmsTemplate jmsTemplate = new JmsTemplate(); jmsTemplate.setDefaultDestination(this.signingServerRequestsQueue()); // Enable the use of deliveryMode, priority, and timeToLive jmsTemplate.setExplicitQosEnabled(Boolean.parseBoolean(this.environment .getRequiredProperty(PROPERTY_NAME_JMS_SIGNING_SERVER_REQUESTS_EXPLICIT_QOS_ENABLED))); jmsTemplate.setTimeToLive(Long.parseLong( this.environment.getRequiredProperty(PROPERTY_NAME_JMS_SIGNING_SERVER_REQUESTS_TIME_TO_LIVE))); jmsTemplate.setDeliveryPersistent(Boolean.parseBoolean(this.environment .getRequiredProperty(PROPERTY_NAME_JMS_SIGNING_SERVER_REQUESTS_DELIVERY_PERSISTENT))); jmsTemplate.setConnectionFactory(this.pooledConnectionFactory()); jmsTemplate.setReceiveTimeout(Long.parseLong( this.environment.getRequiredProperty(PROPERTY_NAME_JMS_SIGNING_SERVER_REQUESTS_RECEIVE_TIMEOUT))); return jmsTemplate; }
From source file:com.ruyicai.msgcenter.jms.WithoutTMJmsConfiguration.java
/** * Creates a {@link JmsOperations} object used for request/response using a request timeout value */// ww w . j a va 2 s. c o m public JmsOperations createInOutTemplate(JmsEndpoint endpoint, boolean pubSubDomain, String destination, long requestTimeout) { JmsOperations answer = createInOnlyTemplate(endpoint, pubSubDomain, destination); if (answer instanceof JmsTemplate && requestTimeout > 0) { JmsTemplate jmsTemplate = (JmsTemplate) answer; jmsTemplate.setExplicitQosEnabled(true); // prefer to use timeToLive over requestTimeout if both specified long ttl = timeToLive > 0 ? timeToLive : requestTimeout; if (ttl > 0 && !isDisableTimeToLive()) { // only use TTL if not disabled jmsTemplate.setTimeToLive(ttl); } jmsTemplate.setSessionTransacted(isTransactedInOut()); if (isTransactedInOut()) { jmsTemplate.setSessionAcknowledgeMode(Session.SESSION_TRANSACTED); } else { if (acknowledgementMode >= 0) { jmsTemplate.setSessionAcknowledgeMode(acknowledgementMode); } else if (acknowledgementModeName != null) { jmsTemplate.setSessionAcknowledgeModeName(acknowledgementModeName); } else { // default to AUTO jmsTemplate.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE); } } } return answer; }
From source file:org.apache.servicemix.jms.endpoints.JmsProviderEndpoint.java
/** * Create the JMS template to be used to send the JMS messages. * * @return//from w w w. java 2 s .c o m */ protected JmsTemplate createTemplate() { JmsTemplate tplt; if (isJms102()) { tplt = new JmsTemplate102(); } else { tplt = new JmsTemplate(); } tplt.setConnectionFactory(getConnectionFactory()); if (getDestination() != null) { tplt.setDefaultDestination(getDestination()); } else if (getDestinationName() != null) { tplt.setDefaultDestinationName(getDestinationName()); } tplt.setDeliveryMode(getDeliveryMode()); if (getDestinationResolver() != null) { tplt.setDestinationResolver(getDestinationResolver()); } tplt.setExplicitQosEnabled(isExplicitQosEnabled()); tplt.setMessageIdEnabled(isMessageIdEnabled()); tplt.setMessageTimestampEnabled(isMessageTimestampEnabled()); tplt.setPriority(getPriority()); tplt.setPubSubDomain(isPubSubDomain()); tplt.setPubSubNoLocal(isPubSubNoLocal()); tplt.setTimeToLive(getTimeToLive()); tplt.setReceiveTimeout(getReceiveTimeout()); tplt.afterPropertiesSet(); return tplt; }
From source file:com.ruyicai.msgcenter.jms.WithoutTMJmsConfiguration.java
/** * Creates a {@link JmsOperations} object used for one way messaging *//*from w ww . ja v a 2 s . c om*/ public JmsOperations createInOnlyTemplate(JmsEndpoint endpoint, boolean pubSubDomain, String destination) { if (jmsOperations != null) { return jmsOperations; } ConnectionFactory factory = getTemplateConnectionFactory(); JmsTemplate template = new CamelJmsTemplate(this, factory); template.setPubSubDomain(pubSubDomain); if (destinationResolver != null) { template.setDestinationResolver(destinationResolver); if (endpoint instanceof DestinationEndpoint) { LOG.debug( "You are overloading the destinationResolver property on a DestinationEndpoint; are you sure you want to do that?"); } } else if (endpoint instanceof DestinationEndpoint) { DestinationEndpoint destinationEndpoint = (DestinationEndpoint) endpoint; template.setDestinationResolver(createDestinationResolver(destinationEndpoint)); } template.setDefaultDestinationName(destination); template.setExplicitQosEnabled(isExplicitQosEnabled()); template.setDeliveryPersistent(deliveryPersistent); if (messageConverter != null) { template.setMessageConverter(messageConverter); } template.setMessageIdEnabled(messageIdEnabled); template.setMessageTimestampEnabled(messageTimestampEnabled); if (priority >= 0) { template.setPriority(priority); } template.setPubSubNoLocal(pubSubNoLocal); if (receiveTimeout >= 0) { template.setReceiveTimeout(receiveTimeout); } // only set TTL if we have a positive value and it has not been disabled if (timeToLive >= 0 && !isDisableTimeToLive()) { template.setTimeToLive(timeToLive); } template.setSessionTransacted(transacted); if (transacted) { template.setSessionAcknowledgeMode(Session.SESSION_TRANSACTED); } else { // This is here for completeness, but the template should not get // used for receiving messages. if (acknowledgementMode >= 0) { template.setSessionAcknowledgeMode(acknowledgementMode); } else if (acknowledgementModeName != null) { template.setSessionAcknowledgeModeName(acknowledgementModeName); } } return template; }
From source file:org.apache.camel.component.jms.JmsConfiguration.java
/** * Creates a {@link JmsOperations} object used for request/response using a request timeout value *//*from w w w .ja v a 2s.c o m*/ public JmsOperations createInOutTemplate(JmsEndpoint endpoint, boolean pubSubDomain, String destination, long requestTimeout) { JmsOperations answer = createInOnlyTemplate(endpoint, pubSubDomain, destination); if (answer instanceof JmsTemplate && requestTimeout > 0) { JmsTemplate jmsTemplate = (JmsTemplate) answer; jmsTemplate.setExplicitQosEnabled(true); if (timeToLive < 0) { // If TTL not specified, then default to jmsTemplate.setTimeToLive(requestTimeout); } jmsTemplate.setSessionTransacted(isTransactedInOut()); if (isTransactedInOut()) { jmsTemplate.setSessionAcknowledgeMode(Session.SESSION_TRANSACTED); } else { if (acknowledgementMode >= 0) { jmsTemplate.setSessionAcknowledgeMode(acknowledgementMode); } else if (acknowledgementModeName != null) { jmsTemplate.setSessionAcknowledgeModeName(acknowledgementModeName); } else { // default to AUTO jmsTemplate.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE); } } } return answer; }
From source file:org.apache.camel.component.jms.JmsConfiguration.java
/** * Creates a {@link JmsOperations} object used for one way messaging *//* www. j a v a2 s. co m*/ public JmsOperations createInOnlyTemplate(JmsEndpoint endpoint, boolean pubSubDomain, String destination) { if (jmsOperations != null) { return jmsOperations; } ConnectionFactory factory = getTemplateConnectionFactory(); JmsTemplate template = new CamelJmsTemplate(this, factory); template.setPubSubDomain(pubSubDomain); if (destinationResolver != null) { template.setDestinationResolver(destinationResolver); if (endpoint instanceof DestinationEndpoint) { LOG.debug( "You are overloading the destinationResolver property on a DestinationEndpoint; are you sure you want to do that?"); } } else if (endpoint instanceof DestinationEndpoint) { DestinationEndpoint destinationEndpoint = (DestinationEndpoint) endpoint; template.setDestinationResolver(createDestinationResolver(destinationEndpoint)); } template.setDefaultDestinationName(destination); template.setExplicitQosEnabled(isExplicitQosEnabled()); template.setDeliveryPersistent(deliveryPersistent); if (messageConverter != null) { template.setMessageConverter(messageConverter); } template.setMessageIdEnabled(messageIdEnabled); template.setMessageTimestampEnabled(messageTimestampEnabled); if (priority >= 0) { template.setPriority(priority); } template.setPubSubNoLocal(pubSubNoLocal); if (receiveTimeout >= 0) { template.setReceiveTimeout(receiveTimeout); } if (timeToLive >= 0) { template.setTimeToLive(timeToLive); } template.setSessionTransacted(transacted); if (transacted) { template.setSessionAcknowledgeMode(Session.SESSION_TRANSACTED); } else { // This is here for completeness, but the template should not get // used for receiving messages. if (acknowledgementMode >= 0) { template.setSessionAcknowledgeMode(acknowledgementMode); } else if (acknowledgementModeName != null) { template.setSessionAcknowledgeModeName(acknowledgementModeName); } } return template; }