stsiano commented on issue #32: QPIDJMS-441: add proxy support URL: https://github.com/apache/qpid-jms/pull/32#issuecomment-545283868 If you look into the actual productive coding in the pull request, you will see that it actually doesn't contain any code changes that can go wrong locally. The code actually allows you to set a ProxyHandler in an extension of the JmsConnectionFactory. If you do so, it will prevent name resolution within the library and set the proxy handler to the Netty Channel used for the communication with the broker. All the real coding for communicating over the proxy is in Netty (and therefore tested there). In the end there is not so much magic in the proxies, Netty will handshake with the proxy and then the proxy will forward the socket to the actual target system, the rest of the communication with the message broker is actually handled over this forwarded socket. (This is a bit simplified, the Socks5 and HTTP proxies also allow other kinds of connectivity, but qpid-jms will not use them). If the proxy is unavailable or causing errors you will have the same situation as if the network infrastructure would be broken or unavailable. I could add a test that tests that the connectivity fails if a proxy is configured but does not exist (which is essentially the same as if it is down). Robbie Gemmell wanted some integration tests in particular for Connect, TLS, and failover. In particular the failover test is a bit problematic because it contains errors and timeouts and my simple test proxy implementations might influence error handling and timing behavior. In the TravisCI build it succeeded with OpenJDK 8 and 11, but failed with the XCode 9.3 build (on my local PC it also works, so it's a bit hard to find out why it fails in this particular CI build). I could live well with only one of these integration tests (e.g. the MessageIntegrationTest to show that proxy configuration and message processing works over a proxy). @gemmellr What do you think how many integration tests should be there.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
