JVM-friendly bindings for AsyncAPI. It allows you to read or write specifications for your asynchronous API through code
Hints:
Version | Implementation status |
---|---|
2.0.0 | ✅ |
2.1.0 | ❌ |
2.2.0 | ❌ |
2.3.0 | ❌ |
2.4.0 | ❌ |
2.5.0 | ❌ |
2.6.0 | ✅ |
3.0.0 | ✅ |
Protocol | Versions |
---|---|
AsyncAPI Multi Format Schema | 3.0.0 |
AsyncAPI Schema | unified version |
Avro Schema | 1.9.0, 1.9.1, 1.9.2, 1.10.0, 1.10.1, 1.10.2, 1.11.0, 1.11.1 |
Json Schema | Draft-07 |
OpenAPI Schema | 3.0.0, 3.0.1, 3.0.2, 3.0.3 |
RAML 1.0 Schema | ❌ |
Protocol Buffers | ❌ |
Protocol | Versions |
---|---|
AMQP | 0.1.0, 0.2.0, 0.3.0 |
AMQP1 | 0.1.0 |
Anypoint MQ | 0.1.0 |
Google Cloud Pub/Sub | 0.1.0, 0.2.0 |
HTTP | 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0 |
IBM MQ | 0.1.0 |
JMS | 0.0.1 |
Apache Kafka | 0.1.0, 0.3.0, 0.4.0, 0.5.0 |
Mercure | 0.1.0 |
MQTT | 0.1.0, 0.2.0 |
MQTT 5 | 0.1.0, 0.2.0 |
NATS | 0.1.0 |
Apache Pulsar | 0.1.0 |
Redis | 0.1.0 |
Amazon SNS | 0.1.0 |
Solace | 0.1.0, 0.2.0, 0.3.0, 0.4.0 |
Amazon SQS | 0.1.0, 0.2.0 |
STOMP | 0.1.0 |
WebSockets | 0.1.0 |
Security Schema | Implementation status |
---|---|
API Key | ✅ |
Asymmetric Encryption | ✅ |
GSS-API | ✅ |
HTTP | ✅ |
HTTP API Key | ✅ |
OAuth2 | ✅ |
OpenID Connect | ✅ |
Plain | ✅ |
SCRAM-SHA-256 | ✅ |
SCRAM-SHA-512 | ✅ |
Symmetric Encryption | ✅ |
User Password | ✅ |
If you are using SDKMAN! use env to prepare environment
sdk env install
Each build is GPG signed. To avoid this, and to not configure GPG locally, you can use this command:
mvn clean install -Dgpg.skip
/Users/{userName}/.m2/settings.xml
<settings>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.keyname>GPG key name</gpg.keyname>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>GPG passphrase for selected key</gpg.passphrase>
<gpg.homedir>/Users/{userName}/.gnupg</gpg.homedir>
</properties>
</profile>
</profiles>
<servers>
<server>
<id>ossrh</id>
<username>Jira username</username>
<password>Jira password</password>
</server>
</servers>
</settings>
Release
mvn clean deploy -P release
references: