Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 00A14D3BF for ; Thu, 29 Nov 2012 10:03:02 +0000 (UTC) Received: (qmail 53416 invoked by uid 500); 29 Nov 2012 10:03:01 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 53258 invoked by uid 500); 29 Nov 2012 10:03:00 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 52910 invoked by uid 99); 29 Nov 2012 10:02:59 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Nov 2012 10:02:59 +0000 Date: Thu, 29 Nov 2012 10:02:59 +0000 (UTC) From: "liugang (JIRA)" To: dev@activemq.apache.org Message-ID: <1253548688.39237.1354183379485.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (AMQ-2256) Unnecessary TcpTransportFactory NumberFormatException and warning MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-2256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13506369#comment-13506369 ] liugang commented on AMQ-2256: ------------------------------ sorry, But I found we still have some output which looks like: *[/50/data/fileIn] TcpTransportFactory WARN path isn't a valid local location for TcpTransport to use* I tested on activemq-5.7.0, it's a problem or not? Thanks. > Unnecessary TcpTransportFactory NumberFormatException and warning > ----------------------------------------------------------------- > > Key: AMQ-2256 > URL: https://issues.apache.org/jira/browse/AMQ-2256 > Project: ActiveMQ > Issue Type: Bug > Components: Transport > Affects Versions: 5.2.0 > Environment: Windows XP > Reporter: Scott Lewis > Assignee: Timothy Bish > Fix For: 5.5.0 > > > When executing TcpTransportFactory.createTransport(URI location, WireFormat wf) the following warning is incorrectly generated: > WARNING: path isn't a valid local location for TcpTransport to use > java.lang.NumberFormatException: For input string: "/exampleTopic" > at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) > at java.lang.Integer.parseInt(Integer.java:447) > at java.lang.Integer.parseInt(Integer.java:497) > at org.apache.activemq.transport.tcp.TcpTransportFactory.createTransport(TcpTransportFactory.java:125) > at org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:141) > at org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51) > at org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80) > at org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:237) > at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:252) > at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:224) > at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:172) > ... > With the topic name set to "/exampleTopic" > The code responsible for this looks like: > URI localLocation = null; > String path = location.getPath(); > // see if the path is a local URI location > if (path != null && path.length() > 0) { > int localPortIndex = path.indexOf(':'); > try { > Integer.parseInt(path.substring(localPortIndex + 1, path.length())); > String localString = location.getScheme() + ":/" + path; > localLocation = new URI(localString); > } catch (Exception e) { > LOG.warn("path isn't a valid local location for TcpTransport to use", e); > } > } > SocketFactory socketFactory = createSocketFactory(); > return createTcpTransport(wf, socketFactory, location, localLocation); > } > The problem seems to be that for the path="/exampleTopic", the following line: > int localPortIndex = path.indexOf(':'); > returns -1 (no colon and no port specified in path > and the subsequent line: > Integer.parseInt(path.substring(localPortIndex + 1, path.length())); > > generates the NumberFormatException (because the path does not have any integer). > It seems that perhaps there should be some test like: > if (localPortIndex != -1) { > ... > } > I will create a patch if desired. Just LMK. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira