當前位置: 首頁>>代碼示例>>Java>>正文


Java ObjectMessage類代碼示例

本文整理匯總了Java中javax.jms.ObjectMessage的典型用法代碼示例。如果您正苦於以下問題:Java ObjectMessage類的具體用法?Java ObjectMessage怎麽用?Java ObjectMessage使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


ObjectMessage類屬於javax.jms包,在下文中一共展示了ObjectMessage類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: onMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
@Override
    public void onMessage(Message message) {
        try {
            ObjectMessage objectMessage = (ObjectMessage) message;
            HandlingEventRegistrationAttempt attempt
                    = (HandlingEventRegistrationAttempt) objectMessage.getObject();
            handlingEventService.registerHandlingEvent(
                    attempt.getCompletionTime(),
                    attempt.getTrackingId(),
                    attempt.getVoyageNumber(),
                    attempt.getUnLocode(),
                    attempt.getType());
        } catch (JMSException | CannotCreateHandlingEventException e) {
            // Poison messages will be placed on dead-letter queue.
            throw new RuntimeException("Error occurred processing message", e);
//        } catch (JMSException e) {
            // logger.log(Level.SEVERE, e.getMessage(), e);
        }
    }
 
開發者ID:RETIT,項目名稱:continuous-performance-evaluation,代碼行數:20,代碼來源:HandlingEventRegistrationAttemptConsumer.java

示例2: onMessageErrorHandling

import javax.jms.ObjectMessage; //導入依賴的package包/類
@Test
public void onMessageErrorHandling() throws Exception {
    // given
    PayloadStub payload = new PayloadStub();
    payload.setExecuteCauseException(true);
    TaskMessage taskMessage = new TaskMessage(HandlerStub.class, payload);

    ObjectMessage messageMock = mock(ObjectMessage.class);
    when(messageMock.getObject()).thenReturn(taskMessage);

    // when
    listener.onMessage(messageMock);

    // then
    assertTrue(payload.isHandledErrorSuccessfully());
}
 
開發者ID:servicecatalog,項目名稱:oscm,代碼行數:17,代碼來源:TaskListenerTest.java

示例3: onMessageErrorHandlingFailed

import javax.jms.ObjectMessage; //導入依賴的package包/類
@Test
public void onMessageErrorHandlingFailed() throws Exception {
    // given
    PayloadStub payload = new PayloadStub();
    payload.setExecuteCauseException(true);
    payload.setHandleErrorCauseException(true);
    TaskMessage taskMessage = new TaskMessage(HandlerStub.class, payload);

    ObjectMessage messageMock = mock(ObjectMessage.class);
    when(messageMock.getObject()).thenReturn(taskMessage);

    // when
    listener.onMessage(messageMock);

    // then
    assertTrue(payload.isExecuted());
    assertFalse(payload.isExecutedSuccessfully());
    assertTrue(payload.isErrorHandled());
    assertFalse(payload.isHandledErrorSuccessfully());
}
 
開發者ID:servicecatalog,項目名稱:oscm,代碼行數:21,代碼來源:TaskListenerTest.java

示例4: onMessageInvalidMessageObjectInstance

import javax.jms.ObjectMessage; //導入依賴的package包/類
@Test
public void onMessageInvalidMessageObjectInstance() throws Exception {
    // given
    listener = spy(listener);
    Serializable wrongMessage = mock(Serializable.class);

    ObjectMessage messageMock = mock(ObjectMessage.class);
    when(messageMock.getObject()).thenReturn(wrongMessage);

    // when
    listener.onMessage(messageMock);

    // then
    verify(listener, times(1)).logIllegalArgumentExceptionError(
            any(IllegalArgumentException.class));

}
 
開發者ID:servicecatalog,項目名稱:oscm,代碼行數:18,代碼來源:TaskListenerTest.java

示例5: sendObjectMsgSingleSession

import javax.jms.ObjectMessage; //導入依賴的package包/類
private void sendObjectMsgSingleSession(List<? extends Serializable> objectsToSend) throws JMSException {
    Session session = null;
    Connection conn = null;
    try {
        conn = qFactory.createConnection();
        session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
        MessageProducer producer = session.createProducer(queue);
        for (Serializable objectToSend : objectsToSend) {
            ObjectMessage msg = session.createObjectMessage();
            msg.setObject(objectToSend);
            producer.send(msg);
        }
    } finally {
        closeSession(session);
        closeConnection(conn);
    }
}
 
開發者ID:servicecatalog,項目名稱:oscm,代碼行數:18,代碼來源:TriggerQueueServiceBean.java

