William McDonald created AMQ-5959:
-------------------------------------
Summary: NullPointerException in finally blocks
Key: AMQ-5959
URL: https://issues.apache.org/jira/browse/AMQ-5959
Project: ActiveMQ
Issue Type: Bug
Components: Broker
Affects Versions: 5.12.0, 5.8.0
Reporter: William McDonald
Priority: Minor
Try blocks including a finally block that references a potential null object
generating a NullPointerException.
In The DestinationView.sendTextMessage(java.util.Map, ...) method for example
(http://grepcode.com/file/repo1.maven.org/maven2/org.apache.activemq/activemq-broker/5.11.1/org/apache/activemq/broker/jmx/DestinationView.java#DestinationView.sendTextMessage%28java.util.Map%2Cjava.lang.String%2Cjava.lang.String%2Cjava.lang.String%29),
I noticed code like the following:
Connection connection = null;
try {
connection = cf.createConnection(userName, password);
...
return msg.getJMSMessageID();
} finally {
connection.close();
}
There is no catch block and since an exception in the createConnection method
could be thrown, connection would be null in the finally block, causing a NPE
and masking the real exception.
There may be other forms of this bad style which a code style checker should be
able to locate for you.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)