diff --git a/build-spring-integration/build.xml b/build-spring-integration/build.xml
index 0178cd7354..b6a8e2f39a 100644
--- a/build-spring-integration/build.xml
+++ b/build-spring-integration/build.xml
@@ -14,7 +14,6 @@
-
\ No newline at end of file
diff --git a/build-spring-integration/package-bundle.xml b/build-spring-integration/package-bundle.xml
index 333d067cc2..a449ccf174 100644
--- a/build-spring-integration/package-bundle.xml
+++ b/build-spring-integration/package-bundle.xml
@@ -5,6 +5,7 @@
+
diff --git a/build-spring-integration/publish-top-level.xml b/build-spring-integration/publish-top-level.xml
index 213a81edeb..8bfb2ccb82 100644
--- a/build-spring-integration/publish-top-level.xml
+++ b/build-spring-integration/publish-top-level.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/build.properties b/build.properties
index a6240a0898..3608c4ec40 100644
--- a/build.properties
+++ b/build.properties
@@ -4,3 +4,4 @@ natural.name=spring-integration
project.key=INT
ivy.cache.dir=${basedir}/../ivy-cache
integration.repo.dir=${basedir}/../integration-repo
+javadoc.exclude.package.names=org/springframework/integration/samples/**
\ No newline at end of file
diff --git a/spring-integration-adapters/.classpath b/spring-integration-adapters/.classpath
index 38dd0ea8e0..9e143863fb 100644
--- a/spring-integration-adapters/.classpath
+++ b/spring-integration-adapters/.classpath
@@ -3,25 +3,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-integration-adapters/ivy.xml b/spring-integration-adapters/ivy.xml
index befea0f5bb..c6158c09d7 100644
--- a/spring-integration-adapters/ivy.xml
+++ b/spring-integration-adapters/ivy.xml
@@ -20,20 +20,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-integration-core/.classpath b/spring-integration-core/.classpath
index 8c205494b7..830ee0728e 100644
--- a/spring-integration-core/.classpath
+++ b/spring-integration-core/.classpath
@@ -3,13 +3,13 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/spring-integration-core/ivy.xml b/spring-integration-core/ivy.xml
index bb502f277e..5cbf8d164c 100644
--- a/spring-integration-core/ivy.xml
+++ b/spring-integration-core/ivy.xml
@@ -20,9 +20,9 @@
-
-
-
+
+
+
\ No newline at end of file
diff --git a/spring-integration-reference/css/html/stylesheet.css b/spring-integration-reference/css/html/stylesheet.css
deleted file mode 100644
index 54e4ba762c..0000000000
--- a/spring-integration-reference/css/html/stylesheet.css
+++ /dev/null
@@ -1,56 +0,0 @@
-html {
- padding: 0pt;
- margin: 0pt;
-}
-
-body {
- margin-left: 10%;
- margin-right: 10%;
- font-family: Arial, Sans-serif;
-}
-
-div {
- margin: 0pt;
-}
-
-p {
- text-align: justify;
-}
-
-hr {
- border: 1px solid gray;
- background: gray;
-}
-
-h1,h2,h3 {
- color: #234623;
- font-family: Arial, Sans-serif;
-}
-
-pre {
- line-height: 1.0;
- color: black;
-}
-
-pre.programlisting {
- font-size: 10pt;
- padding: 7pt 3pt;
- border: 1pt solid black;
- background: #eeeeee;
-}
-
-div.table {
- margin: 1em;
- padding: 0.5em;
- text-align: center;
-}
-
-div.table table {
- display: table;
- width: 100%;
-}
-
-div.table td {
- padding-left: 7px;
- padding-right: 7px;
-}
diff --git a/spring-integration-reference/src/adapters.xml b/spring-integration-reference/src/adapters.xml
index 1554b5789e..90f790bd46 100644
--- a/spring-integration-reference/src/adapters.xml
+++ b/spring-integration-reference/src/adapters.xml
@@ -1,4 +1,5 @@
+
Channel Adapters
@@ -36,7 +37,7 @@
a reference to a MessageChannel instance. The adapter accepts additional
properties such as: period, initialDelay, maxMessagesPerTask, and sendTimeout. The following example defines a
JMS source adapter that polls every 5 seconds and then sends to the "exampleChannel":
-
+
@@ -50,7 +51,7 @@
Destination (or 'destinationName'). The following example defines a JMS
message-driven source adapter that receives from the JMS queue called "exampleQueue" and then sends to
the Spring Integration channel named "exampleChannel":
-
+
@@ -78,7 +79,7 @@
However, since it is adapting a MessageChannel, there is no need to specify
the serviceInterface. Likewise, the serviceName is automatically
generated based on the channel name. Therefore, creating the adapter is as simple as providing a reference
- to its channel: RmiSourceAdapter rmiSourceAdapter = new RmiSourceAdapter(channel);
+ to its channel: RmiSourceAdapter rmiSourceAdapter = new RmiSourceAdapter(channel);
@@ -87,7 +88,7 @@
is already known, the only required information is the URL. The URL should include the host, port (default is
'1099'), and 'serviceName'. The 'serviceName' must match that created by the
RmiSourceAdapter (the prefix is available as a constant).
- String url = "http://somehost:1099/" + RmiSourceAdapter.SERVICE_NAME_PREFIX + "someChannel";
+ String url = "http://somehost:1099/" + RmiSourceAdapter.SERVICE_NAME_PREFIX + "someChannel";
RmiTargetAdapter rmiTargetAdapter = new RmiTargetAdapter(url);
@@ -101,7 +102,7 @@ RmiTargetAdapter rmiTargetAdapter = new RmiTargetAdapter(url);
HandlerMapping. For example, the following would be exposed at the path
"http://somehost/path-mapped-to-dispatcher-servlet/httpInvokerAdapter" when a simple
BeanNameUrlHandlerMapping strategy is enabled:
-
]]>
@@ -117,13 +118,13 @@ RmiTargetAdapter rmiTargetAdapter = new RmiTargetAdapter(url);
The FileSourceAdapter extends the generic PollingSourceAdapter
(just as the polling JMS adapter does). It requires the following constructor arguments:
- public FileSourceAdapter(File directory, MessageChannel channel, int period)
+ public FileSourceAdapter(File directory, MessageChannel channel, int period)
Optional properties include 'initialDelay' and 'maxMessagesPerTask'.
The FileTargetAdapter constructor only requires the 'directory' argument. The target
adapter also accepts an implementation of the FileNameGenerator strategy that
- defines the following method: String generateFileName(Message message)
+ defines the following method: String generateFileName(Message message)
@@ -132,7 +133,7 @@ RmiTargetAdapter rmiTargetAdapter = new RmiTargetAdapter(url);
To poll a directory with FTP, configure an instance of FtpSourceAdapter. The adapter
expects a number of properties for connecting to the FTP server (as shown below) as well as the
'channel' and the 'period' for polling. For example, the following adapter would poll every 30 seconds:
-
@@ -157,12 +158,12 @@ RmiTargetAdapter rmiTargetAdapter = new RmiTargetAdapter(url);
The adapter also delegates to a MailHeaderGenerator for providing the
mail's properties, such as the recipients (TO, CC, and BCC), the from/reply-to, and the subject.
- message);
}]]>
The default implementation will look for attributes in the MessageHeader with
the following constants defining the keys:
- MailAttributeKeys.SUBJECT
+ MailAttributeKeys.SUBJECT
MailAttributeKeys.TO
MailAttributeKeys.CC
MailAttributeKeys.BCC
@@ -173,7 +174,7 @@ MailAttributeKeys.REPLY_TO
A static implementation is also available out-of-the-box and may be useful for testing. However, when
customizing, the properties would typically be generated dynamically based on the message itself. The
following is an example of a configured mail adapter.
-
@@ -189,7 +190,7 @@ MailAttributeKeys.REPLY_TO
String or javax.xml.transform.Source as the message
payload. The latter provides support for any implementation of the Marshaller
and Unmarshaller interfaces. Both require the URI of the Web Service to be
- called.simpleAdapter = new SimpleWebServiceTargetAdapter(uri);
+ called.simpleAdapter = new SimpleWebServiceTargetAdapter(uri);
marshallingAdapter = new MarshallingWebServiceTargetAdapter(uri, marshaller);
diff --git a/spring-integration-reference/src/configuration.xml b/spring-integration-reference/src/configuration.xml
index 4c22640f2d..00ea716995 100644
--- a/spring-integration-reference/src/configuration.xml
+++ b/spring-integration-reference/src/configuration.xml
@@ -1,4 +1,5 @@
+
Configuration
@@ -27,7 +28,7 @@
To enable Spring Integration's namespace support within your Spring configuration files, add the following
namespace reference and schema mapping in your top-level 'beans' element:
- xmlns:integration="http://www.springframework.org/schema/integration"<beans:beans xmlns="http://www.springframework.org/schema/integration"<beans:beans xmlns="http://www.springframework.org/schema/integration"xmlns:beans="http://www.springframework.org/schema/beans"Configuring Message Channels
To create a Message Channel instance, you can use the generic 'channel' element:
- <channel id="exampleChannel"/>
+ <channel id="exampleChannel"/>
The default channel type is Point to Point. To create a
Publish Subscribe channel, provide a value of true for the
'publish-subscribe' attribute of the channel element:
- <channel id="exampleChannel" publish-subscribe="true"/>
+ <channel id="exampleChannel" publish-subscribe="true"/>
When the MessageBus detects and registers channels, it will establish a dispatcher for
each channel. The default dispatcher settings were previously displayed in
. To customize these settings for a particular channel, add
the 'dispatcher-policy' sub-element and provide one or more of the attributes shown below:
-
+
Datatype Channel that only
accepts messages containing a certain payload type, provide the fully-qualified class name in the
channel element's datatype attribute:
- ]]>
+ ]]>
Note that the type check passes for any type that is assignable to the channel's
datatype. In other words, the "numberChannel" above would accept messages whose payload is
java.lang.Integer or java.lang.Double. Multiple types can be
provided as a comma-delimited list:
- ]]>
+ ]]>
When using the "channel" element, the creation of the channel instances will be deferred to the ChannelFactory
@@ -101,16 +102,16 @@
To specificially create a QueueChannel, use the "queue-channel" element.
By using this element, you can also specify the channel's capacity:
- <queue-channel id="exampleChannel" capacity="100"/>
+ <queue-channel id="exampleChannel" capacity="100"/>
To create a PriorityChannel, use the "priority-channel" element:
- ]]>
+ ]]>
By default, the channel will consult the MessagePriority value in the
message's header. However, a custom Comparator reference may be
provided instead. Also, the PriorityChannel does support the "datatype"
attribute. The following example demonstrates both:
-
]]>
@@ -119,7 +120,7 @@
more <interceptor> elements can be added as sub-elements of <channel>. Provide the "ref" attribute
to reference any Spring-managed object that implements the ChannelInterceptor
interface:
-
+
]]>]]>]]>
In general, it is a good idea to define the interceptor implementations in a separate location since they
@@ -132,13 +133,13 @@
To create a Message Endpoint instance, use the 'handler-endpoint' element with the 'input-channel' and 'handler'
attributes:
- <handler-endpoint input-channel="exampleChannel" handler="exampleHandler"/>
+ <handler-endpoint input-channel="exampleChannel" handler="exampleHandler"/>
The configuration above assumes that "exampleHandler" is an actual implementation of the
MessageHandler interface as described in .
To delegate to an arbitrary method of any object, simply add the "method" attribute.
- <handler-endpoint input-channel="exampleChannel" handler="somePojo" method="someMethod"/>
+ <handler-endpoint input-channel="exampleChannel" handler="somePojo" method="someMethod"/>
In either case (MessageHandler or arbitrary object/method), when the handling
@@ -151,7 +152,7 @@
'returnAddress' property at all, then it will fallback to its own 'outputChannelName' property. If
neither is available, then a MessageHandlingException will be thrown. To configure the
output channel when using the XML namespace, provide the 'output-channel' attribute:
- <handler-endpoint input-channel="exampleChannel"
+ <handler-endpoint input-channel="exampleChannel"
handler="somePojo"
method="someMethod"
output-channel="replyChannel"/>
@@ -160,7 +161,7 @@
Endpoints also support MessageSelectors as described in
. To configure selectors with namespace support, simply add one or more
<selector> sub-elements to the endpoint definition:
-
+
]]>]]>]]>
@@ -170,7 +171,7 @@
endpoint subscriptions for its channel and delegates to a scheduler for managing the tasks that pull messages
from the channel and push them to the endpoints. To configure the polling period for an individual endpoint's
schedule, provide a 'schedule' sub-element with the 'period' in milliseconds:
-
+
]]>]]>]]>
@@ -188,7 +189,7 @@
consider (the other major factor being the expected volume on the channel to which the endpoint subscribes).
To enable concurrency for an endpoint that is configured with the XML namespace support, provide the
'concurrency' sub-element and one or more of the properties shown below:
-
+
]]>]]>]]>
Recall the default concurrency policy values as listed in .
@@ -214,12 +215,12 @@
based on the configuration of channels and endpoints. The bus is aware of its host application context, and
therefore is also capable of auto-detecting the channels and endpoints. Typically, the
MessageBus can be configured with a single empty element:
- <message-bus/>
+ <message-bus/>
The Message Bus provides default error handling for its components in the form of a configurable error channel,
and the 'message-bus' element accepts a reference with its 'error-channel' attribute:
-
+
]]>
When exceptions occur in an endpoint's execution of its MessageHandler callback,
@@ -236,12 +237,12 @@
methods will happen within the handler thread pool and not the dispatcher pool. Finally, the Message Bus is
capable of automatically creating channel instances if an endpoint registers a subscription by providing the
name of a channel that the bus does not recognize.
- ]]>
+ ]]>
The type of channel that gets created automatically by the bus can be customized by using the "channel-factory"
element on the "message-bus" definition as in the following example:
-
+
@@ -257,7 +258,7 @@
The most convenient way to configure Channel Adapters is by using the namespace support. The following examples
demonstrate the namespace-based configuration of several source and target adapters:
-
@@ -295,7 +296,7 @@
The next section will describe Spring Integration's support for annotation-driven configuration. To enable
those features, add this single element to the XML-based configuration:
- <annotation-driven/>
+ <annotation-driven/>
@@ -308,7 +309,7 @@
annotated class is capable of being registered as an endpoint, and the method-level
@Handler annotation indicates that the annotated method is capable of handling
a message.
- @MessageEndpoint(input="fooChannel")
+ @MessageEndpoint(input="fooChannel")
public class FooService {
@Handler
@@ -320,7 +321,7 @@ public class FooService {
In most cases, the annotated handler method should not require the Message type as its
parameter. Instead, the method parameter type can match the message's payload type.
- @MessageEndpoint(input="fooChannel")
+ @MessageEndpoint(input="fooChannel")
public class FooService {
@Handler
@@ -335,15 +336,15 @@ public class FooService {
the message header's 'replyChannelName' property will be used if available, and the endpoint's default output is
the fallback. To configure the default output for an annotation-driven endpoint, provide the 'output'
attribute on the @MessageEndpoint.
- @MessageEndpoint(input="exampleChannel", output="replyChannel")
+ @MessageEndpoint(input="exampleChannel", output="replyChannel")
Just as the 'schedule' sub-element and its 'period' attribute can be provided for a namespace-based
endpoint, the 'pollPeriod' attribute can be provided on the @MessageEndpoint.
- @MessageEndpoint(input="exampleChannel", pollPeriod=3000)
+ @MessageEndpoint(input="exampleChannel", pollPeriod=3000)
Likewise, @Concurrency provides an annotation-based equivalent of the
<concurrency/> element:
- @MessageEndpoint(input="fooChannel")
+ @MessageEndpoint(input="fooChannel")
@Concurrency(coreSize=5, maxSize=20)
public class FooService {
@@ -363,7 +364,7 @@ public class FooService {
the endpoint will resolve the channel name as it does for the default output. Additionally, the method can return
either a single value or a collection. When a collection is returned, the reply message will be sent to multiple
channels. To summarize, the following method signatures are all valid.
- @Router
+ @Router
public MessageChannel route(Message message) {...}
@Router
@@ -380,7 +381,7 @@ public List<String> route(Foo payload) {...}
message header as either a property or attribute. Rather than requiring use of the
Message type as the method parameter, the @Router
annotation may also map to either a property or attribute name.
- @Router(property="customerType")
+ @Router(property="customerType")
public String route(String customerType)
@Router(attribute="orderStatus")
@@ -392,7 +393,7 @@ public List<String> route(OrderStatus status)
should be a collection of any type. If the returned values are not actual Message
objects, then each of them will be sent as the payload of a message. The @Splitter
annotation expects a 'channel' attribute that specifies the channel name to which those messages should be sent.
- @Splitter(channel="exampleChannel")
+ @Splitter(channel="exampleChannel")
List<LineItem> extractItems(Order order) {
return order.getItems()
}
@@ -401,7 +402,7 @@ List<LineItem> extractItems(Order order) {
The @Publisher annotation is a convenience for sending messages with AOP
after-returning advice. For example, each time the following method is invoked, its return
value will be sent to the "fooChannel":
-
@@ -410,7 +411,7 @@ public String foo() {
Similarly, the @Subscriber annotation triggers the retrieval of messages from a
channel, and the payload of each message will then be sent as input to an arbitrary method. This is one of the
simplest ways to configure asynchronous, event-driven behavior:
-
diff --git a/spring-integration-reference/src/core-api.xml b/spring-integration-reference/src/core-api.xml
index 299bfb1cee..4592e40aa6 100644
--- a/spring-integration-reference/src/core-api.xml
+++ b/spring-integration-reference/src/core-api.xml
@@ -1,4 +1,5 @@
+
The Core API
@@ -9,7 +10,7 @@
be provided as the payload, and each Message also includes a header containing
user-extensible properties as key-value pairs. Here is the definition of the
Message interface:
- public interface Message<T> {
+ public interface Message<T> {
Object getId();
MessageHeader getHeader();
T getPayload();
@@ -70,7 +71,7 @@
The base implementation of the Message interface is
GenericMessage<T>, and it provides three constructors:
- new GenericMessage<T>(Object id, T payload);
+ new GenericMessage<T>(Object id, T payload);
new GenericMessage<T>(T payload);
new GenericMessage<T>(T payload, MessageHeader headerToCopy)
When no id is provided, a random unique id will be generated. The constructor that accepts a
@@ -82,7 +83,7 @@ new GenericMessage<T>(T payload, MessageHeader headerToCopy)
The MessagePriority is only considered when using a PriorityChannel
(as described in the next section). It is defined as an enum with five possible values:
- public enum MessagePriority {
+ public enum MessagePriority {
HIGHEST,
HIGH,
NORMAL,
@@ -107,7 +108,7 @@ new GenericMessage<T>(T payload, MessageHeader headerToCopy)Message plays the crucial role of encapsulating data, it is the
MessageChannel that decouples message producers from message consumers.
Spring Integration's MessageChannel interface is defined as follows.
- null in the case of a timeout or interrupt.
The QueueChannel implementation wraps a queue. It provides a no-argument constructor as
well as a constructor that accepts the queue capacity:
- public QueueChannel(int capacity)
+ public QueueChannel(int capacity)
Specifying a capacity of 0 will create a "direct-handoff" channel where a sender will block until the channel's
receive() method is called. Otherwise a channel that has not reached its capacity limit
will store messages in its internal queue, and the send() method will return immediately
@@ -148,14 +149,14 @@ new GenericMessage<T>(T payload, MessageHeader headerToCopy)MessageChannels, those channels provide an opportunity for intercepting
the send and receive operations. The ChannelInterceptor strategy interface
provides methods for each of those operations:
- message, MessageChannel channel);
void postSend(Message> message, MessageChannel channel, boolean sent);
boolean preReceive(MessageChannel channel);
void postReceive(Message> message, MessageChannel channel);
}]]>
After implementing the interface, registering the interceptor with a channel is just a matter of calling:
- channel.addInterceptor(someChannelInterceptor);
+ channel.addInterceptor(someChannelInterceptor);
The methods that return a boolean value can return 'false' to prevent the
send or receive operation from proceeding (send would return 'false' and receive would return 'null').
@@ -165,7 +166,7 @@ new GenericMessage<T>(T payload, MessageHeader headerToCopy)void methods are empty, and the boolean methods return
true). Therefore, it is often easiest to extend that class and just implement the method(s)
that you need as in the following example.
-
So far we have seen that generic message objects are sent-to and received-from simple channel objects. Here is
Spring Integration's callback interface for handling the Messages:
- public interface MessageHandler {
+ public interface MessageHandler {
Message<?> handle(Message<?> message);
}
The handler plays an important role, since it is typically responsible for translating between the generic
@@ -210,7 +211,7 @@ new GenericMessage<T>(T payload, MessageHeader headerToCopy)MessageChannels and MessageHandlers. It provides
the following methods:
- public void registerChannel(String name, MessageChannel channel)
+ public void registerChannel(String name, MessageChannel channel)
public void registerHandler(String name, MessageHandler handler,
Subscription subscription)
@@ -401,7 +402,7 @@ public void registerHandler(String name, MessageHandler handler,
MessageHandler along with its metadata. In fact, the
MessageEndpoint does extend the MessageHandler
interface.
- public interface MessageEndpoint extends MessageHandler {
+ public interface MessageEndpoint extends MessageHandler {
String getName();
Subscription getSubscription();
ConcurrencyPolicy getConcurrencyPolicy();
@@ -421,7 +422,7 @@ public void registerHandler(String name, MessageHandler handler,
is hosted by an endpoint and thereby subscribed to a channel. Often it is necessary to provide additional
dynamic logic to determine what messages the handler should receive. The
MessageSelector strategy interface fulfills that role.
- message);
}]]>
A MessageEndpoint can be configured with zero or more selectors, and will only
@@ -429,7 +430,7 @@ public void registerHandler(String name, MessageHandler handler,
common selector implementations are provided. For example, the PayloadTypeSelector
provides similar functionality to Datatype Channels (as described in )
except that in this case the type-matching can be done by the endpoint rather than the channel.
- (123)));
assertFalse(selector.accept(new GenericMessage(someObject)));
@@ -442,17 +443,17 @@ assertFalse(selector.accept(new GenericMessage(someObject)));
Essentially, using a selector provides reactive routing whereas the Datatype Channel
and Message Router provide proactive routing. However, selectors accommodate additional
uses. For example, the MessageChannel's 'purge' method accepts a selector:
- channel.purge(someSelector);
+ channel.purge(someSelector);
There is even a ChannelPurger utility class whose purge operation is a good candidate for
Spring's JMX support:
- ChannelPurger purger = new ChannelPurger(new ExampleMessageSelector(), channel);
+ ChannelPurger purger = new ChannelPurger(new ExampleMessageSelector(), channel);
purger.purge();
Implementations of MessageSelector might provide opportunities for reuse on
channels in addition to endpoints. For that reason, Spring Integration provides a simple selector-wrapping
ChannelInterceptor that accepts one or more selectors in its constructor.
- MessageSelectingInterceptor interceptor =
+ MessageSelectingInterceptor interceptor =
new MessageSelectingInterceptor(selector1, selector2);
channel.addInterceptor(interceptor);
diff --git a/spring-integration-reference/src/overview.xml b/spring-integration-reference/src/overview.xml
index 45beb1fecf..d2cc243d83 100644
--- a/spring-integration-reference/src/overview.xml
+++ b/spring-integration-reference/src/overview.xml
@@ -1,4 +1,5 @@
+
Spring Integration Overview
diff --git a/spring-integration-reference/src/resources.xml b/spring-integration-reference/src/resources.xml
index e340567e97..bd4483f0c0 100644
--- a/spring-integration-reference/src/resources.xml
+++ b/spring-integration-reference/src/resources.xml
@@ -1,4 +1,5 @@
+
Additional Resources
diff --git a/spring-integration-reference/src/samples.xml b/spring-integration-reference/src/samples.xml
index 76b37328af..d81083f98f 100644
--- a/spring-integration-reference/src/samples.xml
+++ b/spring-integration-reference/src/samples.xml
@@ -1,4 +1,5 @@
+
Spring Integration Samples
@@ -29,7 +30,7 @@
Here is the XML configuration:
- @MessageEndpoint annotation. That annotation extends Spring's
"stereotype" annotations (by relying on the @Component meta-annotation), and so all classes carrying the
endpoint annotation are capable of being detected by the component-scanner.
-
- Barista instance but different methods. The 'barista' could have been
defined in the XML, but instead the @Component annotation is applied:
- CafeDemo 'main' method runs, it will loop 100
times sending a single hot drink and a single cold drink each time.
- 0) {
context = new FileSystemXmlApplicationContext(args);
@@ -163,7 +164,7 @@ public class Barista {
However, by configuring the endpoint concurrency, you can dramatically change the results. For example, on my
machine, the following single modification causes all 100 hot drinks to be prepared before the 4th cold drink is
ready:
-
+
]]>]]>
-
-
-
-
-
-
-]>
-
+
+
Spring Integration Reference Manual
@@ -40,11 +32,11 @@
- &overview;
- &core-api;
- &adapters;
- &configuration;
- &samples;
- &resources;
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-integration-reference/styles/html/custom.xsl b/spring-integration-reference/styles/html/custom.xsl
deleted file mode 100644
index 7d06277d3d..0000000000
--- a/spring-integration-reference/styles/html/custom.xsl
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
- 1
- 0
- 1
-
-
-
- images/
- .gif
-
- 120
- images/callouts/
- .gif
-
-
- css/stylesheet.css
- text/css
- book toc,title
-
- text-align: left
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spring-integration-reference/styles/html/titlepage.xml b/spring-integration-reference/styles/html/titlepage.xml
deleted file mode 100644
index 0c0258f725..0000000000
--- a/spring-integration-reference/styles/html/titlepage.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spring-integration-reference/styles/pdf/custom.xsl b/spring-integration-reference/styles/pdf/custom.xsl
deleted file mode 100644
index 6b565db4d3..0000000000
--- a/spring-integration-reference/styles/pdf/custom.xsl
+++ /dev/null
@@ -1,429 +0,0 @@
-
-
-
-
-
-
-
- '1'
- @file.prefix@@dbf.xsl@/images/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -5em
- -5em
-
-
-
-
-
- book toc,title
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- please define productname in your docbook file!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
- 0
- 1
- 1
-
-
-
-
- 0
- 0
- 0
-
-
-
- false
-
-
- 11
- 8
-
-
- 1.4
-
-
-
- left
- bold
-
-
- pt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0.8em
- 0.8em
- 0.8em
-
-
- pt
-
- 0.1em
- 0.1em
- 0.1em
-
-
- 0.6em
- 0.6em
- 0.6em
-
-
- pt
-
- 0.1em
- 0.1em
- 0.1em
-
-
- 0.4em
- 0.4em
- 0.4em
-
-
- pt
-
- 0.1em
- 0.1em
- 0.1em
-
-
-
-
-
-
- 4pt
- 4pt
- 4pt
- 4pt
-
-
-
- 0.1pt
- 0.1pt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pt
-
-
-
-
- 1em
- 1em
- 1em
-
-
-
- #444444
- solid
- 0.1pt
- 0.5em
- 0.5em
- 0.5em
- 0.5em
- 0.5em
- 0.5em
-
-
-
- 1
-
- #F0F0F0
-
-
-
- 0.1em
- 0.1em
- 0.1em
- 0.1em
- 0.1em
- 0.1em
-
-
-
- 0.5em
- 0.5em
- 0.5em
- 0.1em
- 0.1em
- 0.1em
- always
-
-
-
-
-
- normal
- italic
-
-
- pt
-
- false
- 0.1em
- 0.1em
- 0.1em
-
-
-
-
-
- 0
- 1
-
-
- 90
-
-
-
-
-
- figure after
- example after
- equation before
- table before
- procedure before
-
-
-
- 1
-
- 0pt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/spring-integration-reference/styles/pdf/titlepage.xml b/spring-integration-reference/styles/pdf/titlepage.xml
deleted file mode 100644
index 7f84106a57..0000000000
--- a/spring-integration-reference/styles/pdf/titlepage.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spring-integration-samples/.classpath b/spring-integration-samples/.classpath
index aed95ab67f..856c15de89 100644
--- a/spring-integration-samples/.classpath
+++ b/spring-integration-samples/.classpath
@@ -3,18 +3,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-integration-samples/ivy.xml b/spring-integration-samples/ivy.xml
index 9d70a03371..c99f205d35 100644
--- a/spring-integration-samples/ivy.xml
+++ b/spring-integration-samples/ivy.xml
@@ -20,13 +20,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-integration-test/.classpath b/spring-integration-test/.classpath
index b5f8937c67..f2c2e4dae1 100644
--- a/spring-integration-test/.classpath
+++ b/spring-integration-test/.classpath
@@ -3,15 +3,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/spring-integration-test/ivy.xml b/spring-integration-test/ivy.xml
index f16d6081ff..7b907e3862 100644
--- a/spring-integration-test/ivy.xml
+++ b/spring-integration-test/ivy.xml
@@ -20,10 +20,10 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/spring-integration-ws/.classpath b/spring-integration-ws/.classpath
index b17891c442..0cecd1c636 100644
--- a/spring-integration-ws/.classpath
+++ b/spring-integration-ws/.classpath
@@ -3,17 +3,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spring-integration-ws/ivy.xml b/spring-integration-ws/ivy.xml
index 61fd979068..023cb4e1ab 100644
--- a/spring-integration-ws/ivy.xml
+++ b/spring-integration-ws/ivy.xml
@@ -20,13 +20,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file