示例6: publishMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
/**
 * Publish message.
 *
 * @param event the event
 * @throws JMSException the jMS exception
 */
public void publishMessage(final BasicEvent event) throws JMSException {
    
    if (System.currentTimeMillis() > lastFailureTimestamp) {
        publishedCounter.incrementAndGet();
        int shard = (int) (event.getManifestId() % poolsize);
        try {
            producers[shard].send(session -> {
                ObjectMessage message = session.createObjectMessage(event);
                message.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
                message.setLongProperty("ciId", event.getCiId());
                message.setLongProperty("manifestId", event.getManifestId());
                message.setStringProperty("source", event.getSource());
                if (logger.isDebugEnabled()) {
                    logger.debug("Published: ciId:" + event.getCiId() + "; source:" + event.getSource());
                }
                return message;
            });
            lastFailureTimestamp = -1;
        } catch (JmsException exception) {
            logger.warn("There was an error sending a message. Discarding messages for " + mqConnectionThreshold + " ms");
            lastFailureTimestamp = System.currentTimeMillis() + mqConnectionThreshold;
        }
    }
}
 
開發者ID:oneops,項目名稱:oneops,代碼行數:31,代碼來源:SensorPublisher.java

示例7: onMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
/**
 * takes the jms message
 */
public void onMessage(Message msg) {
	try {
		
		if (msg instanceof ObjectMessage) {
			BasicEvent event = (BasicEvent)((ObjectMessage)msg).getObject();
			if (logger.isDebugEnabled() || cisToLog.contains(event.getCiId())) {
				logger.info(gson.toJson(event));
			}
			sensorHeartBeat.timeStampIt(event.getChannel());
			sensorHeartBeat.timeStampIt(BasicEvent.DEFAULT_CHANNEL);
			sensor.sendCEPEvent(event);
		}
		msg.acknowledge();
	} catch (JMSException e) {
		logger.info("caught Exception in onMessage",e);

	}
}
 
開發者ID:oneops,項目名稱:oneops,代碼行數:22,代碼來源:SensorListener.java

示例8: testOnMessageExceptionCase

import javax.jms.ObjectMessage; //導入依賴的package包/類
@Test
/*exception shall not come out, we force it
 * but the code eats it */
public void testOnMessageExceptionCase() throws Exception{
	SensorListener listen = new SensorListener();
	Sensor sensorThrower = mock(Sensor.class);

	listen.setSensor(sensorThrower);
	listen.setSensorHeartBeat(mock(SensorHeartBeat.class));
	ObjectMessage msg = mock(ObjectMessage.class);
	doThrow(new JMSException("mock")).when(msg).acknowledge();

	BasicEvent event = mock(BasicEvent.class);
	when(msg.getObject()).thenReturn(event);
	
	listen.onMessage(msg);
}
 
開發者ID:oneops,項目名稱:oneops,代碼行數:18,代碼來源:SensorListenerTest.java

示例9: onObjectMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
/**
 * sends an Object message instead of Text; should be ok
 * it will get logged
 */
