Commit Graph

13 Commits

Author SHA1 Message Date
Artem Bilan
22cdc43da0 Upgrade to Debezium 3.0.2
Fixes: https://github.com/spring-projects/spring-integration/pull/9651

* Use latest `debezium/example-mysql:3.0.0.Final` Docker image
* Fix `DebeziumBatchTests` for initial DB initialization events:
apparently new Debezium (even if it is a patch version)
does not populate headers for those events
2024-11-19 09:41:58 -05:00
Artem Bilan
68843362d8 Use random positive int for Debezium database.server.id connector prop 2024-07-16 14:16:58 -04:00
Artem Bilan
c4ec7d5f22 Increase timeout in Debezium tests 2024-07-16 13:43:44 -04:00
Artem Bilan
eac8c31a1d Attempt to fix Debezium tests 2024-07-16 13:35:15 -04:00
Artem Bilan
c155d5d418 Add EmptyLineSeparator Checkstyle rule
* Support "blank lines around" via `spring-framework.xml` IDEA config
* Fix all the Checkstyle violations
2024-03-27 16:54:25 -04:00
Artem Bilan
23c792e11b Start version 6.3.0
* Upgrade supported dependencies to their latest versions or `alpha`, `RC`
* Migrate to `com.github.spotbugs` plugin
* Upgrade to GraalVM `23.1.1`, which includes `org.graalvm.polyglot:js` migration
* Remove `spring-integration-security` module
* Fix Debezium tests according to the latest changes in the Debezium library
* Fix deprecations and incompatibility for latest Smack and Spring AMQP
2023-12-21 17:39:34 -05:00
abilan
656281e74a Use MySQLContainer for Debezium Testcontainer 2023-06-15 11:58:33 -04:00
abilan
66e935f92e Fix graphql.adoc and optimize Debezium tests
* Fix some typos and update to the actual types in the `graphql.adoc`
* Don't use `@Container` in the `DebeziumMySqlTestContainer`,
but rather start it manually in the `@BeforeAll` and let one container
to survive between tests.
The Ryuk container then takes care about other containers on JVM exist
2023-06-14 14:13:18 -04:00
Artem Bilan
a862692546 Executor instead of ThreadFactory for DebeziumMP
Related to https://github.com/spring-projects/spring-integration/issues/8642

For consistency with other Spring requirements and realignment with virtual threads,
it is better to require a `TaskExecutor` injection instead of `ThreadFactory`

* Fix `DebeziumMessageProducer` to rely on a `TaskExecutor` API instead of `ThreadFactory`
and `ExecutorService`

* * Remove unused import from the `DebeziumMessageProducerSpec`
2023-06-13 16:06:37 -04:00
abilan
9752229cd1 Use UUID in Debezium tests for unique ids 2023-06-08 12:30:13 -04:00
abilan
e9f7780e84 Fix race condition in DebeziumMessProducerTests
The `then(debeziumEngineMock).should().run()` cannot be just checked
after `debeziumMessageProducer.start()`: the `DebeziumEngine` is really
started on a separate thread.

* Check for a `run()` interaction with the mock already after calling
`debeziumMessageProducer.stop()`.
The `stop()` waits for an internal `latch` which is fulfilled when
`DebeziumEngine` exists from its `run()` cycle
* Rename `DebeziumMessageProducer.latch` to `lifecycleLatch` to give it
more sense.
2023-06-07 13:55:11 -04:00
Christian Tzolov
c9023d114b GH-8632: Add DSL for Debezium module
Fixes https://github.com/spring-projects/spring-integration/issues/8632

* Debezium DSL initial support
* additional dsl debezium factory
* debezium dsl improvements and tests
* impove debezium docs and streamline dsl testing
* docs clarifications
* fix doc cross-reference
* updgrade debezium to 2.2.1.Final. Clean docs
* fix multiflow config tests
* improve batch tests
* Code and doc formatting
* Make `name` Debezium property as random according to its docs:
```
Unique name for the connector.
Attempting to register again with the same name fails.
This property is required by all Kafka Connect connectors.
```
* Code style clean up
2023-06-02 11:07:22 -04:00
Christian Tzolov
8b004e9ec2 GH-3779: Add Debezium Channel Adapter
Fixes https://github.com/spring-projects/spring-integration/issues/3779

initial debezium doc
address some reviews
resolve some classpath conflicts
hacking failed test
fixing tests and dependecies
address review comments
improve test coverage
fix test checkstyle
remove kafak references. hit support for batch
improve java doc
Initial batch support

 Convert the list of Change events into list of Messages.
 Use the same rules for buidling messages as the non-batch mode.

Refine batch implementation and tests
harden the testcontainers start/stop lifecycle
simplify batch mode
adjust test log config
clean gradle config
Add  `HeaderMapper` filter configuration. Fix JavaDocs
Use `CustomizableThreadFactory` for Exec Service. IT header tests
more debeizum documentation
Remove external Executor support in favor of configurable ThreadFactory
minor `Threadfactory` naming fix
fix support package structure
* Clean up code style and language typos
2023-05-23 16:50:16 -04:00