Search in sources :

Example 6 with Queue

use of jakarta.jms.Queue in project spring-framework by spring-projects.

the class MessagingMessageListenerAdapterTests method replyWithCustomTimeToLive.

@Test
public void replyWithCustomTimeToLive() throws JMSException {
    Session session = mock(Session.class);
    Queue replyDestination = mock(Queue.class);
    given(session.createQueue("queueOut")).willReturn(replyDestination);
    MessageProducer messageProducer = mock(MessageProducer.class);
    TextMessage responseMessage = mock(TextMessage.class);
    given(session.createTextMessage("Response")).willReturn(responseMessage);
    given(session.createProducer(replyDestination)).willReturn(messageProducer);
    MessagingMessageListenerAdapter listener = getPayloadInstance("Response", "replyPayloadToQueue", Message.class);
    QosSettings settings = new QosSettings();
    settings.setTimeToLive(6000);
    listener.setResponseQosSettings(settings);
    listener.onMessage(mock(jakarta.jms.Message.class), session);
    verify(session).createQueue("queueOut");
    verify(session).createTextMessage("Response");
    verify(messageProducer).send(responseMessage, jakarta.jms.Message.DEFAULT_DELIVERY_MODE, jakarta.jms.Message.DEFAULT_PRIORITY, 6000);
    verify(messageProducer).close();
}
Also used : StubTextMessage(org.springframework.jms.StubTextMessage) Message(org.springframework.messaging.Message) TextMessage(jakarta.jms.TextMessage) QosSettings(org.springframework.jms.support.QosSettings) MessageProducer(jakarta.jms.MessageProducer) Queue(jakarta.jms.Queue) StubTextMessage(org.springframework.jms.StubTextMessage) TextMessage(jakarta.jms.TextMessage) Session(jakarta.jms.Session) Test(org.junit.jupiter.api.Test)

Example 7 with Queue

use of jakarta.jms.Queue in project spring-framework by spring-projects.

the class DynamicDestinationResolverTests method resolveWithPointToPointQueueSession.

@Test
public void resolveWithPointToPointQueueSession() throws Exception {
    Queue expectedDestination = new StubQueue();
    Session session = mock(QueueSession.class);
    given(session.createQueue(DESTINATION_NAME)).willReturn(expectedDestination);
    testResolveDestination(session, expectedDestination, false);
}
Also used : StubQueue(org.springframework.jms.StubQueue) StubQueue(org.springframework.jms.StubQueue) Queue(jakarta.jms.Queue) QueueSession(jakarta.jms.QueueSession) Session(jakarta.jms.Session) TopicSession(jakarta.jms.TopicSession) Test(org.junit.jupiter.api.Test)

Example 8 with Queue

use of jakarta.jms.Queue in project spring-framework by spring-projects.

the class DynamicDestinationResolverTests method resolveWithPointToPointVanillaSession.

@Test
public void resolveWithPointToPointVanillaSession() throws Exception {
    Queue expectedDestination = new StubQueue();
    Session session = mock(Session.class);
    given(session.createQueue(DESTINATION_NAME)).willReturn(expectedDestination);
    testResolveDestination(session, expectedDestination, false);
}
Also used : StubQueue(org.springframework.jms.StubQueue) StubQueue(org.springframework.jms.StubQueue) Queue(jakarta.jms.Queue) QueueSession(jakarta.jms.QueueSession) Session(jakarta.jms.Session) TopicSession(jakarta.jms.TopicSession) Test(org.junit.jupiter.api.Test)

Example 9 with Queue

use of jakarta.jms.Queue in project spring-framework by spring-projects.

the class JmsTemplate method browseSelected.

@Override
@Nullable
public <T> T browseSelected(final String queueName, @Nullable final String messageSelector, final BrowserCallback<T> action) throws JmsException {
    Assert.notNull(action, "Callback object must not be null");
    return execute(session -> {
        Queue queue = (Queue) getDestinationResolver().resolveDestinationName(session, queueName, false);
        QueueBrowser browser = createBrowser(session, queue, messageSelector);
        try {
            return action.doInJms(session, browser);
        } finally {
            JmsUtils.closeQueueBrowser(browser);
        }
    }, true);
}
Also used : TemporaryQueue(jakarta.jms.TemporaryQueue) Queue(jakarta.jms.Queue) QueueBrowser(jakarta.jms.QueueBrowser) Nullable(org.springframework.lang.Nullable)

Example 10 with Queue

use of jakarta.jms.Queue in project spring-framework by spring-projects.

the class MessageListenerAdapterTests method testWithResponsiveMessageDelegateNoDefaultDestination_SendsReturnTextMessageWhenSessionSupplied_AndSendingThrowsJMSException.

@Test
void testWithResponsiveMessageDelegateNoDefaultDestination_SendsReturnTextMessageWhenSessionSupplied_AndSendingThrowsJMSException() throws Exception {
    Queue destination = mock(Queue.class);
    final TextMessage sentTextMessage = mock(TextMessage.class);
    // correlation ID is queried when response is being created...
    given(sentTextMessage.getJMSCorrelationID()).willReturn(CORRELATION_ID);
    // Reply-To is queried when response is being created...
    given(sentTextMessage.getJMSReplyTo()).willReturn(destination);
    TextMessage responseTextMessage = mock(TextMessage.class);
    MessageProducer messageProducer = mock(MessageProducer.class);
    willThrow(new JMSException("Doe!")).given(messageProducer).send(responseTextMessage);
    final QueueSession session = mock(QueueSession.class);
    given(session.createTextMessage(RESPONSE_TEXT)).willReturn(responseTextMessage);
    given(session.createProducer(destination)).willReturn(messageProducer);
    ResponsiveMessageDelegate delegate = mock(ResponsiveMessageDelegate.class);
    given(delegate.handleMessage(sentTextMessage)).willReturn(RESPONSE_TEXT);
    final MessageListenerAdapter adapter = new MessageListenerAdapter(delegate) {

        @Override
        protected Object extractMessage(Message message) {
            return message;
        }
    };
    assertThatExceptionOfType(ReplyFailureException.class).isThrownBy(() -> adapter.onMessage(sentTextMessage, session)).withCauseExactlyInstanceOf(JMSException.class);
    verify(responseTextMessage).setJMSCorrelationID(CORRELATION_ID);
    verify(messageProducer).close();
    verify(delegate).handleMessage(sentTextMessage);
}
Also used : Message(jakarta.jms.Message) BytesMessage(jakarta.jms.BytesMessage) TextMessage(jakarta.jms.TextMessage) ObjectMessage(jakarta.jms.ObjectMessage) JMSException(jakarta.jms.JMSException) MessageProducer(jakarta.jms.MessageProducer) Queue(jakarta.jms.Queue) TextMessage(jakarta.jms.TextMessage) QueueSession(jakarta.jms.QueueSession) Test(org.junit.jupiter.api.Test)

Aggregations

Queue (jakarta.jms.Queue)12 Session (jakarta.jms.Session)10 Test (org.junit.jupiter.api.Test)10 TextMessage (jakarta.jms.TextMessage)9 MessageProducer (jakarta.jms.MessageProducer)7 QueueSession (jakarta.jms.QueueSession)6 StubTextMessage (org.springframework.jms.StubTextMessage)5 Message (org.springframework.messaging.Message)5 BytesMessage (jakarta.jms.BytesMessage)4 Message (jakarta.jms.Message)4 ObjectMessage (jakarta.jms.ObjectMessage)4 QueueSender (jakarta.jms.QueueSender)2 TopicSession (jakarta.jms.TopicSession)2 StubQueue (org.springframework.jms.StubQueue)2 QosSettings (org.springframework.jms.support.QosSettings)2 JMSException (jakarta.jms.JMSException)1 QueueBrowser (jakarta.jms.QueueBrowser)1 TemporaryQueue (jakarta.jms.TemporaryQueue)1 MappingJackson2MessageConverter (org.springframework.jms.support.converter.MappingJackson2MessageConverter)1 Nullable (org.springframework.lang.Nullable)1