@Test
public void onObjectMessage() {
    ObjectMessage objectMessage = mock(ObjectMessage.class);

    NotificationMessage notificationMessage = new NotificationMessage();
    notificationMessage.setTimestamp(1L);
    notificationMessage.setText("mock-text");

    try {
        when(objectMessage.getObject()).thenReturn(notificationMessage);
    } catch (JMSException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
 
開發者ID:oneops,項目名稱:oneops,代碼行數:20,代碼來源:AntennaListenerTest.java

示例10: send

import javax.jms.ObjectMessage; //導入依賴的package包/類
/**
 * Sends a message to the myWMS application inside the application
 * server.
 * 
 * @param mfcMessage the message to be send
 * @throws JMSException
 * @throws NamingException
 */
public void send(MFCMessage mfcMessage)
    throws JMSException,
        NamingException
{

    // create the jms session
    QueueSession session =
        connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

    // lookup of the jms queue over jndi
    Queue outputQueue =
        (Queue) context.lookup("queue/" + OUTPUT_QUEUE_NAME);

    // create the message publisher
    QueueSender sender = session.createSender(outputQueue);

    ObjectMessage objectMessage = session.createObjectMessage();
    objectMessage.setObject(mfcMessage);
    objectMessage.setJMSTimestamp(System.currentTimeMillis());

    sender.send(objectMessage);
    sender.close();

    session.close();
}
 
開發者ID:salimvanak,項目名稱:myWMS,代碼行數:34,代碼來源:ServerConnection.java

示例11: onMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
public void onMessage(Message msg) {
  try {
    ObjectMessage om = (ObjectMessage)msg;
    String operation = om.getStringProperty("operation");
    Object obj = om.getObject();
    String rashodCode = om.getStringProperty("rashodCode");
    log.info("onMessage:" +operation+ "operation");
    if (obj instanceof Record) {
      Record rec = (Record)obj;
      if ("add".equals(operation)) {
        indexer.add(rec, rashodCode);
        log.info("Record added, ID: " + rec.getRecordID());
      } else if ("update".equals(operation)) {
        indexer.update(rec, rashodCode);
        log.info("Record updated, ID: " + rec.getRecordID());
      }
    }
    else if ((obj instanceof Integer) && "delete".equals(operation)) {
      Integer recID = (Integer)obj;
      indexer.delete(recID);
      log.info("Record deleted, ID: " + recID);
    }
  } catch (JMSException e) {
    log.fatal(e);
  }
}
 
開發者ID:unsftn,項目名稱:bisis-v4,代碼行數:27,代碼來源:RecordConsumer.java

示例12: onMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
/**
 * {@inheritDoc}
 */
@Override
public void onMessage(final Message message) {
    if (message instanceof ObjectMessage) {
        final ObjectMessage msg = (ObjectMessage) message;
        try {
            final Serializable object = msg.getObject();
            if (object instanceof EmailMessage) {
                send((EmailMessage) object);
            } else {
                throw new IWSException(IWSErrors.ERROR, "Not a proper e-mail message.");
            }
        } catch (JMSException e) {
            throw new IWSException(IWSErrors.ERROR, "Sending the email message failed.", e);
        }
    }
}
 
開發者ID:IWSDevelopers,項目名稱:iws,代碼行數:20,代碼來源:EmailSender.java

示例13: receiveMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
@JmsListener(destination = Queue.EMAIL_QUEUE, containerFactory = "jmsContainerFactory")
public void receiveMessage(Message message) {
    if (message instanceof ObjectMessage) {
        ObjectMessage objectMessage = (ObjectMessage) message;
        try {
            if (objectMessage.getObject() instanceof EmailJmsMessage) {
                try {
                    EmailJmsMessage emailJmsMessage = (EmailJmsMessage) objectMessage.getObject();
                    emailMessage.sendEmail(emailJmsMessage.getHtml(), emailJmsMessage.getAttachments(),
                            emailJmsMessage.getRecipient(), emailJmsMessage.getSubject());
                } catch (Exception e) {
                    logger.error("Email messaging exception", e);
                }
            }
        } catch (JMSException ex) {
            logger.error("JMSException thrown during Email JMS message acknowledgment:", ex);
        }
    } else {
        logger.error("JMS: not an object message - nothing to do");
    }
}
 
開發者ID:filipcynarski,項目名稱:EMailSenderService,代碼行數:22,代碼來源:EmailConsumer.java

示例14: to

import javax.jms.ObjectMessage; //導入依賴的package包/類
@Override
public void to(JmsDestination target) {
  try {
    Connection connection = connectionFactory.createConnection();
    connection.start();

    Session session = createFunction.apply(connection);
    Destination destination = target.createDestination(session);

    MessageProducer producer = session.createProducer(destination);
    producer.setDeliveryMode(DeliveryMode.PERSISTENT);
    if (this.expirationTime != null) {
      producer.setTimeToLive(this.expirationTime);
    }

    ObjectMessage message = session.createObjectMessage(object);
    producer.send(message);

    session.close();
    connection.close();
  } catch (JMSException e) {
    logger.error("Error while sending object to AMQ destination", e);
  }
}
 
開發者ID:devnull-tools,項目名稱:boteco,代碼行數:25,代碼來源:DefaultJmsMessageConfiguration.java

示例15: onMessage

import javax.jms.ObjectMessage; //導入依賴的package包/類
@Override
public void onMessage(Message message) {
    ObjectMessage msg = (ObjectMessage) message;
    try {
        Order order = (Order) msg.getObject();
        System.out.println("Got message from queue receiver==>" + order);

        // Send response
        OrderResponse orderResponse = new OrderResponse();
        orderResponse.setItemCode(order.getItemCode());
        orderResponse.setOrderQuantity(order.getQuantity());

        ReorderResponseMessageSender.sendMessage(orderResponse);
    } catch (JMSException | NamingException e) {
        e.printStackTrace();
    }
}
 
開發者ID:afkham,項目名稱:msf4j-queueing,代碼行數:18,代碼來源:ReorderRequestMessageListener.java


注:本文中的javax.jms.ObjectMessage類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。