我使用SimpleDriverDataSource
和JdbcTemplate
连接到我的钻取服务器。为了使这个连接成功,我必须设置正确的jdbcUrl。问题是,我可以将钻取服务器的端口设置为任何数字,甚至大于65535,每次结果都是正确的。我不知道为什么。这是我的代码。
import org.apache.log4j.Logger;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.SimpleDriverDataSource;
import org.apache.drill.jdbc.Driver;
import java.util.List;
import java.util.Map;
public class TestDrill {
private final static Logger logger = Logger.getLogger(TestDrill.class);
public static void main(String[] args) {
Driver driver = new Driver();
String jdbcUrl = "jdbc:drill:drillbit=server1:66666,server2:66666,server3:66666";
SimpleDriverDataSource drillDs = new SimpleDriverDataSource(driver, jdbcUrl, "username", "password");
JdbcTemplate drillTemplate = new JdbcTemplate(drillDs);
try {
List<Map<String, Object>> dbs = drillTemplate.queryForList("show schemas");
logger.debug(dbs.toString());
logger.debug("show schemas succeeded");
} catch(DataAccessException e) {
logger.debug("show schemas failed");
}
}
}
P.S。如果我设置了错误的服务器主机名,查询将失败。这个是正常的。我只是不知道为什么我可以设置任何端口号,查询仍然会成功。