我在尝试关闭一些数据共享资源(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';
});
});
提前感谢您的帮助!
答案 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,因此您也不需要关闭它。