I am trying a demo app where we send commands over a UI which then goes through spring integration to deliver a command to a device and gives a command status back to UI, this is my first time using Spring Integration and am a bit unsure of the various implementations of channels. MQTT does not provide P2P direct communication, hence what channel should I use for Inbound and Outbound Adapters in my flow, PublishSubscribe or Direct?
Which Spring Integration Channel should be used for MQTT
593 views Asked by Anadi Misra At
1
There are 1 answers
Related Questions in SPRING-INTEGRATION
- Starting first job causes - Dispatcher has no subscribers for channel exception when declared multiple DirectChannels
- Azure Service Bus With Spring Integration Executor Channel Error Handling
- How does taskExecutor with Queue size set work with AcceptOnceFileListFilter filter for file input adapter
- Spring Integration JMS MessageDrivenChannelAdapter connection status
- Spring integration rotating server advice with SFTP outbound gateway
- Spring integration sftp new version upgrade issues
- Spring integration- Add check not to process inbound files older than 2 days and empty file
- JmsOutboundGateway retries to connect to mq -> GatewayReplyListenerContainer refreshConnectionUntilSuccessful (maxAttempts=unlimited)
- RequestHandlerCircuitBreakerAdvice doesn't work if somethings fail in descending Service activator
- Spring Integration and Spring Batch transaction manager collision
- Taking too long to send first message to JMS topic from Spring Integration
- Unable to process failed jobs in spring batch when using remote chunking
- Spring Integration Java DSL with Kafka
- Spring Integration nullChannel reference in Non-DSL
- Spring Integration 6.x http outbound gateway http uri variable expression not evaluating application properties
Related Questions in MQTT
- How do I publish sensor data to EMQX broker on Ubuntu from a remote Arduino (no WiFi) interfaced with SIM800L?
- What are the implications of Flask-MQTT statement, "Flask-MQTT is currently not suitable for the use with multiple worker instances?"
- How can I add a suffix to an MQTT topic
- ESP8266 - Unable to connect to MQTT Server via SSL (mutual authentication)
- paho mqtt java cannot reconnect after a long time machine sleep
- Frequent message loss with MQTT
- Block MQTT port from windows firewall
- HMI - JMobile Log while connecting with EMQX server
- Sending large files over MQTT / mosquitto - limit at 4MB
- QoS2 messages are not deleted when the limit is reached
- What makes MQTT a raw tcp connection that we can't run it in the browser?
- RabbitMQ - consume messages from a classic queue to a MQTT connection
- Tsung MQTT Loadtest not working with SSL, finding possible way to disable ssl verification during load test
- How to get my data to actually show up in the DynamoDB?
- Unable change Transport type to MQTT in thingsboard device profile
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I think you need to know more than "which channel type should I use?".
If you mean you want to send a command to the device and wait for a reply and send that reply to the browser, you need to turn an essentially asynchronous protocol into a synchronous request/reply scenario.
You would somehow need to to suspend the http request thread until the async reply from the device is received, correlate the reply to the request and release the request thread after handing over the reply to it.
You could simply do the correlation in your
@Controllerand send the replies to some other method in the controller, do the correlation there, and release the http thread.This answer has one technique for a similar use case; we are considering adding a component to the framework to make such scenarios simpler to implement.
In any case, you would use
DirectChannels to connect the components.If I have completely misunderstood your question, please clarify.