/** * Extract a Serializable object from the given {@link ObjectMessage}. * @param message the message to convert * @return the resulting Serializable object * @throws JMSException if thrown by JMS methods */ protected Serializable extractSerializableFromMessage(ObjectMessage message) throws JMSException { return message.getObject(); }
@SuppressWarnings("unchecked") public void onMessage(Message message) { String basePageCacheKey = null; try { HashMap<String,String> props = (HashMap<String,String>) ((ObjectMessage) message).getObject(); if (props != null) { //structuredContentService.removeItemFromCache(props.get("nameKey"), props.get("typeKey")); } } catch (JMSException e) { throw new RuntimeException(e); } }
private static byte[] getMessageBytes(ObjectMessage message) throws JMSException { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); // will fail if Object is not Serializable try (ObjectOutputStream oos = new ObjectOutputStream(baos)) { // will fail if Object is not Serializable oos.writeObject(message.getObject()); oos.flush(); } return baos.toByteArray(); } catch (IOException e) { return new byte[0]; } }
/** * A copy constructor for foreign JMS ObjectMessages. */ public ActiveMQObjectMessage(final ObjectMessage foreign, final ClientSession session, ConnectionFactoryOptions options) throws JMSException { super(foreign, ActiveMQObjectMessage.TYPE, session); setObject(foreign.getObject()); this.options = options; }
public void onMessage(javax.jms.Message message) { LoggingEvent event; Logger remoteLogger; try { if(message instanceof ObjectMessage) { ObjectMessage objectMessage = (ObjectMessage) message; event = (LoggingEvent) objectMessage.getObject(); remoteLogger = Logger.getLogger(event.getLoggerName()); remoteLogger.callAppenders(event); } else { logger.warn("Received message is of type "+message.getJMSType() +", was expecting ObjectMessage."); } } catch(JMSException jmse) { logger.error("Exception thrown while processing incoming message.", jmse); } }
protected boolean runImpl() { try { Message message = consumer.receive(); if (message == null) { LOG.debug("Message consumer was closed."); return true; } ObjectMessage omessage = (ObjectMessage) message; daemonThreadStatsCollector.captureStats(thread.getId()); listener.onMessage((GoMessage) omessage.getObject()); } catch (JMSException e) { LOG.warn("Error receiving message. Message receiving will continue despite this error.", e); } catch (Exception e) { LOG.error("Exception thrown in message handling by listener {}", listener, e); } finally { daemonThreadStatsCollector.clearStats(thread.getId()); } return false; }
public static byte[] getContentFromJms(javax.jms.Message jmsMessage) throws Exception { byte[] content; if (jmsMessage instanceof TextMessage) { if (StringUtils.isEmpty(((TextMessage) jmsMessage).getText())) { throw new IllegalArgumentException("Message body length is zero"); } content = MsgConvertUtil.string2Bytes(((TextMessage) jmsMessage).getText(), Charsets.UTF_8.toString()); } else if (jmsMessage instanceof ObjectMessage) { if (((ObjectMessage) jmsMessage).getObject() == null) { throw new IllegalArgumentException("Message body length is zero"); } content = MsgConvertUtil.objectSerialize(((ObjectMessage) jmsMessage).getObject()); } else if (jmsMessage instanceof BytesMessage) { JmsBytesMessage bytesMessage = (JmsBytesMessage) jmsMessage; if (bytesMessage.getBodyLength() == 0) { throw new IllegalArgumentException("Message body length is zero"); } content = bytesMessage.getData(); } else { throw new IllegalArgumentException("Unknown message type " + jmsMessage.getJMSType()); } return content; }
@Override public void onMessage(final Message message) { try { final ObjectMessage om = (ObjectMessage) message; HandlingEventRegistrationAttempt attempt = (HandlingEventRegistrationAttempt) om.getObject(); handlingEventService.registerHandlingEvent( attempt.getCompletionTime(), attempt.getTrackingId(), attempt.getVoyageNumber(), attempt.getUnLocode(), attempt.getType() ); } catch (Exception e) { logger.error(e, e); } }
Object object = objectMessage.getObject(); if (object != null) { ByteArrayOutputStream bos = new ByteArrayOutputStream();
@SuppressWarnings("unchecked") protected List<String> assertReceivedObjectMessageWithListBody(Message message) throws JMSException { assertNotNull("Should have received a message!", message); assertEquals("foo header", "abc", message.getStringProperty("foo")); assertTrue("Should be an object message but was: " + message, message instanceof ObjectMessage); ObjectMessage objectMessage = (ObjectMessage)message; List<String> body = (List<String>)objectMessage.getObject(); LOG.info("Received body: " + body); assertEquals("Size of list should be 1", 1, body.size()); assertEquals("element 0 of list", "First", body.get(0)); return body; }
@SuppressWarnings("unchecked") public void onMessage(Message message) { try { HashMap props = (HashMap) ((ObjectMessage) message).getObject(); messageCreator.sendMessage(props); } catch (MailAuthenticationException e) { throw new EmailException(e); } catch (MailPreparationException e) { throw new EmailException(e); } catch (MailParseException e) { throw new EmailException(e); } catch (MailSendException e) { /* * TODO find the specific exception that results from the smtp * server being down, and throw this as an EmailException. * Otherwise, log and then swallow this exception, as it may have * been possible that this email was actually sent. */ throw new EmailException(e); } catch (JMSException e) { throw new EmailException(e); } }
@Test public void testSerializableConversion() throws JMSException { Session session = mock(Session.class); ObjectMessage message = mock(ObjectMessage.class); Integer content = new Integer(5); given(session.createObjectMessage(content)).willReturn(message); given(message.getObject()).willReturn(content); SimpleMessageConverter converter = new SimpleMessageConverter(); Message msg = converter.toMessage(content, session); assertEquals(content, converter.fromMessage(msg)); }
@Test public void testWithMessageContentsDelegateForObjectMessage() throws Exception { ObjectMessage objectMessage = mock(ObjectMessage.class); given(objectMessage.getObject()).willReturn(NUMBER); MessageContentsDelegate delegate = mock(MessageContentsDelegate.class); MessageListenerAdapter adapter = new MessageListenerAdapter(delegate); adapter.onMessage(objectMessage); verify(delegate).handleMessage(NUMBER); }
@Test public void testWithMessageContentsDelegateForObjectMessageWithPlainObject() throws Exception { ObjectMessage objectMessage = mock(ObjectMessage.class); given(objectMessage.getObject()).willReturn(OBJECT); MessageContentsDelegate delegate = mock(MessageContentsDelegate.class); MessageListenerAdapter adapter = new MessageListenerAdapter(delegate); adapter.onMessage(objectMessage); verify(delegate).handleMessage(OBJECT); }
@Test public void resolveObjectPayload() throws JMSException { MessagingMessageListenerAdapter listener = createDefaultInstance(MyBean.class); MyBean myBean = new MyBean(); myBean.name = "myBean name"; Session session = mock(Session.class); ObjectMessage message = mock(ObjectMessage.class); given(message.getObject()).willReturn(myBean); listener.onMessage(message, session); assertDefaultListenerMethodInvocation(); }
ActiveMQObjectMessage msg = new ActiveMQObjectMessage(); msg.setConnection(connection); msg.setObject(objMsg.getObject()); msg.storeContent(); activeMessage = msg;
public void onMessage(javax.jms.Message message) { LoggingEvent event; Logger remoteLogger; try { if(message instanceof ObjectMessage) { ObjectMessage objectMessage = (ObjectMessage) message; event = (LoggingEvent) objectMessage.getObject(); remoteLogger = Logger.getLogger(event.getLoggerName()); remoteLogger.callAppenders(event); } else { logger.warn("Received message is of type "+message.getJMSType() +", was expecting ObjectMessage."); } } catch(JMSException jmse) { logger.error("Exception thrown while processing incoming message.", jmse); } }
public void onMessage(javax.jms.Message message) { ILoggingEvent event; try { if (message instanceof ObjectMessage) { ObjectMessage objectMessage = (ObjectMessage) message; event = (ILoggingEvent) objectMessage.getObject(); Logger log = (Logger) LoggerFactory.getLogger(event.getLoggerName()); log.callAppenders(event); } else { logger.warn("Received message is of type " + message.getJMSType() + ", was expecting ObjectMessage."); } } catch (JMSException jmse) { logger.error("Exception thrown while processing incoming message.", jmse); } }
public void onMessage(javax.jms.Message message) { ILoggingEvent event; try { if (message instanceof ObjectMessage) { ObjectMessage objectMessage = (ObjectMessage) message; event = (ILoggingEvent) objectMessage.getObject(); Logger log = (Logger) LoggerFactory.getLogger(event.getLoggerName()); log.callAppenders(event); } else { logger.warn("Received message is of type " + message.getJMSType() + ", was expecting ObjectMessage."); } } catch (JMSException jmse) { logger.error("Exception thrown while processing incoming message.", jmse); } }
private MessageHandler unwrapObjectMessageAndEchoHandler() { return message -> { assertThat(message.getPayload(), instanceOf(javax.jms.ObjectMessage.class)); MessagingTemplate template = new MessagingTemplate(); template.setDefaultDestination((MessageChannel) message.getHeaders().getReplyChannel()); Message<?> origMessage = null; try { origMessage = (Message<?>) ((javax.jms.ObjectMessage) message.getPayload()).getObject(); } catch (JMSException e) { fail("failed to deserialize message"); } template.send(origMessage); }; }