Hello, I have an issue that I'm trying to solve in Camel, and I need some ideas on how to structure the routes and connectors to get things to happen.
We are connecting to a button/light device to send commands to light the light, while at the same time receiving messages that indicate the button was pressed. This is bidirectional communication on a single tcp socket initiated by the client (camel). Depending on the device manufacturer, the messages may require acknowledgement message back to sender for all messages sent. The socket connector would need to be able to send messages to light the device that are triggered by other camel routes, and at the same time be able to respond to incoming messages from the device and process the button-press event. So it seems that the connector needs to be an inbound connector and an outbound connector at the same time. To further complicate matters, there's obviously a race condition when each side simultaneously sends a message and expects an ACK before moving on, which would need to be managed by the connector(s). Typically the device manufacturer expects that it will win every race. Has anyone solved this sort of problem before? Can you point me to examples or give me an idea of what pieces I'm going to have to develop myself and what components I can use to build the route(s)? --carl