View Javadoc
1   /*
2    * JBoss, Home of Professional Open Source
3    * Copyright 2014, 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 org.jboss.as.quickstarts.cmt.jts.mdb;
18  
19  import java.util.logging.Logger;
20  
21  import javax.ejb.ActivationConfigProperty;
22  import javax.ejb.MessageDriven;
23  import javax.jms.JMSException;
24  import javax.jms.Message;
25  import javax.jms.MessageListener;
26  import javax.jms.TextMessage;
27  
28  /**
29   * <p>
30   * A simple Message Driven Bean that asynchronously receives and processes the messages that are sent to the queue.
31   * </p>
32   * 
33   * @author Serge Pagop (spagop@redhat.com)
34   * 
35   */
36  @MessageDriven(name = "HelloWorldMDB", activationConfig = {
37          @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
38          @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/jts-quickstart"),
39          @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
40  public class HelloWorldMDB implements MessageListener {
41  
42      private final static Logger LOGGER = Logger.getLogger(HelloWorldMDB.class.toString());
43  
44      /**
45       * @see MessageListener#onMessage(Message)
46       */
47      public void onMessage(Message rcvMessage) {
48          TextMessage msg = null;
49          try {
50              if (rcvMessage instanceof TextMessage) {
51                  msg = (TextMessage) rcvMessage;
52                  LOGGER.info("Received Message: " + msg.getText());
53              } else {
54                  LOGGER.warning("Message of wrong type: " + rcvMessage.getClass().getName());
55              }
56          } catch (JMSException e) {
57              throw new RuntimeException(e);
58          }
59      }
60  }