restmirthmirth-connect

Mirth Connect Multiple HTTP Listeners Channels on One Port?


Can I have multiple mirth HTTP Listeners channels running on the same port but differentiated by name/url. For example:

https://healthcare.org:443/api/GetPatient

https://healthcare.org:443/api/GetReport

Is that possible in some way or should i have to use a separate port for each channel?


Solution

  • You can, but only if they are listening on different network interfaces. In the default case where a channel is listening on all interfaces (0.0.0.0), then the answer would be no unfortunately.

    However, you could use an upstream HTTP Listener channel that just forwards to downstream channels based on the context path (which is available in the source map). For best practices there, I'd suggest increasing the Max Processing Threads on the upstream channel (and possibly on the downstream channels too, if you want multiple requests for a particular context path to process simultaneously). You could use a single Channel Writer with a dynamic variable for the target channel ID, or you could use multiple Channel Writer destinations in conjunction with Destination Set Filtering in the source transformer. Check out the user guide for more info.