Commit Graph

288 Commits

Author SHA1 Message Date
erenavsarogullari
bfec7640ca INTEXT-142: Add Spring Integration Hazelcast
JIRA: https://jira.spring.io/browse/INTEXT-142
2015-04-03 12:56:48 +03:00
Artem Bilan
fddd7e47b4 INTEXT-122: Make XSD versionless from SI-core XSD
JIRA: https://jira.spring.io/browse/INTEXT-122

Fix for SMPP. All other extensions will be fixed on demand, when they will be upgraded to SI 4.0 or higher
2014-12-05 19:39:33 +02:00
Gary Russell
3318a4ddeb INTEXT-39 Remove Experimental WebSocket Code
JIRA: https://jira.spring.io/browse/INTEXT-39
2014-11-19 17:54:45 -05:00
Artem Bilan
05b7f39f39 Move AWS to separate repo 2014-11-17 13:45:16 +02:00
Artem Bilan
3268e0a2f7 Move Kafka to the separate repo 2014-11-17 13:26:00 +02:00
Artem Bilan
6b37a400d9 Move Splunk to the individual repo 2014-11-17 12:26:59 +02:00
Flemming Jønsson
85334c7e90 INTEXT-118: Fox for long messages with newlines
JIRA: https://jira.spring.io/browse/INTEXT-118

It also tests long messages without newlines to verify that the fix works for both types of long messages.

INTEXT-118: Replace regular expression split with standard substring to split message into subparts with max length.
The regular expression used earlier failed splitting messages that contained newlines correctly. (See SmesMessageSpecificationTest)

Corrected spelling in constants

