[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