KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > j2ee > blueprints > opc > webservicebroker > requestor > BrokerRequestorBean


1 /*
2 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistribution in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * Neither the name of Sun Microsystems, Inc. or the names of
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * This software is provided "AS IS," without a warranty of any
21 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
22 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
24 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
25 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
26 * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
27 * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
28 * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
29 * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
30 * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
31 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
32 *
33 * You acknowledge that Software is not designed, licensed or intended
34 * for use in the design, construction, operation or maintenance of
35 * any nuclear facility.
36 */

37
38 package com.sun.j2ee.blueprints.opc.webservicebroker.requestor;
39
40 import javax.jms.*;
41 import javax.ejb.*;
42
43 import com.sun.j2ee.blueprints.opc.JNDINames;
44
45 public class BrokerRequestorBean implements
46        MessageDrivenBean, MessageListener {
47
48     private MessageDrivenContext context;
49
50     public void setMessageDrivenContext(MessageDrivenContext context) {
51         this.context=context;
52     }
53       
54     public void ejbCreate() {}
55       
56     public void onMessage(Message message) {
57   WSClient target = null;
58
59   try {
60       // Step 1 : Retrieve property that indicates to whom this doc is
61
// to be sent
62
String JavaDoc docType = message.getStringProperty(JNDINames.DOC_TYPE);
63             
64       // Step 2 : Get the client implementation through the factory
65
if(docType.equals(JNDINames.ACTIVITY_ORDER))
66     target = WSClientFactory.getWSClient(JNDINames.ACTIVITY_SUPPLIER_CLIENT);
67       else if(docType.equals(JNDINames.LODGING_ORDER))
68     target = WSClientFactory.getWSClient(JNDINames.LODGING_SUPPLIER_CLIENT);
69       else if(docType.equals(JNDINames.AIRLINE_ORDER))
70     target = WSClientFactory.getWSClient(JNDINames.AIRLINE_SUPPLIER_CLIENT);
71
72       // Step 3 : Send the document
73
if(target != null) {
74     TextMessage msg = (TextMessage) message;
75     String JavaDoc po = msg.getText();
76     String JavaDoc retVal = target.sendRequest(po);
77       }
78   } catch (JMSException jex) {
79       throw new EJBException(jex);
80   }
81     }
82     
83     public void ejbRemove() {}
84 }
85
86
Popular Tags