[
https://issues.apache.org/jira/browse/LOG4J2-1922?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114019#comment-16114019
]
Kohei Tamura commented on LOG4J2-1922:
--------------------------------------
TcpSocketServer couldn't be started with _-p 1111_ option. How do I set port
number?
{noformat}
Exception in thread "main"
java.lang.annotation.AnnotationTypeMismatchException: Incorrectly typed data
found for annotation element public abstract java.lang.Class[]
com.beust.jcommander.Parameter.validateWith() (Found data of type class
java.lang.Class[class com.beust.jcommander.validators.PositiveInteger])
at
sun.reflect.annotation.AnnotationTypeMismatchExceptionProxy.generateException(Unknown
Source)
at sun.reflect.annotation.AnnotationInvocationHandler.invoke(Unknown
Source)
at com.sun.proxy.$Proxy1.validateWith(Unknown Source)
at
com.beust.jcommander.WrappedParameter.validateWith(WrappedParameter.java:55)
at
com.beust.jcommander.ParameterDescription.validateParameter(ParameterDescription.java:330)
at
com.beust.jcommander.ParameterDescription.addValue(ParameterDescription.java:233)
at
com.beust.jcommander.JCommander.processFixedArity(JCommander.java:895)
at
com.beust.jcommander.JCommander.processFixedArity(JCommander.java:870)
at com.beust.jcommander.JCommander.parseValues(JCommander.java:721)
at com.beust.jcommander.JCommander.parse(JCommander.java:340)
at com.beust.jcommander.JCommander.parse(JCommander.java:319)
at
org.apache.logging.log4j.core.util.BasicCommandLineArguments.parseCommandLine(BasicCommandLineArguments.java:29)
at
org.apache.logging.log4j.server.TcpSocketServer.main(TcpSocketServer.java:262)
{noformat}
In addition, what does it mean _Default: 0_ for _Server socket port_?
{noformat}
--port, -p
Server socket port.
Default: 0
{noformat}
> SocketHandler leaks connection if EOFException is thrown
> --------------------------------------------------------
>
> Key: LOG4J2-1922
> URL: https://issues.apache.org/jira/browse/LOG4J2-1922
> Project: Log4j 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3
> Reporter: Kohei Tamura
>
> SocketHandler should close the input stream in the finally block.
> {code:title=TcpSocketServer.java|borderStyle=solid}
> /**
> * Thread that processes the events.
> */
> private class SocketHandler extends Thread {
> private final T inputStream;
> private volatile boolean shutdown = false;
> public SocketHandler(final Socket socket) throws IOException {
> this.inputStream =
> logEventInput.wrapStream(socket.getInputStream());
> }
> @Override
> public void run() {
> boolean closed = false;
> try {
> try {
> while (!shutdown) {
> logEventInput.logEvents(inputStream,
> TcpSocketServer.this);
> }
> } catch (final EOFException e) {
> closed = true;
> } catch (final OptionalDataException e) {
> logger.error("OptionalDataException eof=" + e.eof + "
> length=" + e.length, e);
> } catch (final IOException e) {
> logger.error("IOException encountered while reading from
> socket", e);
> }
> if (!closed) {
> try {
> inputStream.close();
> } catch (final Exception ex) {
> // Ignore the exception;
> }
> }
> } finally {
> handlers.remove(Long.valueOf(getId()));
> }
> }
> public void shutdown() {
> this.shutdown = true;
> interrupt();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)