refactor: replace projection reflective access with handles

Motivation:
Reduce direct reflection in projection tests and gRPC internals while preserving existing runtime behavior.

Modification:
Use MethodHandles for H2 driver class lookup and initialization, protobuf parser access, and Scala companion construction paths.

Result:
Projection dynamic access paths avoid Class.forName and reflective invocation in the touched modules.
8 files changed
tree: ae9c7169a708c96100152a8c732bbab23230f664
  1. .github/
  2. cassandra/
  3. cassandra-test/
  4. core/
  5. core-test/
  6. docker-files/
  7. docs/
  8. durable-state/
  9. eventsourced/
  10. examples/
  11. grpc/
  12. grpc-int-test/
  13. grpc-test/
  14. integration-examples/
  15. jdbc/
  16. jdbc-int-test/
  17. kafka/
  18. kafka-test/
  19. project/
  20. r2dbc/
  21. r2dbc-int-test/
  22. scripts/
  23. slick/
  24. slick-int-test/
  25. testkit/
  26. .asf.yaml
  27. .git-blame-ignore-revs
  28. .gitignore
  29. .sbtopts
  30. .scala-steward.conf
  31. .scalafmt.conf
  32. AGENTS.md
  33. build.sbt
  34. CHANGELOG.md
  35. CLAUDE.md
  36. container-license-acceptance.txt
  37. docker-compose.yml
  38. LICENSE
  39. NOTICE
  40. README.md
README.md

Apache Pekko Projections

Apache Pekko Projections provides an abstraction for consuming a stream of Envelope (where Envelope contains a payload and a trackable offset). This streams can originate from persisted events, Kafka topics, or other Apache Pekko connectors.

Apache Pekko Projections also provides tools to track, restart and distribute these projections.

Documentation

Apache Pekko Projections are documented at https://pekko.apache.org/docs/pekko-projection/current/.

To keep up with the latest releases check out Pekko Projections releases.

Community

You can join these forums and chats to discuss and ask Pekko and Pekko connector related questions:

  • GitHub discussions: for questions and general discussion.
  • Pekko users mailing list: for Pekko usage discussions.
  • Pekko dev mailing list: for Pekko development discussions.
  • GitHub issues: for bug reports and feature requests. Please search the existing issues before creating new ones. If you are unsure whether you have found a bug, consider asking in GitHub discussions or the mailing list first.

Contributing

Contributions are very welcome. If you have an idea on how to improve Pekko, don't hesitate to create an issue or submit a pull request.

License

Apache Pekko Projections is available under the Apache License, version 2.0. See LICENSE file for details.