If kafka truststore and keystore locations are not local files, then they
are converted to org.springframework.core.io.Resource resources, then copied
to local file system. This means that, paths can be defined as HTTP resources too.
Currently, the Kafka binder only supports CLASSPATH based resources. It would be
useful if we can support non-CLASSPATH like resources such as HTTP, so that if an
application uses config server for example to store certificates, then those will
be copied from it's HTTP endpoint to the local filesystem as Resources.
Checkstyle, documentation fixes.
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2761
There was a regression introduced in Spring Cloud Function where consumers
of type Consumer<Message<?>> receive null values when tombstone records
are given as KafkaNull.
See this issue for more details: https://github.com/spring-cloud/spring-cloud-function/issues/1060
Regression is addressed in Spring Cloud Function and
making the corresponding test changes in Spring Cloud Stream Kafka binder.
- Insted of unconditionally initializing KafkaJaasLoginModuleInitializer,
only create it, if jaas properties are set properly. By creating it always,
we unncessarily expose Java security related class requirements to the binder
apps. For e.g. if the underlying JVM security classes change and require
reflection, that could break AOT apps that don't use a secure Kafka cluster.
Fixing these type of issues by creating KafkaJaasLoginModuleInitializer only if required.
* Added example to identify Kafka error
* removed implementation and added doc links and added bean example
* changed doc link to the official doc
* Added custom message in the down status of the actuator
When sendto header is used for dynamic destinations
and a partition key extractor is given for binder based
partitioning, then the partition key extractor is not invoked
when publishing the message. Addressing this issue.
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2770
- Before running a test, invalidate any existing JVM-wide static
security configuration so that tests are forced to create/use
fresh security configuration. Without this, test suites with
multiple security tests might fail as they might overlap with
security confugiruation from other tests.
* Format Schema Registry Server documentation
Use backtick for formatting API operations
* Fix the url of Schema Registry Server in doc
* Fix the artifact of Schema Registry Server in doc
Embeddable artifact name is
`spring-cloud-stream-schema-registry-core` now
* Reactor Kafka Binder Health Indicator
- Provide a new abstraction for general Kafka binder related HealthIndicators.
- Refactor Kafka binder to use the new abstraction
- Add HealthIndicator implementation for the ReactorKafkaBinder
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2752
* Addressing PR review
* Addressing PR review
* Addressing PR review
- In StreamBridge send method, there is a path, in which it
tries to find the partition information twice, causing it
to throw errors when using patition key expresson that
involves the payload. This is because, the second time it
tries to find the partition, the payload is already converted
into byte[]. This second partition finding is unncessary.
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2759