You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 6, 2018. It is now read-only.
it'd be great if we could support clients subscribing to destinations using a HTTP POST to some endpoint. So a regular REST endpoint could subscribe to a destination's messages using annotations on the pod.
This would make it easy for developers to write simple REST endpoints which can work with reliable messaging.
Then the gateway (or some other microservice) would consume on the pods behalf and when a message is received, it would invoke the REST endpoint after converting the message to the given payload and HTTP headers. e.g. convert the payload to JSON / YAML / XML and convert the JMS headers into HTTP headers. Then if the REST endpoint returns a 2XX code that acts as an ACK, otherwise the request is retried up to the usual retry policy.
Note that the REST services should ideally use idempotency as there is the chance of duplicates if the message gateway were to fail after the REST service returns a 2XX and before the message is acked; or the REST service fails after sending a 2XX code before the gateway sees the response.
Note that it might be easiest to implement this generically using Camel like this: fabric8io/fabric8#5762
The text was updated successfully, but these errors were encountered:
gonna mark this as closed as we can use a funktion subscription for this now and include the resource with the HTTP based application; or deploy it separately if required.
it'd be great if we could support clients subscribing to destinations using a HTTP POST to some endpoint. So a regular REST endpoint could subscribe to a destination's messages using annotations on the pod.
This would make it easy for developers to write simple REST endpoints which can work with reliable messaging.
Then the gateway (or some other microservice) would consume on the pods behalf and when a message is received, it would invoke the REST endpoint after converting the message to the given payload and HTTP headers. e.g. convert the payload to JSON / YAML / XML and convert the JMS headers into HTTP headers. Then if the REST endpoint returns a 2XX code that acts as an ACK, otherwise the request is retried up to the usual retry policy.
Note that the REST services should ideally use idempotency as there is the chance of duplicates if the message gateway were to fail after the REST service returns a 2XX and before the message is acked; or the REST service fails after sending a 2XX code before the gateway sees the response.
Note that it might be easiest to implement this generically using Camel like this:
fabric8io/fabric8#5762
The text was updated successfully, but these errors were encountered: