[jboss-svn-commits] JBL Code SVN: r16827 - in labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator: src/org/jboss/soa/esb/samples/quickstart/aggregator and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Nov 26 08:02:02 EST 2007
Author: tfennelly
Date: 2007-11-26 08:02:02 -0500 (Mon, 26 Nov 2007)
New Revision: 16827
Added:
labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java
Modified:
labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
Log:
http://jira.jboss.com/jira/browse/JBESB-1361
Modified: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml 2007-11-26 11:45:13 UTC (rev 16826)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/aggregation_service/jbossesb.xml 2007-11-26 13:02:02 UTC (rev 16827)
@@ -24,11 +24,14 @@
<action class="org.jboss.soa.esb.actions.Aggregator" name="Aggregator">
<property name="timeoutInMillies" value="60000"/>
</action>
+
+ <!-- add transformation action to aggregate the attachments into 1 message -->
+ <action name="assemble" class="org.jboss.soa.esb.samples.quickstart.aggregator.AggregatedMessageAssembler" />
+
<action name="print-after" class="org.jboss.soa.esb.actions.SystemPrintln">
- <property name="message" value="An aggregated message was created" />
+ <property name="message" value="An aggregated message was created (see attachments)" />
</action>
- <!-- add transformation action to aggregate the attachments into 1 message -->
- </actions>
+ </actions>
</service>
</services>
</jbossesb>
Added: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java (rev 0)
+++ labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java 2007-11-26 13:02:02 UTC (rev 16827)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006, JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.aggregator;
+
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Attachment;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.util.Util;
+
+import java.io.Serializable;
+
+/**
+ * Assemble an aggregated message.
+ * <p/>
+ * This is just an example. Of course a real worl example would do something more
+ * useful than just append the messages together in a StringBuffer!
+ *
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class AggregatedMessageAssembler extends AbstractActionPipelineProcessor {
+
+ public AggregatedMessageAssembler(ConfigTree config) {
+ }
+
+ public Message process(Message message) throws ActionProcessingException {
+ Attachment attachments = message.getAttachment();
+ int attachmentCount = attachments.getUnnamedCount();
+ StringBuffer assemblyBuffer = new StringBuffer();
+
+ for (int i = 0; i < attachmentCount; i++) {
+ try {
+ Message aggrMessage = Util.deserialize((Serializable) attachments.itemAt(i));
+ String payload = aggrMessage.getBody().get().toString();
+
+ assemblyBuffer.append("**** Payload from Message Attachment " + i + ":\n");
+ assemblyBuffer.append(payload + "\n");
+ } catch (Exception e) {
+ // Not an aggregated message attachment... continue...
+ }
+ }
+
+ message.getBody().add(assemblyBuffer.toString());
+
+ return message;
+ }
+}
Property changes on: labs/jbossesb/branches/JBESB_4_2_1_GA_CP/product/samples/quickstarts/aggregator/src/org/jboss/soa/esb/samples/quickstart/aggregator/AggregatedMessageAssembler.java
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the jboss-svn-commits
mailing list