Polishing
2014-11-15 19:15:52 +02:00
Artem Bilan
ecd539d1dc DSL: Move Java DSL to the separate repo 2014-11-13 11:40:04 +02:00
Spring Buildmaster
4caccc2ae0 [artifactory-release] Kafka Next development version 2014-11-12 14:16:42 -08:00
Spring Buildmaster
4f4717d9f5 [artifactory-release] Release version Kafka 1.0.0.M2 (#2) 2014-11-12 14:16:38 -08:00
Ilayaperumal Gopinathan
b899ff0ffd Add StringDecoder for kafka messages
- Add StringDecoder for decoding kafka key/value messages

Refactor StringDecoder
2014-11-12 16:00:12 -05:00
Spring Buildmaster
bfdcd7ad1d [artifactory-release] Kafka Next development version 2014-11-12 09:23:19 -08:00
Spring Buildmaster
b28faa34d9 [artifactory-release] Release version Kafka 1.0.0.M2 2014-11-12 09:23:15 -08:00
Ilayaperumal Gopinathan
cad2be0496 INTEXT-111: Allow PP for Kafka producer context
JIRA: https://jira.spring.io/browse/INTEXT-111

 - Remove hard coded names for bean names at the producer context parser
 - Fix and update tests
 - Remove the use of `BeanFactory` to get the producerConfigurations in
KakfaProducerContext and use setter to set the producerConfigurations
 - Add logic to send the message from producer configuration when there
is no header specified for the topic and single producer configuration
is used.

Add tests to verify placeholder values

Fix code review comment and formatting

Polishing code style.

Add `KafkaProducerContext#theProducerConfiguration` for single `producerConfigurations` entry to avoid iterators
2014-11-12 11:20:49 +02:00
Artem Bilan
b8d986167c DSL: O-Gs: requiresReply="true" by default
Since many `outbound-gateway`s are designed to always expect replies and XML configuration
specifies `requires-reply="true"` for them by default, the DSL should follow with that.
2014-11-10 18:36:36 +02:00
Artem Bilan
57caf41fb2 DSL: Use generic AppListener fromIntFlowBPP
https://build.spring.io/browse/INTSAMPLES-NIGHTLY-JOB1-1189

Since `spring-integration-even` is optional dependency, the usage of `ApplicationEventListeningMessageProducer` is wrong.
Changing it to the generic `ApplicationListener` doesn't hurt for any inline components from Flow definition, when there is an interest to handle Events.
2014-11-10 13:04:40 +02:00
Artem Bilan
a04cdbf77f DSL: Register AELMP as AL in the AEM
Register `ApplicationEventListeningMessageProducer` as `ApplicationListener` in the `ApplicationEventMulticaster`

Since `ApplicationContext` invokes its `registerListeners()` before the `IntegrationFlowBeanPostProcessor` does its stuff,
the `ApplicationEventListeningMessageProducer` hasn't been visible as an `ApplicationListener` bean, when it is defined from `IntegrationFlow`,
hence add a logic to register it to the `ApplicationEventMulticaster` from `IntegrationFlowBeanPostProcessor`.
2014-11-08 19:53:36 +02:00
Christos Kapasakalidis
b44bf47d62 INTEXT-80 - FIX S3 ConnectionPoolTimeoutException
JIRA: https://jira.spring.io/browse/INTEXT-80

When synchronizing to local directory, getObject was called without
ever closing the InputStream that the SDK opens causing an
"org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting
for connection" exception. To fix that, after synchronization, the
inputStream of the s3Object is closed, causing the s3 client to release
the connection.
2014-11-06 17:35:30 +02:00
Artem Bilan
13ea2d9111 DSL: Fix RouterSpec for several subflows
The root of the issue is the order of bean registration in the beanFactory.
In this case the first subflows is registered correctly, but the next one has been registered after `RouterSubFlowMappingProvider`.
In this case the input `channel` of the next subflow hasn't been registered yet, hence `NPE` in the `this.router.setChannelMapping`
from `@PostConstruct` of `RouterSubFlowMappingProvider`.

Move the `RouterSubFlowMappingProvider` to end of `componentsToRegister` collection to give a chance to register all subflows before the `RouterSubFlowMappingProvider`.
2014-11-01 10:50:59 -04:00
Spring Buildmaster
e144feb1b3 [artifactory-release] Next development version 2014-10-31 12:07:29 -07:00
Spring Buildmaster
879024d97e [artifactory-release] SI Java DSL release version 1.0.0.RC1 2014-10-31 12:07:24 -07:00
Artem Bilan
c3477801e6 DSL: .gateway() SubFlow support 2014-10-31 19:15:26 +02:00
Artem Bilan
e6af7f7eba DSL: RecipientListRouter: Add SubFlow support 2014-10-31 13:43:26 +02:00
Artem Bilan
be9767b8a9 DSL: Introduce SubFlows
Add `subFlow` support for `router`s
Move some tests to separate domain classes
Fix some component registrations

DSL: Fix `SubFlow` registration according PR discussion

* Add IO plugin
* Fix SI 4.0 <-> 4.1 compatibility by `springIoCheck` results
* Further divide for tests to separate domain classes

DSL: Add `discardFlow` to the `.filter()`

Make `.router()` `subFlow`s as `always return to the main flow`

Add `.publishSubscribeChannel()` EIP-method with `.subscriber()`

to specify subscribers as `subFlow`s

Polishing
2014-10-30 16:57:19 -04:00
Artem Bilan
74102a022d DSL: Fix package tangles 2014-10-29 12:43:40 +02:00
Artem Bilan
4005ff874d Java DSL: Introduce FunctionExpression
Add support for `FunctionExpression` and apply it alongside with `expression`, where it is possible
For example:
```
.enrich(e -> e.requestChannel("enrichChannel")
		.requestPayload(Message::getPayload)
		.shouldClonePayload(false)
		.<Map<String, String>>headerFunction("foo", m -> m.getPayload().get("name")))
```
Remove redundant functional interfaces in favor of `Function`

FunctionExpression: Add JDBC Splitter sample

Minor Polishing to FunctionExpression

FunctionExpression: JavaDocs
2014-10-28 15:14:44 -04:00
Artem Bilan
cab77b5e76 Java DSL: Lambdas for Namespace Factories
* Add `Function` and `Consumer` copies from Java 8
* Rework some functional interfaces to `Function` or `Consumer`
* Introduce `Channels`, `MessageHandlers`, `MessageProducers`, `MessageSources`, `MessagingGateways`
- some convenient wrappers for Namespace Factories to be used from Lambdas
* Add Lambda-methods for those new wrappers
* Provide some refactoring
* Upgrade to Boot `1.1.7`

Java DSL: Lambda_Factories

* Change all `IntegrationFlows` methods to `.from()`
* Introduce internal `Function<?, ?>` extensions for particular cases, e.g. `MessageSourcesFunction`.
Now end-user has to cast Lambda parameter to concrete type to get desired factory, e.g.:
```
return IntegrationFlows.from((MessageProducers mp) -> mp.imap("imap://user:pw@host/INBOX"))
```
* rename `.fromFixedMessageChannel` to `.from()` with additional boolean flag
* Introduce `PollerFactory` Lambda for `.poller()` EIP-method on `EndpointSpec`
* Move `Pollers` stuff to the `.core` package to fix package tangle
* Refactoring for some code style
* Fix some typos
2014-10-07 15:11:32 +03:00
Artem Bilan
db05476acf Fix some ChannelName Late Resolution
Polishing
2014-09-17 15:21:16 +03:00
Gary Russell
87745d43a1 DSL: MailTests - SearchTermStrategy
Change lamda expression to a Method reference.
2014-09-10 10:55:47 -05:00
Spring Buildmaster
782999f576 [artifactory-release] Next development version 2014-09-08 04:46:06 -07:00
Spring Buildmaster
16b363a045 [artifactory-release] SI Java DSL Release version 1.0.0.M3 2014-09-08 04:46:02 -07:00
Gary Russell
070252961d DSL: Fix Tail Tests
Timing problem - set end(false), don't start adapter until file
is written.
2014-09-07 16:28:14 -05:00
Artem Bilan
ff4a229bc5 INTEXT-114 Fix outputChannel population AOP issue
JIRA: https://jira.spring.io/browse/INTEXT-114
2014-09-07 11:37:29 -05:00
Artem Bilan
eb5456f9d7 Upgrade to SI 4.0.4 and Boot 1.1.6 2014-09-05 13:02:42 +03:00
Artem Bilan
2ff83c61d9 INTEXT-113: Make .route() as non-last component
JIRA: https://jira.spring.io/browse/INTEXT-113

Previously `router` could be configured only as last component in the `IntegrationFlow` definition.

* Remove `defaultOutputChannel` options from `AbstractRouterSpec`
* Populate `outputChannel` to the `AbstractMessageRouter.defaultOutputChannel`, when there is more EIP-methods after `.route()`
* Rename EIP-method `.recipientListRoute()` to the `.routeToRecipients()`
* Make compatibility with SI 4.1
* Tested against SF 4.1
2014-09-04 11:19:54 +03:00
Artem Bilan
4b5bbb6412 DSL: Add enrichHeaders(Map) EIP-method
* Introduce `MapBuilder` and its custom inheritor - `MailHeadersBuilder`
* Add `HeaderEnricherSpec.headers(MapBuilder)` and `.headers(Map)`
* Change `MailTests` to use new `Mail.headers()` and new `IntegrationFlowDefinition.enrichHeaders(MapBuilder)`
* Change `mailapi` dependency to the IO's `javax.mail`

Polishing - Add headerExpressions()

More Polishing - Add Configurer

Polishing - PR Comments

- Move MapBuilderConfigurer to superclass.
- Move PropertiesBuilderConfigurer into PropertiesBuilder.
2014-08-27 18:08:52 -04:00
Artem Bilan
238c1f06b9 Polishing after rebase 2014-08-26 18:35:19 +03:00
Artem Bilan
f0bfe4656d DSL: Add support for IntegrationFlow Lambda
To simplify a bit the `direct` integration flow definition, the `IntegrationFlow` Lambda is introduced.

* Extract `IntegrationFlow` functional interface with `define(IntegrationFlowDefinition<?> flow)` method.
* Rename existing `IntegrationFlow` class to the `StandardIntegrationFlow` and move it to the inner class within `IntegrationFlowBuilder`
* Extract `IntegrationFlowDefinition` superclass for the `IntegrationFlowBuilder` to be used within `IntegrationFlow` Lambda
to hide `get()` method from end-users.
* Change `IntegrationFlowBeanPostProcessor` for a new logic around `IntegrationFlow` Lambda
* Rename `MessagingProducerSpec` to the `MessageProducerSpec`

Conflicts:
	spring-integration-java-dsl/src/main/java/org/springframework/integration/dsl/IntegrationFlowBuilder.java
2014-08-26 18:29:00 +03:00
Gary Russell
a5bb4e125f DSL: Mail - Add IMAP Idle Adapter
Polish IMAP test server and update it to support IDLE.

Polishing

Polishing - Fix IMAP Server

Changes required because receiver is now initialized.
2014-08-26 16:43:14 +03:00
Gary Russell
c67320e7bc DSL: Mail Polish - Add SearchTerm (lambda) To Test 2014-08-23 09:46:34 -04:00
Gary Russell
89cb4e137d DSL: Mail Inbound Adapters
Add POP3 Server for Tests

Polishing; PR Comments; IMAP4 Server
2014-08-23 10:42:15 +03:00
Gary Russell
ba4f52d59c DSL: Mail namespace & MailSendingMessageHandler
DSL:Add SMTP Mail Server

Polishing - PR Comments

DSL: Mail: add `PropertiesConfigurer` lambda

* Move `IntegrationFlowTests` to the `flows` package to avoid cross scanning for components
* Make `MailTests` as integration test and move `Mail.outboundAdapter` to the `IntegrationFlow` `@Bean` definition
2014-08-22 16:37:29 +03:00
Ilayaperumal Gopinathan
325ee9a4f3 Kafka: PP for consumer context bean
JIRA: https://jira.spring.io/browse/INTEXT-112
https://jira.spring.io/browse/INTEXT-111

 - Avoid using hardcoded bean names for consumer context
 - Remove Integer value topic streams count, instead use string value
   - This will allow placeholder values to be used for `streams` attribute
 - Set `group-id` as a bean name for consumer configuration bean only if
   the group id is specified explicitly. This will allow placeholder values
   not being used as a bean name.
 - Add test cases to verify multiple consumer configurations within the
   same consumer context.

Set consumerConfigurations as propertyValue

Better handling of consumerConfigurations

 - Add getConsumerConfiguration(String groupId) in KafkaConsumerContext
   - Fix tests
 - Add additional test case to check multi consumer contexts

Fix getConsumerConfiguration(groupId)

Polishing
2014-08-20 21:11:08 +03:00
Artem Bilan
5f4089db0a DSL-(S)FTP-Namespace-Builder-Factory
**DO NOT MERGE YET**.

There is need to provide tests on the matter.

(S)FTP Tests

* Add test cases for (s)ftp components based on embedded (S)FtpServers
* Upgrade some dependencies
* Fix bug in the `IntegrationFlowBeanPostProcessor` for the registration internal (a result of `MessageSourceSpec`) as a bean in the AC
2014-08-20 17:32:40 +03:00
Tim Ysewyn
1b1f95c004 Java DSL: Fix EnricherSpec to prevent assertions
Fixes: https://github.com/spring-projects/spring-integration-extensions/issues/101
2014-08-20 17:28:48 +03:00
Ilayaperumal Gopinathan
501209384b Make ConsumerContext disposable
- This will allow shutting down the consumer connector for the consumer
configuration when the associated context no longer exists.
2014-08-19 13:11:07 +03:00
Artem Bilan
4b5ba00536 Kafka-GH-92: Allow PP for the <topic-filter>
Fixes https://github.com/spring-projects/spring-integration-extensions/issues/92
2014-08-19 13:07:54 +03:00
Rob Harrop
d06e8cbec3 AWS: Updated to spring-integration to 4.0.3
Made the corresponding API changes.

Had to update jacoco to latest (0.7.1.blah) to get the tests to work correctly on OSX Java 8

Fixed JavaDoc errors show up by the Java 8 linter. Build passes

Bringing dependencies inline with Spring 4.0.6

Updated mockito to 1.9.5

Updated Hamcrest to 1.3

Updated aws-sdk to 1.8.7

Merge branch 'master' into integration-4.0

Reformatted gradle file inline with the existing standard

Switch back to using the milestone repo

Upgrade Gradle version to 1.12

Updated the schema references to use un-versioned refs

Updated author tags and copyright dates

AWS: SI-4.0 Polishing
2014-08-15 12:27:56 +03:00
Artem Bilan
8cc38bc1b7 DSL: Add File. Namespace Builder Factory
* Introduce `ComponentsRegistration` *marker* to extract internal components from the `IntegrationComponentSpec` to be registered as bean in the application context
* Add `ConsumerEndpointSpec#order(int order)` for the `order` of target `AbstractMessageHandler`
* Fix `AggregatorSpec` to use `DefaultAggregatingMessageGroupProcessor` by default
* Fix `IntegrationFlowBeanPostProcessor#generateBeanName` to check if `instance instanceof NamedComponent` and its `beanName` has been configured
using `IntegrationComponentSpec#id`
2014-08-13 13:50:09 +03:00
Gunnar Hillert
c9348c66f0 Splunk next development version 1.2.0.BUILD-SNAPSHOT 2014-07-24 11:53:39 -04:00