96 lines
4.5 KiB
Plaintext
96 lines
4.5 KiB
Plaintext
= Spring for Apache Pulsar
|
|
:docs: https://docs.spring.io/spring-pulsar/docs/current-SNAPSHOT/reference
|
|
:github: https://github.com/spring-projects-experimental/spring-pulsar
|
|
|
|
Spring Pulsar provides a basic Spring-friendly API for developing https://pulsar.apache.org/[Apache Pulsar] applications.
|
|
|
|
**#TIP#**: Most of the ideas in this project are borrowed from the Spring for Apache Kafka project, thus a familiarity with it would help.
|
|
|
|
== Getting Started
|
|
The {docs}/html/[reference documentation] includes a {docs}/html/#quick-tourhtml[quick tour] section.
|
|
|
|
== Getting Help
|
|
Are you having trouble with Spring Pulsar? We want to help!
|
|
|
|
* Check the {docs}/html/[reference documentation]
|
|
* Learn the Spring basics -- Spring Pulsar builds on many other Spring projects; check the https://spring.io[spring.io] website for a wealth of reference documentation.
|
|
If you are new to Spring, try one of the https://spring.io/guides[guides].
|
|
// TODO (NYI): * If you are upgrading, read the {github}/wiki[release notes] for upgrade instructions and "new and noteworthy" features.
|
|
* Ask a question -- we monitor https://stackoverflow.com[stackoverflow.com] for questions tagged with https://stackoverflow.com/tags/spring-pulsar[`spring-pulsar`].
|
|
* Report bugs with Spring Pulsar at {github}/issues[github.com/spring-projects-experimental/spring-pulsar/issues].
|
|
|
|
|
|
|
|
== Reporting Issues
|
|
Spring Pulsar uses GitHub's integrated issue tracking system to record bugs and feature requests.
|
|
If you want to raise an issue, please follow the recommendations below:
|
|
|
|
* Before you log a bug, please search the {github}/issues[issue tracker] to see if someone has already reported the problem.
|
|
* If the issue doesn't already exist, {github}/issues/new[create a new issue].
|
|
* Please provide as much information as possible with the issue report.
|
|
We like to know the Spring Pulsar version, operating system, and JVM version you're using.
|
|
* If you need to paste code or include a stack trace, use Markdown +++```+++ escapes before and after your text.
|
|
* If possible, try to create a test case or project that replicates the problem and attach it to the issue.
|
|
|
|
|
|
|
|
== Building from Source
|
|
You don't need to build from source to use Spring Pulsar (binaries in https://repo.spring.io[repo.spring.io]), but if you want to try out the latest and greatest, Spring Pulsar can be built and published to your local Maven cache using the https://docs.gradle.org/current/userguide/gradle_wrapper.html[Gradle wrapper].
|
|
You also need JDK 17.
|
|
|
|
[source,shell]
|
|
----
|
|
./gradlew publishToMavenLocal
|
|
----
|
|
|
|
This will build all jars and documentation and publish them to your local Maven cache.
|
|
It won't run any of the tests.
|
|
If you want to build everything and run tests, use the `build` task:
|
|
|
|
[source,shell]
|
|
----
|
|
./gradlew clean build
|
|
----
|
|
|
|
This will build everything and run all tests except the `PulsarFunctionAdministrationIntegrationTests` which requires the _Pulsar RabbitMQ Connector_ to be downloaded prior to running.
|
|
To download the connector (one time only) and run the integration test, add a system property to the task as follows:
|
|
|
|
[source,shell]
|
|
----
|
|
./gradlew clean build -DdownloadRabbitConnector=true
|
|
----
|
|
|
|
|
|
== Modules
|
|
There are several modules in Spring Pulsar. Here is a quick overview:
|
|
|
|
=== spring-pulsar
|
|
The main library that provides the API to access Apache Pulsar.
|
|
|
|
=== spring-pulsar-reactive
|
|
Provides the API to access Apache Pulsar using a Reactive client.
|
|
|
|
=== spring-pulsar-dependencies
|
|
Provides a Gradle https://docs.gradle.org/current/userguide/java_platform_plugin.html[java-platform] that recommends dependency versions.
|
|
|
|
=== spring-pulsar-docs
|
|
Provides reference docs and handles aggregating javadocs.
|
|
|
|
=== spring-pulsar-spring-boot-autoconfigure
|
|
Provides Spring Boot auto-configuration for Spring Pulsar.
|
|
|
|
=== spring-pulsar-spring-boot-starter
|
|
Provides a dependency descriptor that can be included in your application to easily start using Spring Pulsar in an imperative fashion.
|
|
|
|
=== spring-pulsar-reactive-spring-boot-starter
|
|
Provides a dependency descriptor that can be included in your application to easily start using Spring Pulsar in Reactive and imperative fashions.
|
|
|
|
=== spring-pulsar-spring-cloud-stream-binder
|
|
Provides a Spring Cloud Stream Binder implementation for Apache Pulsar.
|
|
|
|
=== spring-pulsar-sample-apps
|
|
Provides sample applications to illustrate Spring Pulsar functionality as well as provide ability for quick manual verification during development.
|
|
|
|
== License
|
|
Spring Pulsar is Open Source software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].
|