SimpleJMS.jws Sample

This topic inludes the source code for the SimpleJMS.jws Sample.

Sample Location

This sample is located in the following directory in your WebLogic Workshop installation:

BEA_HOME/weblogic81/samples/workshop/SamplesApp/WebServices/jms/

Sample Source Code


01 package jms; 
02 
03 /**
04  <p>This web service shows the use of a simple jms control.</p>
05  *
06  <p>It uses the same queue for send and receive, so it will send messages to
07  * itself.  The queue used by this sample is preconfigured in the cg domain
08  * when WebLogic Server is installed.</p>
09  *
10  <p>"sendString" will publish a text message to the send queue.</p>
11  *
12  <p>"onTextMessage" will receive the message from the receive queue 
13  * (in this case, the message just sent from publish). </p>
14  * @common:target-namespace namespace="http://workshop.bea.com/SimpleJMS"
15  */
16 public class SimpleJMS implements com.bea.jws.WebService
17 
18     /**
19      * @common:control
20      */
21     private jms.SimpleJMSControl myJMSControl;
22 
23     private String name;
24 
25     public Callback callback;
26 
27     public interface Callback {
28        public void onMessageReceived(String msg);
29     }
30 
31     /**
32      <p>Starts an instance of the service and assigns a name to it.
33      *
34      * @common:operation
35      * @jws:conversation phase="start"
36      */
37     public void start(String name) {
38         this.name = name;
39     }
40 
41     /**
42      <p>Finishes this conversation instance.
43      *
44      * @common:operation
45      * @jws:conversation phase="finish"
46      */
47     public void finish() {
48     }
49 
50     /**
51      <p>Submits a string message that is sent to the send queue. In this example
52      * it will immediately arrive on the receive queue.</p>
53      
54      * @common:operation
55      * @jws:conversation phase="continue"
56      */
57     public void sendString(String msgthrows Exception {
58         myJMSControl.publishText(msg);
59     }
60 
61     public void myJMSControl_onTextMessage(String msg) {
62         callback.onMessageReceived("[" + name + "] Your message is: " + msg );    
63     }
64   
65