1+ /*
2+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3+ *
4+ * Copyright (c) [2017] Payara Foundation and/or its affiliates. All rights reserved.
5+ *
6+ * The contents of this file are subject to the terms of either the GNU
7+ * General Public License Version 2 only ("GPL") or the Common Development
8+ * and Distribution License("CDDL") (collectively, the "License"). You
9+ * may not use this file except in compliance with the License. You can
10+ * obtain a copy of the License at
11+ * https://github.com/payara/Payara/blob/master/LICENSE.txt
12+ * See the License for the specific
13+ * language governing permissions and limitations under the License.
14+ *
15+ * When distributing the software, include this License Header Notice in each
16+ * file and include the License file at glassfish/legal/LICENSE.txt.
17+ *
18+ * GPL Classpath Exception:
19+ * The Payara Foundation designates this particular file as subject to the "Classpath"
20+ * exception as provided by the Payara Foundation in the GPL Version 2 section of the License
21+ * file that accompanied this code.
22+ *
23+ * Modifications:
24+ * If applicable, add the following below the License Header, with the fields
25+ * enclosed by brackets [] replaced by your own identifying information:
26+ * "Portions Copyright [year] [name of copyright owner]"
27+ *
28+ * Contributor(s):
29+ * If you wish your version of this file to be governed by only the CDDL or
30+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
31+ * elects to include this software in this distribution under the [CDDL or GPL
32+ * Version 2] license." If you don't indicate a single choice of license, a
33+ * recipient has the option to distribute your version of this file under
34+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
35+ * its licensees as provided above. However, if you add GPL Version 2 code
36+ * and therefore, elected the GPL Version 2 license, then the option applies
37+ * only if the new code is made subject to such option by the copyright
38+ * holder.
39+ */
40+
41+ package fish .payara .examples .jms11notificationconsumer ;
42+
43+
44+ import java .util .logging .Level ;
45+ import java .util .logging .Logger ;
46+ import javax .ejb .ActivationConfigProperty ;
47+ import javax .ejb .MessageDriven ;
48+ import javax .jms .Message ;
49+ import javax .jms .MessageListener ;
50+ import javax .jms .TextMessage ;
51+
52+ /**
53+ *
54+ * @author Mike Croft
55+ */
56+ @ MessageDriven (activationConfig = {
57+ @ ActivationConfigProperty (propertyName = "destinationLookup" , propertyValue = "jms/notifierQueue" ),
58+ @ ActivationConfigProperty (propertyName = "destinationType" , propertyValue = "javax.jms.Queue" ),
59+ @ ActivationConfigProperty (propertyName = "destination" , propertyValue = "notifierQueue" ),
60+ @ ActivationConfigProperty (propertyName = "resourceAdapter" , propertyValue = "activemq-rar-5.14.5" )
61+
62+ })
63+ public class JMS11NotificationConsumer implements MessageListener {
64+
65+ public JMS11NotificationConsumer () {
66+ }
67+
68+ @ Override
69+ public void onMessage (Message message ) {
70+ try {
71+ Thread .sleep (1000L );
72+
73+ // JMS 1.1 for ActiveMQ
74+ if (message instanceof TextMessage ) {
75+ TextMessage txtMsg = (TextMessage ) message ;
76+ System .out .println ("Read Message: " + txtMsg .getText ());
77+ }
78+
79+ } catch (Exception ex ) {
80+ Logger .getLogger (JMS11NotificationConsumer .class .getName ()).log (Level .SEVERE , null , ex );
81+ }
82+ }
83+
84+ }
0 commit comments