pjfanning opened a new pull request, #659: URL: https://github.com/apache/pekko-projection/pull/659
### Motivation Creating a `GrpcReadJournal` with programmatic `GrpcQuerySettings` (for example a stream id chosen at runtime) required building the `GrpcClientSettings` by hand, even when the client configuration in `pekko.projection.grpc.consumer.client` was fine. ### Modification Port of akka/akka-projection#998 (Akka Projection 1.5.0, now Apache 2.0 licensed after its 2026-10-25 change date): - `scaladsl.GrpcReadJournal(settings, protobufDescriptors)` - `javadsl.GrpcReadJournal.create(system, settings, protobufDescriptors)` Both take the query settings explicitly and read client settings from `pekko.projection.grpc.consumer.client`. The descriptor-only factories now delegate to them. The Scaladoc says where the client configuration comes from. ### Result Scala and Java users can pass `GrpcQuerySettings` without also building `GrpcClientSettings`. ### Tests - `sbt "grpc-test/Test/testOnly org.apache.pekko.projection.grpc.consumer.GrpcReadJournalFactorySpec"`: 3 passed. The new spec asserts that the explicit settings' `streamId` is used rather than the configured one. `ConsumerCompileTest.java` covers the Java overload. - No failing pre-fix state: this is new API, so the test does not compile without it. - MiMa: not applicable. `MimaPlugin` is disabled for `grpc` (new in 2.0.0), and the change is additive. - `scalafmt --mode diff-ref=upstream/main`, `sbt "grpc-test/Test/javafmt"` (JDK 17), whitespace diff check ### References Refs akka/akka-projection#998 (https://github.com/akka/akka-projection/pull/998) - source of the ported code -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
