Java 类javax.jms.Message 实例源码
项目:axon-jms
文件:JmsMessageSourceTest.java
@Test
public void messageGetsPublished() throws JMSException, InterruptedException {
final TestConsumer testConsumer = new TestConsumer();
cut.subscribe(testConsumer);
EventMessage<?> eventMessage = GenericEventMessage
.asEventMessage("SomePayload")
.withMetaData(MetaData.with("key", "value"));
Message jmsMessage = converter.createJmsMessage(eventMessage, topicSession);
publisher.publish(jmsMessage);
Thread.sleep(1000L);
assertNotNull(testConsumer.latest);
}
项目:nifi-jms-jndi
文件:JMSPublisherConsumerTest.java
public void validateFailOnUnsupportedMessageTypeOverJNDI() throws Exception {
final String destinationName = "testQueue";
JmsTemplate jmsTemplate = CommonTest.buildJmsJndiTemplateForDestination(false);
jmsTemplate.send(destinationName, new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
return session.createObjectMessage();
}
});
JMSConsumer consumer = new JMSConsumer(jmsTemplate, mock(ComponentLog.class));
try {
consumer.consume(destinationName, new ConsumerCallback() {
@Override
public void accept(JMSResponse response) {
// noop
}
});
} finally {
((CachingConnectionFactory) jmsTemplate.getConnectionFactory()).destroy();
}
}
项目:oneops
文件:JMSConsumer.java
private void addData(Message message, String text) throws JMSException {
MessageData data = new MessageData();
data.setPayload(text);
Map<String, String> headers = new HashMap<>();
Enumeration<String> names = message.getPropertyNames();
while (names.hasMoreElements()) {
String name = names.nextElement();
String value = message.getStringProperty(name);
headers.put(name, value);
}
data.setHeaders(headers);
messages.add(data);
}
项目:oneops
文件:JMSConsumer.java
private void startConsumer() {
try {
connection = connectionFactory.createConnection();
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination;
if ("topic".equalsIgnoreCase(destinationType)) {
destination = session.createTopic(destinationName);
} else {
destination = session.createQueue(destinationName);
}
consumer = session.createConsumer(destination);
isStarted.compareAndSet(false, true);
while (true) {
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
String text = textMessage.getText();
if (isRecording.get()) {
addData(message, text);
}
counter.incrementAndGet();
}
}
} catch (Exception e) {
//e.printStackTrace();
} finally {
terminate();
}
}
项目:pooled-jms
文件:JmsPoolJMSProducerTest.java
@Test
public void testStringBodyIsApplied() throws JMSException {
JMSProducer producer = context.createProducer();
final String bodyValue = "String-Value";
final AtomicBoolean bodyValidated = new AtomicBoolean();
MockJMSConnection connection = (MockJMSConnection) context.getConnection();
connection.addConnectionListener(new MockJMSDefaultConnectionListener() {
@Override
public void onMessageSend(MockJMSSession session, Message message) throws JMSException {
assertEquals(bodyValue, message.getBody(String.class));
bodyValidated.set(true);
}
});
producer.send(JMS_DESTINATION, bodyValue);
assertTrue(bodyValidated.get());
}
项目:pooled-jms
文件:JmsPoolJMSProducerTest.java
@Test
public void testMapBodyIsApplied() throws JMSException {
JMSProducer producer = context.createProducer();
final Map<String, Object> bodyValue = new HashMap<String, Object>();
bodyValue.put("Value-1", "First");
bodyValue.put("Value-2", "Second");
final AtomicBoolean bodyValidated = new AtomicBoolean();
MockJMSConnection connection = (MockJMSConnection) context.getConnection();
connection.addConnectionListener(new MockJMSDefaultConnectionListener() {
@Override
public void onMessageSend(MockJMSSession session, Message message) throws JMSException {
assertEquals(bodyValue, message.getBody(Map.class));
bodyValidated.set(true);
}
});
producer.send(JMS_DESTINATION, bodyValue);
assertTrue(bodyValidated.get());
}
项目:solace-integration-guides
文件:JMSPublisherConsumerTest.java
/**
* At the moment the only two supported message types are TextMessage and
* BytesMessage which is sufficient for the type if JMS use cases NiFi is
* used. The may change to the point where all message types are supported
* at which point this test will no be longer required.
*/
@Test(expected = IllegalStateException.class)
public void validateFailOnUnsupportedMessageType() throws Exception {
final String destinationName = "testQueue";
JmsTemplate jmsTemplate = CommonTest.buildJmsTemplateForDestination(false);
jmsTemplate.send(destinationName, new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
return session.createObjectMessage();
}
});
JMSConsumer consumer = new JMSConsumer(jmsTemplate, mock(ComponentLog.class));
try {
consumer.consume(destinationName, new ConsumerCallback() {
@Override
public void accept(JMSResponse response) {
// noop
}
});
} finally {
((CachingConnectionFactory) jmsTemplate.getConnectionFactory()).destroy();
}
}
项目:pooled-jms
文件:JmsPoolJMSProducerTest.java
@Test
public void testRuntimeExceptionFromSendByteBody() throws JMSException {
JMSProducer producer = context.createProducer();
MockJMSConnection connection = (MockJMSConnection) context.getConnection();
connection.addConnectionListener(new MockJMSDefaultConnectionListener() {
@Override
public void onMessageSend(MockJMSSession session, Message message) throws JMSException {
throw new IllegalStateException("Send Failed");
}
});
try {
producer.send(context.createTemporaryQueue(), new byte[0]);
fail("Should have thrown an exception");
} catch (IllegalStateRuntimeException isre) {}
}
项目:pooled-jms
文件:JmsPoolJMSProducerTest.java
@Test
public void testRuntimeExceptionFromSendSerializableBody() throws JMSException {
JMSProducer producer = context.createProducer();
MockJMSConnection connection = (MockJMSConnection) context.getConnection();
connection.addConnectionListener(new MockJMSDefaultConnectionListener() {
@Override
public void onMessageSend(MockJMSSession session, Message message) throws JMSException {
throw new IllegalStateException("Send Failed");
}
});
try {
producer.send(context.createTemporaryQueue(), UUID.randomUUID());
fail("Should have thrown an exception");
} catch (IllegalStateRuntimeException isre) {}
}
项目:pooled-jms
文件:JmsPoolJMSProducerTest.java
@Test
public void testRuntimeExceptionFromSendStringBody() throws JMSException {
JMSProducer producer = context.createProducer();
MockJMSConnection connection = (MockJMSConnection) context.getConnection();
connection.addConnectionListener(new MockJMSDefaultConnectionListener() {
@Override
public void onMessageSend(MockJMSSession session, Message message) throws JMSException {
throw new IllegalStateException("Send Failed");
}
});
try {
producer.send(context.createTemporaryQueue(), "test");
fail("Should have thrown an exception");
} catch (IllegalStateRuntimeException isre) {}
}
项目:OperatieBRP
文件:MaakSelectieResultaatTaakQueueMessageListener.java
@Override
public void onMessage(final Message message) {
BrpNu.set(DatumUtil.nuAlsZonedDateTime());
try {
LOGGER.debug("onMessage");
final TextMessage textMessage = (TextMessage) message;
final String text = textMessage.getText();
final MaakSelectieResultaatTaak
maakSelectieResultaatTaak =
JSON_STRING_SERIALISEERDER.deserialiseerVanuitString(text, MaakSelectieResultaatTaak.class);
final SoortSelectie soortSelectie = maakSelectieResultaatTaak.getSoortSelectie();
if (soortSelectie == SoortSelectie.STANDAARD_SELECTIE) {
maakSelectieResultaatTaakVerwerkerServiceImpl.verwerk(maakSelectieResultaatTaak);
} else if (soortSelectie == SoortSelectie.SELECTIE_MET_PLAATSING_AFNEMERINDICATIE
|| soortSelectie == SoortSelectie.SELECTIE_MET_VERWIJDERING_AFNEMERINDICATIE) {
afnemerindicatieMaakSelectieResultaatTaakVerwerkerServiceImpl.verwerk(maakSelectieResultaatTaak);
}
} catch (JMSException e) {
LOGGER.error("error on message", e);
}
}
项目:jmsclient
文件:JMSMessageHandler.java
@Override
public void onMessage(final Message msg)
{
try
{
taskPool.submit(new Callable<Boolean>()
{
@Override
public Boolean call() throws Exception
{
return processMessage(msg);
}
});
}
catch (RejectedExecutionException e)
{
log.error("error while submitting message task, message: {}", msg, e);
}
}
项目:ats-framework
文件:JmsClient.java
private void doSendTextMessage( final Session session, final Destination destination,
final String textMessage,
final Map<String, ?> properties ) throws JMSException {
try {
final Message message = textMessage != null
? session.createTextMessage(textMessage)
: session.createTextMessage();
if (properties != null) {
// Note: Setting any properties (including JMS fields) using
// setObjectProperty might not be supported by all providers
// Tested with: ActiveMQ
for (final Entry<String, ?> property : properties.entrySet()) {
message.setObjectProperty(property.getKey(), property.getValue());
}
}
final MessageProducer producer = session.createProducer(destination);
producer.send(message);
} finally {
releaseSession(false);
}
}
项目:xsharing-services-router
文件:AbstractSharingListener.java
/**
* Since we use a request/response communication style with the client,
* we must ensure that tha appropriate fields are set.
*/
private boolean isValidRequestResponse(Message incoming) {
try {
if (incoming.getJMSCorrelationID() == null) {
getLogger().warn("JMSCorrelationID is not set! Will not process request");
return false;
}
if (incoming.getJMSReplyTo() == null) {
getLogger().warn("JMSReplyTo is not set! Will not process request");
return false;
}
} catch (JMSException e) {
getLogger().warn(
"Failed to read JMSCorrelationID/JMSReplyTo. " +
"Will not process request. Exception message = {}", e.getMessage());
return false;
}
return true;
}
项目:pooled-jms
文件:PooledConnectionTempQueueTest.java
private void sendWithReplyToTemp(ConnectionFactory cf, String serviceQueue) throws JMSException, InterruptedException {
Connection connection = cf.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
TemporaryQueue tempQueue = session.createTemporaryQueue();
TextMessage msg = session.createTextMessage("Request");
msg.setJMSReplyTo(tempQueue);
MessageProducer producer = session.createProducer(session.createQueue(serviceQueue));
producer.send(msg);
MessageConsumer consumer = session.createConsumer(tempQueue);
Message replyMsg = consumer.receive();
assertNotNull(replyMsg);
LOG.debug("Reply message: {}", replyMsg);
consumer.close();
producer.close();
session.close();
connection.close();
}
项目:java-jms
文件:TracingMessageUtils.java
/**
* Build span and inject. Should be used by producers.
*
* @param message JMS message
* @return span
*/
public static Span buildAndInjectSpan(Destination destination, final Message message,
Tracer tracer) {
Tracer.SpanBuilder spanBuilder = tracer.buildSpan(TracingMessageUtils.OPERATION_NAME_SEND)
.ignoreActiveSpan()
.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_PRODUCER);
SpanContext parent = TracingMessageUtils.extract(message, tracer);
if (parent != null) {
spanBuilder.asChildOf(parent);
}
Span span = spanBuilder.start();
SpanJmsDecorator.onRequest(destination, span);
TracingMessageUtils.inject(span, message, tracer);
return span;
}
项目:amqp
文件:SimpleMessageListener.java
@Override
public void onMessage(Message msg) {
if (msg instanceof TextMessage) {
TextMessage textMessage = (TextMessage) msg;
String text = "";
try {
text = textMessage.getText();
} catch (JMSException e) {
logger.error(e.getMessage());
e.printStackTrace();
}
System.out.println("Received: " + text);
} else {
System.out.println("Received: " + msg);
}
}
项目:nifi-jms-jndi
文件:JMSPublisherConsumerTest.java
@Test
public void validateJmsHeadersAndPropertiesAreTransferredFromFFAttributesOverJNDI() throws Exception {
final String destinationName = "testQueue";
JmsTemplate jmsTemplate = CommonTest.buildJmsJndiTemplateForDestination(false);
JMSPublisher publisher = new JMSPublisher(jmsTemplate, mock(ComponentLog.class));
Map<String, String> flowFileAttributes = new HashMap<>();
flowFileAttributes.put("foo", "foo");
flowFileAttributes.put(JmsHeaders.REPLY_TO, "myTopic");
publisher.publish(destinationName, "hellomq".getBytes(), flowFileAttributes);
Message receivedMessage = jmsTemplate.receive(destinationName);
assertTrue(receivedMessage instanceof BytesMessage);
assertEquals("foo", receivedMessage.getStringProperty("foo"));
assertTrue(receivedMessage.getJMSReplyTo() instanceof Topic);
assertEquals("myTopic", ((Topic) receivedMessage.getJMSReplyTo()).getTopicName());
((CachingConnectionFactory) jmsTemplate.getConnectionFactory()).destroy();
}
项目:karate
文件:QueueConsumer.java
public void purgeMessages() {
try {
consumer.setMessageListener(null);
while (true) {
Message message = consumer.receive(50);
if (message == null) {
logger.info("*** no more messages to purge: {}", queueName);
break;
}
logger.info("*** purged message: {} - {}", queueName, message);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
项目:pooled-jms
文件:JmsPoolJMSContext.java
@Override
public Message createMessage() {
try {
return getSession().createMessage();
} catch (JMSException jmse) {
throw JMSExceptionSupport.createRuntimeException(jmse);
}
}
项目:java-jms
文件:TracingMessageUtils.java
/**
* Extract span context from JMS message properties or active span
*
* @param message JMS message
* @param tracer Tracer
* @return extracted span context
*/
public static SpanContext extract(Message message, Tracer tracer) {
SpanContext spanContext = tracer
.extract(Format.Builtin.TEXT_MAP, new JmsTextMapExtractAdapter(message));
if (spanContext != null) {
return spanContext;
}
Span span = tracer.activeSpan();
if (span != null) {
return span.context();
}
return null;
}
项目:trellis-jms
文件:JmsPublisher.java
@Override
public void emit(final Event event) {
requireNonNull(event, "Cannot emit a null event!");
service.serialize(event).ifPresent(json -> {
try {
final Message message = session.createTextMessage(json);
message.setStringProperty("Content-Type", "application/ld+json");
producer.send(message);
} catch (final JMSException ex) {
LOGGER.error("Error writing to broker: {}", ex.getMessage());
}
});
}
项目:flume-release-1.7.0
文件:TestJMSSource.java
@Test
public void testProcessPartialBatch() throws Exception {
when(messageConsumer.receiveNoWait()).thenReturn(message, (Message)null);
source.configure(context);
source.start();
Assert.assertEquals(Status.READY, source.process());
Assert.assertEquals(2, events.size());
assertBodyIsExpected(events);
verify(consumer).commit();
}
项目:kalinka
文件:MqttSparkClusterJmsMessagePublisher.java
@Override
public void publish(final Message message, final KafkaTemplate<String, byte[]> kafkaTemplate) {
try {
final byte[] effectivePayload = JmsUtil.getPayload((BytesMessage) message);
final String sourceTopic = message.getStringProperty("JMSDestination");
final String destTopic = this.getDestTopic(sourceTopic);
kafkaTemplate.send(destTopic, effectivePayload);
} catch (final Throwable t) {
LOG.error("Exception occured", t);
}
}
项目:pooled-jms
文件:JmsPoolMessageProducer.java
@Override
public void send(Message message, int deliveryMode, int priority, long timeToLive, CompletionListener listener) throws JMSException {
checkClosed();
if (anonymousProducer) {
throw new UnsupportedOperationException("Using this method is not supported on producers created without an explicit Destination");
}
if (listener == null) {
throw new IllegalArgumentException("JmsCompletetionListener cannot be null");
}
sendMessage(destination, message, deliveryMode, priority, timeToLive, listener);
}
项目:oneops
文件:DlqListener.java
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
logger.debug("got message: " + message.getJMSCorrelationID());
TextMessage textMessage = (TextMessage) message;
msgProcessor.processMessage(textMessage.getText(), getMessageId(textMessage), getMessageHeaders(textMessage));
}
} catch (JMSException e) {
logger.error("JMSException in onMessage", e);
}
}
项目:solace-integration-guides
文件:JMSConsumer.java
/**
*
*
*/
private Map<String, Object> extractMessageHeaders(Message message) {
// even though all values are Strings in current impl, it may change in
// the future, so keeping it <String, Object>
Map<String, Object> messageHeaders = new HashMap<>();
try {
messageHeaders.put(JmsHeaders.DELIVERY_MODE, String.valueOf(message.getJMSDeliveryMode()));
messageHeaders.put(JmsHeaders.EXPIRATION, String.valueOf(message.getJMSExpiration()));
messageHeaders.put(JmsHeaders.PRIORITY, String.valueOf(message.getJMSPriority()));
messageHeaders.put(JmsHeaders.REDELIVERED, String.valueOf(message.getJMSRedelivered()));
messageHeaders.put(JmsHeaders.TIMESTAMP, String.valueOf(message.getJMSTimestamp()));
messageHeaders.put(JmsHeaders.CORRELATION_ID, message.getJMSCorrelationID());
messageHeaders.put(JmsHeaders.MESSAGE_ID, message.getJMSMessageID());
messageHeaders.put(JmsHeaders.TYPE, message.getJMSType());
String replyToDestinationName = this.retrieveDestinationName(message.getJMSReplyTo(), JmsHeaders.REPLY_TO);
if (replyToDestinationName != null) {
messageHeaders.put(JmsHeaders.REPLY_TO, replyToDestinationName);
}
String destinationName = this.retrieveDestinationName(message.getJMSDestination(), JmsHeaders.DESTINATION);
if (destinationName != null) {
messageHeaders.put(JmsHeaders.DESTINATION, destinationName);
}
} catch (Exception e) {
throw new IllegalStateException("Failed to extract JMS Headers", e);
}
return messageHeaders;
}
项目:oneops
文件:SearchListener.java
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
logger.debug("got message: " + message.getJMSCorrelationID());
TextMessage textMessage = (TextMessage) message;
msgProcessor.processMessage(textMessage.getText(), getMessageType(textMessage), getMessageId(textMessage));
}
} catch (JMSException e) {
logger.error("JMSException in onMessage", e);
}
}
项目:kowalski
文件:MessageConverter.java
@Override
protected Message toMessage(Object object, Session session, ObjectWriter objectWriter)
throws JMSException, MessageConversionException {
Message message = super.toMessage(object, session, objectWriter);
this.setDuplicateDetectionId(object, message);
return message;
}
项目:OperatieBRP
文件:SelectieTaakResultaatPublicatieServiceImpl.java
@Override
public void publiceerSelectieTaakResultaat(final SelectieTaakResultaat selectieTaakResultaat) {
final ProducerCallback<Void> producerCallback = (final Session session, final MessageProducer producer) -> {
final Message message = session.createTextMessage(serializer.serialiseerNaarString(selectieTaakResultaat));
producer.send(message);
return null;
};
publiceer(selectieTaakResultaatJmsTemplate, producerCallback, () -> "fout in verzenden berichten naar selectie taak resultaat queue");
}
项目:cli-java
文件:MessageBrowser.java
/**
* Browse messages using Queue Browser.
* By default, you browse all actual messages in the queue.
* Messages may be arriving and expiring while the scan is done.
*/
void browseMessages() throws Exception {
Connection conn = createConnection(clientOptions);
Session ssn = createSession(clientOptions, conn, transacted);
QueueBrowser qBrowser = ssn.createBrowser((Queue) getDestination(), msgSelector);
conn.start();
Enumeration<?> enumMsgs = qBrowser.getEnumeration();
while (enumMsgs.hasMoreElements()) {
Message msg = (Message) enumMsgs.nextElement();
printMessage(clientOptions, msg);
}
close(conn);
}
项目:spring-cloud-ribbon-extensions
文件:PreservesMessagePropertiesMessageConsumerAdapter.java
/**
* {@inheritDoc}
*/
@Override
public Message receive(long timeout) throws JMSException {
Message message = delegate.receive(timeout);
if (!(delegate.getMessageListener() instanceof PreservesMessagePropertiesMessageListener)) {
copyFromMessage(message);
}
return message;
}
项目:lemon
文件:ProxyConnectionFactory.java
public Message getMessage(MessageContext messageContext,
ProxyMessageConsumer proxyMessageConsumer) throws JMSException {
String destinationName = proxyMessageConsumer.getDestination()
.toString();
Destination destination = destinationMap.get(destinationName);
if (destination instanceof Topic) {
return messageHandler.consumeMessageFromTopic(messageContext,
destinationName, proxyMessageConsumer.getId());
} else {
return messageHandler.consumeMessageFromQueue(messageContext,
destinationName);
}
}
项目:artemis-disruptor-miaosha
文件:SimpleJmsMessageSender.java
@Override
public void sendMessage(MessageDto payload) throws JMSException {
Message message = MessageConvertUtils.toMessage(messageConverter, session, payload);
dupMessageDetectStrategy.setId(message, payload);
messageProducer.send(message);
}
项目:xtf
文件:JmsClient.java
public void sendMessage(Message message) throws JMSException {
Connection connection = null;
try {
connection = startConnection(); //try to be smarter here and initiate start connection
Session session = null;
try {
session = connection.createSession(isTransacted, Session.AUTO_ACKNOWLEDGE);
Destination dest;
if (isQueue) {
dest = session.createQueue(destinationName);
} else {
dest = session.createTopic(destinationName);
}
MessageProducer producer = session.createProducer(dest);
try {
if (isPersistant) producer.setDeliveryMode(DeliveryMode.PERSISTENT);
if (timeToLive > 0) producer.setTimeToLive(timeToLive);
producer.send(message);
} finally {
if (producer != null) producer.close();
}
} finally {
if (session != null) session.close();
}
} finally {
safeCloseConnection(connection);
}
}
项目:oneops
文件:WorkflowListener.java
@Override
public void onMessage(Message message) {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
processMessage(textMessage);
}
}
项目:DWSurvey
文件:InvokeMessageProducer.java
public void send() {
template.send(this.destination, new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
TextMessage message=session.createTextMessage();
System.out.println("发出消息,延时10秒.");
String msgId=message.getJMSMessageID();
System.out.println("msgId:"+msgId);
message.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, 20*1000);
message.setStringProperty("content", "内容content...");
return message;
}
});
}
项目:message-broker
文件:SslTransportTest.java
@Parameters({ "broker-ssl-port"})
@Test
public void testConsumerProducerWithSsl(String port) throws Exception {
String queueName = "testConsumerProducerWithAutoAck";
InitialContext initialContextForQueue = ClientHelper
.getInitialContextBuilder("admin", "admin", "localhost", port)
.enableSsl()
.withQueue(queueName)
.build();
ConnectionFactory connectionFactory
= (ConnectionFactory) initialContextForQueue.lookup(ClientHelper.CONNECTION_FACTORY);
Connection connection = connectionFactory.createConnection();
connection.start();
// publish 100 messages
Session producerSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = producerSession.createQueue(queueName);
MessageProducer producer = producerSession.createProducer(queue);
int numberOfMessages = 100;
for (int i = 0; i < numberOfMessages; i++) {
producer.send(producerSession.createTextMessage("Test message " + i));
}
producerSession.close();
// Consume published messages
Session subscriberSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination subscriberDestination = (Destination) initialContextForQueue.lookup(queueName);
MessageConsumer consumer = subscriberSession.createConsumer(subscriberDestination);
for (int i = 0; i < numberOfMessages; i++) {
Message message = consumer.receive(1000);
Assert.assertNotNull(message, "Message #" + i + " was not received");
}
connection.close();
}
项目:org.ops4j.pax.transx
文件:JMSConsumerImpl.java
@Override
public Message receiveNoWait() {
try {
return context.setLastMessage(consumer.receiveNoWait());
} catch (JMSException e) {
throw Utils.convertToRuntimeException(e);
}
}
项目:ats-framework
文件:JmsClient.java
/**
* Receive a message from queue for a period of time
*
* @param queueName queue name
* @param timeout timeout period in milliseconds
* @return the received message
*/
@PublicAtsApi
public Message receiveMessageFromQueue( final String queueName, final long timeout ) {
try {
final Session session = loadSession(false, Session.AUTO_ACKNOWLEDGE);
return doReceiveMessage(session, session.createQueue(queueName), timeout);
} catch (Exception e) {
throw new JmsMessageException("Failed to read message message from queue " + queueName, e);
}
}