Yeah, but if the server is never up, the array will keep on growing... Gary
On Wed, Aug 31, 2016 at 4:47 PM, Remko Popma <[email protected]> wrote: > (Without looking at the code) I vaguely remember that class has a > reconnect mechanism. Is the ByteArrayOutputStream used during the reconnect? > > Sent from my iPhone > > On 2016/09/01, at 7:16, Gary Gregory <[email protected]> wrote: > > We have this code in org.apache.logging.log4j.core.net.TcpSocketManager. > TcpSocketManagerFactory.createManager(String, FactoryData): > > @Override > public TcpSocketManager createManager(final String name, final > FactoryData data) { > > InetAddress inetAddress; > OutputStream os; > try { > inetAddress = InetAddress.getByName(data.host); > } catch (final UnknownHostException ex) { > LOGGER.error("Could not find address of " + data.host, ex, > ex); > return null; > } > try { > // LOG4J2-1042 > final Socket socket = new Socket(); > socket.connect(new InetSocketAddress(data.host, > data.port), data.connectTimeoutMillis); > os = socket.getOutputStream(); > return new TcpSocketManager(name, os, socket, inetAddress, > data.host, data.port, > data.connectTimeoutMillis, data.delayMillis, > data.immediateFail, data.layout); > } catch (final IOException ex) { > LOGGER.error("TcpSocketManager (" + name + ") " + ex, ex); > os = new ByteArrayOutputStream(); > } > if (data.delayMillis == 0) { > return null; > } > return new TcpSocketManager(name, os, null, inetAddress, > data.host, data.port, data.connectTimeoutMillis, > data.delayMillis, data.immediateFail, data.layout); > } > > Notice: > > LOGGER.error("TcpSocketManager (" + name + ") " + ex, ex); > os = new ByteArrayOutputStream(); > > What is the point of that? It creates an unbound stream in RAM, creating > one problem while dealing with another. > > I think it would be better to not create the manager at all. > > Thoughts? > > Gary > > -- > E-Mail: [email protected] | [email protected] > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory > > -- E-Mail: [email protected] | [email protected] Java Persistence with Hibernate, Second Edition <http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory
