关闭 ResultSet 和 Statement 资源(datastax,无 close() 方法)
Close ResultSet and Statement resources (datastax, no close() method)
你好世界!
我在尝试关闭一些 datastax 资源(Statement、ResultSet)时遇到了麻烦。
Sonar 在我使用完这些资源后大喊我关闭它们。
(有关信息,在我使用此 myMethod() 后,我调用了 System.exit(0))无论如何,我想根据 Sonar
session.close() 是不够的,因为它似乎让 Statement 和 ResultSet.
/!\ ResultSet 和 Statement 来自 com.datastax.com.driver 并且它们不存在这些 close() 方法。 (不同于 java.sql)
我认为 session.getCluster.close() 可以,但我不想关闭集群。
正确关闭这些资源的正确方法是什么?
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
import com.datastax.driver.core.Statement;
public void myMethod() {
Statement statement = session.prepare("select * from .....").bind();
ResultSet rs = session.execute(statement);
// doSomethingWithThisResultSet() ...
session.close();
}
在此先感谢您的帮助!
ResultSet 不是 "linked" 连接或任何其他需要关闭的资源。它由一个数组支持。参见: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
Statement只包含Statement ID,所以你不需要关闭它。
你好世界!
我在尝试关闭一些 datastax 资源(Statement、ResultSet)时遇到了麻烦。 Sonar 在我使用完这些资源后大喊我关闭它们。
(有关信息,在我使用此 myMethod() 后,我调用了 System.exit(0))无论如何,我想根据 Sonar
session.close() 是不够的,因为它似乎让 Statement 和 ResultSet.
/!\ ResultSet 和 Statement 来自 com.datastax.com.driver 并且它们不存在这些 close() 方法。 (不同于 java.sql)
我认为 session.getCluster.close() 可以,但我不想关闭集群。
正确关闭这些资源的正确方法是什么?
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
import com.datastax.driver.core.Statement;
public void myMethod() {
Statement statement = session.prepare("select * from .....").bind();
ResultSet rs = session.execute(statement);
// doSomethingWithThisResultSet() ...
session.close();
}
在此先感谢您的帮助!
ResultSet 不是 "linked" 连接或任何其他需要关闭的资源。它由一个数组支持。参见: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
Statement只包含Statement ID,所以你不需要关闭它。