[jboss-svn-commits] JBL Code SVN: r7890 - labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Nov 28 15:38:54 EST 2006


Author: burrsutter
Date: 2006-11-28 15:38:53 -0500 (Tue, 28 Nov 2006)
New Revision: 7890

Added:
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/ReturnJMSMessage.java
Modified:
   labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/MyJMSListenerAction.java
Log:


Modified: labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/MyJMSListenerAction.java	2006-11-28 20:38:45 UTC (rev 7889)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/MyJMSListenerAction.java	2006-11-28 20:38:53 UTC (rev 7890)
@@ -2,6 +2,12 @@
 
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Header;
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.addressing.Call;
+import org.jboss.soa.esb.addressing.EPR;
+import org.apache.log4j.Logger;
 
 public class MyJMSListenerAction
 {
@@ -9,17 +15,58 @@
   protected ConfigTree	_config;
 	  
   public MyJMSListenerAction(ConfigTree config) { _config = config; } 
+  
+  public Message noOperation(Message message) { return message; } 
 
+  public Message displayMessage(Message message) throws Exception{		
+		  logHeader();
+		  System.out.println("Body: " + new String(message.getBody().getContents()));
+		  logFooter();
+		  return message;         	
+	}
   
-  
-  public Message displayMessage(Message message) throws Exception{
-		
-		  System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");		  		  
-		  System.out.println("\nBody: " + new String(message.getBody().getContents()));
-		  System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
-		  return message; 
-        		
-	}
+   public Message playWithMessage(Message message) throws Exception {
+	   Header msgHeader = message.getHeader();
+	   Body msgBody = message.getBody();
+	   Call theCall = msgHeader.getCall();
+	   EPR theEpr = theCall.getFrom();
+	   String contents = new String(msgBody.getContents());
+	   StringBuffer sb = new StringBuffer();
+	   sb.append("BEFORE\n");
+	   sb.append(contents);
+	   sb.append("\nAFTER");
+	   msgBody.setContents(sb.toString().getBytes());
+	   return message;
+   }
+   
+   public void exceptionHandler(Message message, Throwable exception) {
+	   logHeader();
+	   System.out.println("!ERROR!");
+	   System.out.println(exception.getMessage());
+	   System.out.println("For Message: ");
+	   System.out.println(message.getBody().getContents());
+	   logFooter();
+   }
+	
+   public void sendResponse(Message message) {
+	   try {
+		   logHeader();
+		   System.out.println(new String(message.getBody().getContents()));
+		   logFooter();
+		   ReturnJMSMessage.sendMessage(message,"quickstart_helloworld_action_Response");
+	   } catch (Exception e) {
+		   logHeader();
+		   System.out.println(e.getMessage());
+		   logFooter();
+	   }
+   }
+   // This makes it easier to read on the console
+   private void logHeader() {
+	   System.out.println("\n&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&");
+   }
+   private void logFooter() {
+	   System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
+   }
     
 	
 }
\ No newline at end of file

Added: labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/ReturnJMSMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/ReturnJMSMessage.java	2006-11-28 20:38:45 UTC (rev 7889)
+++ labs/jbossesb/trunk/product/samples/quickstarts/helloworld/src/quickstart/ReturnJMSMessage.java	2006-11-28 20:38:53 UTC (rev 7890)
@@ -0,0 +1,49 @@
+package quickstart;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.jms.JMSException;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.Queue;
+import javax.jms.QueueConnection;
+import javax.jms.QueueSession;
+import javax.jms.QueueSender;
+import javax.jms.ObjectMessage;
+import javax.jms.TextMessage;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import org.jboss.soa.esb.message.Message;
+
+public class ReturnJMSMessage {
+       
+    public static void sendMessage(Message esbMessage,String newDestination) throws JMSException, NamingException, Exception {
+    	if (esbMessage == null || newDestination == null) 
+    		throw new Exception("Message and JMS Destination are required");
+    
+    	QueueConnection conn;
+        QueueSession session;
+        Queue que;
+        
+    	InitialContext iniCtx = new InitialContext();
+    	Object tmp = iniCtx.lookup("ConnectionFactory");
+    	QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
+    	conn = qcf.createQueueConnection();
+    	que = (Queue) iniCtx.lookup("queue/" + newDestination);
+    	session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+    	conn.start();
+
+    	    	   
+    	String newMsg = new String(esbMessage.getBody().getContents());
+
+    	
+    	QueueSender send = session.createSender(que);        
+        TextMessage tm = session.createTextMessage(newMsg);
+        send.send(tm);
+        
+
+    	conn.stop();
+    }    
+    
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list