关闭ResultSet和Statement资源(datastax,no close()方法)

时间:2015-09-28 09:39:29

标签: java sonarqube datastax datastax-java-driver

Hello World!

我在尝试关闭一些数据共享资源(Statement,ResultSet)时遇到了麻烦。 在我使用Sonar之后,Sonar正在大喊大叫关闭这些资源。

(关于我使用myMethod()之后的信息,我称之为 System.exit(0))Bu无论如何,我想根据声纳来做这个

session.close()是不够的,因为它似乎让Statement和ResultSet。

/!\ ResultSet和Statement来自com.datastax.com.driver,并且这些close()方法不存在。 (与java.sql不同)

我认为session.getCluster.close()会这样做,但我不想关闭群集。

正确关闭这些资源的正确方法是什么?

node.append("circle")
    .attr("r", function(d) {
        return nodeRadius;
    })
    .style("fill", "steelblue")
    .attr("class", "nodeCircle")
    .style("opacity", function(d) {
        return d.match;
    })
    .attr("id", function(d) {
        return d.id;
    })
    .on("click", function() {
        var neighbors = getNeighbours(this.id);
        d3.select('#' + this.id).style('fill', 'red');
        d3.select('#' + this.id).style('opacity', 1);
        d3.selectAll('.nodeCircle').transition().style('opacity', function() {
            var itrCircle = this;
            return (neighbors.indexOf(itrCircle.id) === -1) ? itrCircle.style.opacity : 1;
        });
        d3.selectAll('.nodeCircle').transition().style('fill', function() {
            var itrCircle = this;
            return (neighbors.indexOf(itrCircle.id) === -1) ? itrCircle.style.fill : 'red';
        });
    });

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:9)

ResultSet不是"链接"连接或任何其他需要关闭的资源。它由数组支持。请参阅:https://github.com/datastax/java-driver/blob/2.1/driver-core/src/main/java/com/datastax/driver/core/ArrayBackedResultSet.java

信用:https://groups.google.com/a/lists.datastax.com/forum/#!topic/java-driver-user/yjDP1xeYyYM

语句仅包含语句ID,因此您也不需要关闭它。