首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >漏洞扫描报告

漏洞扫描报告
EN

Stack Overflow用户
提问于 2021-12-07 10:27:12
回答 1查看 30关注 0票数 1
代码语言:javascript
复制
public MQTTClient(MQTTConnectionInfo conn, ConnectionMgr conmgr) throws Exception {
        try {
            clientId = conn.getClientId();
            mqttClient = ClientFactory.getConnection(conn, conmgr);
            username =conn.getUsername();
            log.info("-- inside MqttClient == While Connecting : "+username.toString() + mqttClient.getState());
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
        
    }

此资源并非在所有情况下都被正确关闭和释放。如何关闭getConnection()

EN

回答 1

Stack Overflow用户

发布于 2021-12-13 19:55:12

您可以使用在尝试或捕获之后执行的finally块:

代码语言:javascript
复制
        try {
            mqttClient = ClientFactory.getConnection(conn, conmgr);
            ...
        } catch (Exception e) {
            ...
        } finally {
            mqttClient.close();
        }

或者,如果客户端类实现了java.lang.AutoClosable,则可以使用一个try-with语句:

代码语言:javascript
复制
        try (MQTTClient mqttClient = ClientFactory.getConnection(conn, conmgr)) {
            
            mqttClient.doSomething()
        } catch (Exception e) {
            ...
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70258494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档