springwolf / springwolf-core

Automated documentation for event-driven applications built with Spring Boot
https://www.springwolf.dev
Apache License 2.0
253 stars 77 forks source link

JMS support for Spring wolf. #173

Closed sajeeshkumar closed 11 months ago

sajeeshkumar commented 1 year ago

Many organization use JMS protocol to interface with message queues brokers like IBM WMB, Apache ActiveMQ or Artemis, Tibco etc.

timonback commented 1 year ago

Hi @sajeeshkumar Can you be more specific what is missing for you?

We support autodetection of RabbitMQ listeners as stated in the docs: https://springwolf.github.io/docs/supported-protocols You also have the option to manually document consumers and publishers through the AsyncSubscriber and AsyncPublisher annotation.

sajeeshkumar commented 1 year ago

RabbitMQ supports AMQP protocol.

There is another protocol JMS https://www.oracle.com/java/technologies/java-message-service.html

It is used heavily in the Java world. Spring has a listener annotation for it called as JMSListener on the lines of RabbitListener or KafkaListener

timonback commented 1 year ago

I see. You are interested in the auto-detection of methods annotated with the JmsListener annotation.

Springwolf uses plugins (more details here) to scan for protocol specific annotations. Although Jms is not a protocol, but rather an API, I can imagine it to be an own springwolf plugin.

In case anyone wants to get started on it (plugin + example project), feel free to. We are happy to assist.

To provide details about the protocol in use (anypointmq, ibmmq, jms are documented/mentioned in the asyncapi spec) via an custom annotation, a look at KafkaAsyncOperationBinding might be helpful.

timonback commented 11 months ago

Thank you for the report, the issue has been addressed in the new release with the jms plugin.

Feel free to reopen this issue if there is still something missing.