return new org.springframework.jms.IllegalStateException((javax.jms.IllegalStateException) ex); return new InvalidClientIDException((javax.jms.InvalidClientIDException) ex); return new InvalidDestinationException((javax.jms.InvalidDestinationException) ex); return new InvalidSelectorException((javax.jms.InvalidSelectorException) ex); return new JmsSecurityException((javax.jms.JMSSecurityException) ex); return new MessageEOFException((javax.jms.MessageEOFException) ex); return new MessageFormatException((javax.jms.MessageFormatException) ex); return new MessageNotReadableException((javax.jms.MessageNotReadableException) ex); return new MessageNotWriteableException((javax.jms.MessageNotWriteableException) ex); return new ResourceAllocationException((javax.jms.ResourceAllocationException) ex); return new TransactionInProgressException((javax.jms.TransactionInProgressException) ex); return new TransactionRolledBackException((javax.jms.TransactionRolledBackException) ex); return new UncategorizedJmsException(ex);
private StubTextMessage createSimpleJmsTextMessage(String body) { return new StubTextMessage(body); }
private javax.jms.Message createJmsTextMessage(String payload) { try { StubTextMessage jmsMessage = new StubTextMessage(payload); jmsMessage.setStringProperty("foo", "bar"); return jmsMessage; } catch (JMSException e) { throw new IllegalStateException("Should not happen", e); } }
@Test public void jmsTimestampMappedToHeader() throws JMSException { long timestamp = 123L; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSTimestamp(timestamp); assertInboundHeader(jmsMessage, JmsHeaders.TIMESTAMP, timestamp); }
/** * Convenience method to get the vendor specific error code if * the root cause was an instance of JMSException. * @return a string specifying the vendor-specific error code if the * root cause is an instance of JMSException, or {@code null} */ @Nullable public String getErrorCode() { Throwable cause = getCause(); if (cause instanceof JMSException) { return ((JMSException) cause).getErrorCode(); } return null; }
private void testMessageConverterIsUsed() throws JMSException { MethodJmsListenerEndpoint endpoint = createDefaultMethodJmsEndpoint( this.listener.getClass(), "handleIt", String.class, String.class); Message message = new StubTextMessage("foo-bar"); message.setStringProperty("my-header", "my-value"); invokeListener(endpoint, message); assertListenerMethodInvocation("handleIt"); }
protected MessagingException convertJmsException(JmsException ex) { if (ex instanceof org.springframework.jms.support.destination.DestinationResolutionException || ex instanceof InvalidDestinationException) { return new DestinationResolutionException(ex.getMessage(), ex); } if (ex instanceof org.springframework.jms.support.converter.MessageConversionException) { return new MessageConversionException(ex.getMessage(), ex); } // Fallback return new MessagingException(ex.getMessage(), ex); }
@Test public void attemptToReadDisallowedCorrelationIdPropertyIsNotFatal() throws JMSException { javax.jms.Message jmsMessage = new StubTextMessage() { @Override public String getJMSCorrelationID() throws JMSException { throw new JMSException("illegal property"); } }; assertAttemptReadDisallowedPropertyIsNotFatal(jmsMessage, JmsHeaders.CORRELATION_ID); }
@Override public void setObjectProperty(String name, Object value) throws JMSException { if (name.equals("bad")) { throw new IllegalArgumentException("illegal property"); } super.setObjectProperty(name, value); } };
@Override public Object getObjectProperty(String name) throws JMSException { if (name.equals("fail")) { throw new JMSException("illegal property"); } else { return super.getObjectProperty(name); } } };
@Test public void jmsDeliveryModeMappedToHeader() throws JMSException { int deliveryMode = 1; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSDeliveryMode(deliveryMode); assertInboundHeader(jmsMessage, JmsHeaders.DELIVERY_MODE, deliveryMode); }
@Override public Message toMessage(Object object, Session session) throws JMSException, MessageConversionException { return new StubTextMessage(object.toString().toUpperCase()); }
@Override public void setObjectProperty(String name, Object value) throws JMSException { if (name.equals("bad")) { throw new JMSException("illegal property"); } super.setObjectProperty(name, value); } };
@Test public void jmsMessageIdMappedToHeader() throws JMSException { String messageId = "ID:ABC-123"; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSMessageID(messageId); assertInboundHeader(jmsMessage, JmsHeaders.MESSAGE_ID, messageId); }
@Test public void jmsPriorityMappedToHeader() throws JMSException { int priority = 8; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSPriority(priority); assertInboundHeader(jmsMessage, JmsHeaders.PRIORITY, priority); }
@Test public void jmsReplyToMappedToHeader() throws JMSException { Destination replyTo = new Destination() {}; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSReplyTo(replyTo); assertInboundHeader(jmsMessage, JmsHeaders.REPLY_TO, replyTo); }
@Test public void jmsTypeMappedToHeader() throws JMSException { String type = "testing"; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSType(type); assertInboundHeader(jmsMessage, JmsHeaders.TYPE, type); }
@Test public void jmsCorrelationIdMappedToHeader() throws JMSException { String correlationId = "ABC-123"; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSCorrelationID(correlationId); assertInboundHeader(jmsMessage, JmsHeaders.CORRELATION_ID, correlationId); }
@Test public void destinationMappedToHeader() throws JMSException { Destination destination = new Destination() {}; javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setJMSDestination(destination); assertInboundHeader(jmsMessage, JmsHeaders.DESTINATION, destination); }
@Test public void userDefinedPropertyMappedToHeader() throws JMSException { javax.jms.Message jmsMessage = new StubTextMessage(); jmsMessage.setIntProperty("foo", 123); assertInboundHeader(jmsMessage, "foo", 123); }