Ravi Srinivasan
2018-09-11 b9209f6413cb6985c0089f9677f4db9b52ca1395
commit | author | age
b9209f 1 /*
RS 2  * JBoss, Home of Professional Open Source
3  * Copyright 2015, Red Hat, Inc. and/or its affiliates, and individual
4  * contributors by the @authors tag. See the copyright.txt in the
5  * distribution for a full listing of individual contributors.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * http://www.apache.org/licenses/LICENSE-2.0
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 package com.redhat.training.messaging;
18
19 import org.jboss.logging.Logger;
20 import javax.ejb.ActivationConfigProperty;
21 import javax.ejb.MessageDriven;
22 import javax.jms.JMSException;
23 import javax.jms.Message;
24 import javax.jms.MessageListener;
25 import javax.jms.TextMessage;
26
27 /**
28  * <p>
29  * A simple Message Driven Bean that asynchronously receives and processes the messages that are sent to the queue.
30  * </p>
31  *
32  * @author Serge Pagop (spagop@redhat.com)
33  *
34  */
35 @MessageDriven(name = "QueueListener", activationConfig = {
36     @ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "queue/helloWorldQueue"),
37     @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
38     @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
39 public class QueueListener implements MessageListener {
40
41     private final static Logger LOGGER = Logger.getLogger(QueueListener.class.getName());
42
43     /**
44      * @see MessageListener#onMessage(Message)
45      */
46     public void onMessage(Message rcvMessage) {
47         TextMessage msg = null;
48         try {
49             if (rcvMessage instanceof TextMessage) {
50                 msg = (TextMessage) rcvMessage;
51                 LOGGER.info("Received Message from helloWorldQueue ===> " + msg.getText());
52             } else {
53                 LOGGER.warn("Message of wrong type: " + rcvMessage.getClass().getName());
54             }
55         } catch (JMSException e) {
56             throw new RuntimeException(e);
57         }
58     }
59 }