Skip to content

Conversation

@cppwfs
Copy link
Contributor

@cppwfs cppwfs commented Nov 20, 2025

This commit introduces a Kotlin-based implementation of the Hello World sample, demonstrating Spring Integration's Kotlin DSL capabilities. The sample includes two applications: a basic Hello World flow and a Poller application.

The implementation consists of:

  • HelloService and HelloWorldConfig using Kotlin DSL for message flows
  • PollerConfig demonstrating time-based polling with Kotlin syntax
  • Test suite with unit and integration tests
  • Maven POM with Kotlin plugin configuration
  • README with setup instructions and code examples

This commit introduces a Kotlin-based implementation
of the Hello World sample, demonstrating Spring Integration's
Kotlin DSL capabilities. The sample includes two applications:
a basic Hello World flow and a Poller application.

The implementation consists of:
- HelloService and HelloWorldConfig using Kotlin DSL for message flows
- PollerConfig demonstrating time-based polling with Kotlin syntax
- Test suite with unit and integration tests
- Maven POM with Kotlin plugin configuration
- README with setup instructions and code examples
@cppwfs cppwfs requested a review from artembilan November 20, 2025 14:54
Revise integrationFlow to be idiomatic of the Kotlin DSL
Update both Maven and Gradle build configurations to properly support
Kotlin with Spring Framework. The Kotlin Spring plugin automatically
handles making configuration classes open for proxying, eliminating the
need for manual 'open' modifiers.

Update maven generation scripts to handle kotlin plugin.
Add execution compile section so classes are included in the jar.
This can be tested via mvn clean package or to run mvn exec:java -Dexec.mainClass="org.springframework.integration.samples.helloworld.PollerApp"

Changes include:
- Add kotlin-spring and kotlin-allopen plugins to build configurations
- Remove unnecessary 'open' modifiers from @configuration classes
- Configure Kotlin Maven plugin with Spring compiler plugin
- Simplify QueueChannel initialization to use default capacity
- Update MessageProcessorMessageSource to use simpler lambda syntax
- Adjust logging configuration to reduce noise from Spring framework
* Remove un used assertJ in groovy demo
* Replace `org.jetbrains.kotlin.jvm` with `kotlin` when determining if kotlin plugin should be rended in pom.xml
@artembilan artembilan merged commit ab4a4db into spring-projects:main Nov 21, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants