summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/binding-ws-axis2-jms/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/format/DataSourceMessageBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.x/modules/binding-ws-axis2-jms/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/format/DataSourceMessageBuilder.java')
-rw-r--r--branches/sca-java-1.x/modules/binding-ws-axis2-jms/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/format/DataSourceMessageBuilder.java77
1 files changed, 0 insertions, 77 deletions
diff --git a/branches/sca-java-1.x/modules/binding-ws-axis2-jms/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/format/DataSourceMessageBuilder.java b/branches/sca-java-1.x/modules/binding-ws-axis2-jms/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/format/DataSourceMessageBuilder.java
deleted file mode 100644
index 4a299df50d..0000000000
--- a/branches/sca-java-1.x/modules/binding-ws-axis2-jms/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/format/DataSourceMessageBuilder.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.binding.ws.axis2.format;
-
-import javax.activation.DataSource;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axis2.AxisFault;
-import org.apache.axis2.builder.Builder;
-import org.apache.axis2.context.MessageContext;
-
-/**
- * Message builder able to build messages from {@link DataSource} objects.
- * This interface can be optionally implemented by {@link Builder}
- * implementations that support building messages from {@link DataSource} objects.
- * Since by definition the data from a {@link DataSource} can be read multiple
- * times, this interface can be used by message builders to avoid storing the
- * message content in memory.
- * <p>
- * If a message builder implements this interface and the transport is able to
- * provide the message payload as a data source, then the method defined by this
- * interface should be preferred over the method defined by {@link Builder}.
- * <p>
- * Implementing this interface helps optimizing message processing with transports
- * that use messaging providers that store messages in memory or on the file system.
- * Examples are JMS and VFS.
- * <p>
- * The builder will typically expose the data source directly or indirectly through
- * the returned {@link OMElement}, e.g. by adding to the tree an {@link org.apache.axiom.om.OMText}
- * or {@link org.apache.axiom.om.OMDataSource} node referencing the data source.
- * This means that the builder will not be able to guarantee that all streams requested
- * from the data source are properly closed. Note that code accessing the returned
- * {@link OMElement} can't be expected to take care of this since in many cases the fact
- * that a data source is being used is completely transparent to that code.
- * It is therefore the responsibility of the transport to make sure that all resources linked to
- * the data source itself as well as any open stream requested from that data source are properly
- * released after the message has been processed. Depending on the type of transport, there are
- * three possible cases:
- * <ol>
- * <li>All resources allocated to the data source or streams requested from it are
- * memory based. In that case the garbage collector will take care of freeing
- * these resources and the transport should simply pass the data source object
- * to the builder.</li>
- * <li>There are operation system resources linked to the data source and open
- * streams will become invalid when these resources are freed, i.e.
- * it is not required that all streams be closed explicitly.
- * In this case the transport only needs to take care to properly dispose of
- * the data source after the message has been processed by the Axis2 engine.</li>
- * <li>Requesting a stream from the data source allocates operation system resources
- * (e.g. a network connection) that remain linked to the stream, i.e. all streams requested
- * from the data source must be closed properly. In that case the transport should use
- * {@link ManagedDataSourceFactory#create(DataSource)} to wrap the original data source
- * before passing it to the builder. After the message has been processed it should
- * then call {@link ManagedDataSource#destroy()} on the wrapper to close all remaining
- * open streams.</li>
- * </ol>
- */
-public interface DataSourceMessageBuilder extends Builder {
- public OMElement processDocument(DataSource dataSource, String contentType,
- MessageContext messageContext) throws AxisFault;
-}