private void setupIoConnector() throws ConfigError, GeneralSecurityException { final CompositeIoFilterChainBuilder ioFilterChainBuilder = new CompositeIoFilterChainBuilder(userIoFilterChainBuilder); boolean hasProxy = proxyType != null && proxyPort > 0 && socketAddresses[nextSocketAddressIndex] instanceof InetSocketAddress; SSLFilter sslFilter = null; if (sslEnabled) { sslFilter = installSslFilter(ioFilterChainBuilder, !hasProxy); } ioFilterChainBuilder.addLast(FIXProtocolCodecFactory.FILTER_NAME, new ProtocolCodecFilter(new FIXProtocolCodecFactory())); IoConnector newConnector; newConnector = ProtocolFactory.createIoConnector(socketAddresses[nextSocketAddressIndex]); newConnector.setHandler(new InitiatorIoHandler(fixSession, networkingOptions, eventHandlingStrategy)); newConnector.setFilterChainBuilder(ioFilterChainBuilder); if (hasProxy) { ProxyConnector proxyConnector = ProtocolFactory.createIoProxyConnector( (SocketConnector) newConnector, (InetSocketAddress) socketAddresses[nextSocketAddressIndex], new InetSocketAddress(proxyHost, proxyPort), proxyType, proxyVersion, proxyUser, proxyPassword, proxyDomain, proxyWorkstation ); proxyConnector.setHandler(new InitiatorProxyIoHandler( new InitiatorIoHandler(fixSession, networkingOptions, eventHandlingStrategy), sslFilter )); newConnector = proxyConnector; } if (ioConnector != null) { SessionConnector.closeManagedSessionsAndDispose(ioConnector, true, log); } ioConnector = newConnector; }
private void setupIoConnector() throws ConfigError, GeneralSecurityException { final CompositeIoFilterChainBuilder ioFilterChainBuilder = new CompositeIoFilterChainBuilder(userIoFilterChainBuilder); boolean hasProxy = proxyType != null && proxyPort > 0 && socketAddresses[nextSocketAddressIndex] instanceof InetSocketAddress; SSLFilter sslFilter = null; if (sslEnabled) { sslFilter = installSslFilter(ioFilterChainBuilder, !hasProxy); } ioFilterChainBuilder.addLast(FIXProtocolCodecFactory.FILTER_NAME, new ProtocolCodecFilter(new FIXProtocolCodecFactory())); IoConnector newConnector; newConnector = ProtocolFactory.createIoConnector(socketAddresses[nextSocketAddressIndex]); newConnector.setHandler(new InitiatorIoHandler(fixSession, networkingOptions, eventHandlingStrategy)); newConnector.setFilterChainBuilder(ioFilterChainBuilder); if (hasProxy) { ProxyConnector proxyConnector = ProtocolFactory.createIoProxyConnector( (SocketConnector) newConnector, (InetSocketAddress) socketAddresses[nextSocketAddressIndex], new InetSocketAddress(proxyHost, proxyPort), proxyType, proxyVersion, proxyUser, proxyPassword, proxyDomain, proxyWorkstation ); proxyConnector.setHandler(new InitiatorProxyIoHandler( new InitiatorIoHandler(fixSession, networkingOptions, eventHandlingStrategy), sslFilter )); newConnector = proxyConnector; } if (ioConnector != null) { ioConnector.dispose(); } ioConnector = newConnector; }
private void setupIoConnector() throws ConfigError, GeneralSecurityException { final CompositeIoFilterChainBuilder ioFilterChainBuilder = new CompositeIoFilterChainBuilder(userIoFilterChainBuilder); boolean hasProxy = proxyType != null && proxyPort > 0 && socketAddresses[nextSocketAddressIndex] instanceof InetSocketAddress; SSLFilter sslFilter = null; if (sslEnabled) { sslFilter = installSslFilter(ioFilterChainBuilder, !hasProxy); } ioFilterChainBuilder.addLast(FIXProtocolCodecFactory.FILTER_NAME, new ProtocolCodecFilter(new FIXProtocolCodecFactory())); IoConnector newConnector; newConnector = ProtocolFactory.createIoConnector(socketAddresses[nextSocketAddressIndex]); newConnector.setHandler(new InitiatorIoHandler(fixSession, networkingOptions, eventHandlingStrategy)); newConnector.setFilterChainBuilder(ioFilterChainBuilder); if (hasProxy) { ProxyConnector proxyConnector = ProtocolFactory.createIoProxyConnector( (SocketConnector) newConnector, (InetSocketAddress) socketAddresses[nextSocketAddressIndex], new InetSocketAddress(proxyHost, proxyPort), proxyType, proxyVersion, proxyUser, proxyPassword, proxyDomain, proxyWorkstation ); proxyConnector.setHandler(new InitiatorProxyIoHandler( new InitiatorIoHandler(fixSession, networkingOptions, eventHandlingStrategy), sslFilter )); newConnector = proxyConnector; } if (ioConnector != null) { SessionConnector.closeManagedSessionsAndDispose(ioConnector, true, log); } ioConnector = newConnector; }