Skip to content

Commit 01f6d3c

Browse files
author
石源
committed
support connectionProperties for JDBC
1 parent 81be150 commit 01f6d3c

File tree

4 files changed

+26
-9
lines changed

4 files changed

+26
-9
lines changed

pom.xml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.nlpcn</groupId>
55
<artifactId>elasticsearch-sql</artifactId>
6-
<version>6.2.4.3</version>
6+
<version>6.2.4.4</version>
77
<packaging>jar</packaging>
88
<description>Query elasticsearch using SQL</description>
99
<name>elasticsearch-sql</name>
@@ -49,6 +49,18 @@
4949
<elasticsearch.plugin.classname>org.elasticsearch.plugin.nlpcn.SqlPlug</elasticsearch.plugin.classname>
5050
</properties>
5151

52+
<repositories>
53+
<repository>
54+
<id>elasticsearch-releases</id>
55+
<url>https://artifacts.elastic.co/maven</url>
56+
<releases>
57+
<enabled>true</enabled>
58+
</releases>
59+
<snapshots>
60+
<enabled>false</enabled>
61+
</snapshots>
62+
</repository>
63+
</repositories>
5264

5365
<dependencies>
5466
<dependency>
@@ -99,7 +111,7 @@
99111

100112
<dependency>
101113
<groupId>org.elasticsearch.client</groupId>
102-
<artifactId>transport</artifactId>
114+
<artifactId>x-pack-transport</artifactId>
103115
<version>${elasticsearch.version}</version>
104116
<scope>provided</scope>
105117
</dependency>

src/main/java/com/alibaba/druid/pool/ElasticSearchConnection.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import org.elasticsearch.client.transport.TransportClient;
55
import org.elasticsearch.common.settings.Settings;
66
import org.elasticsearch.common.transport.TransportAddress;
7-
import org.elasticsearch.transport.client.PreBuiltTransportClient;
7+
import org.elasticsearch.xpack.client.PreBuiltXPackTransportClient;
88

99
import java.io.InputStream;
1010
import java.io.Reader;
@@ -24,12 +24,13 @@ public class ElasticSearchConnection implements Connection {
2424

2525
private Client client;
2626

27-
public ElasticSearchConnection(String jdbcUrl) {
27+
public ElasticSearchConnection(String jdbcUrl, Properties info) {
2828

29-
30-
Settings settings = Settings.builder().put("client.transport.ignore_cluster_name", true).build();
29+
Settings.Builder builder = Settings.builder();
30+
info.forEach((k, v) -> builder.put(k.toString(), v.toString()));
31+
Settings settings = builder.build();
3132
try {
32-
TransportClient transportClient = new PreBuiltTransportClient(settings);
33+
TransportClient transportClient = new PreBuiltXPackTransportClient(settings);
3334

3435
String hostAndPortArrayStr = jdbcUrl.split("/")[2];
3536
String[] hostAndPortArray = hostAndPortArrayStr.split(",");

src/main/java/com/alibaba/druid/pool/ElasticSearchDruidDataSource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,7 @@ public Connection createPhysicalConnection() throws SQLException {
655655

656656
@Override
657657
public Connection createPhysicalConnection(String url, Properties info) throws SQLException {
658-
Connection conn = new ElasticSearchConnection(url);
658+
Connection conn = new ElasticSearchConnection(url, info);
659659
createCount.incrementAndGet();
660660

661661
return conn;

src/test/java/org/nlpcn/es4sql/JDBCTests.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,18 @@
1212
import java.util.List;
1313
import java.util.Properties;
1414

15+
import static com.alibaba.druid.pool.DruidDataSourceFactory.PROP_CONNECTIONPROPERTIES;
16+
import static com.alibaba.druid.pool.DruidDataSourceFactory.PROP_URL;
17+
1518
/**
1619
* Created by allwefantasy on 8/26/16.
1720
*/
1821
public class JDBCTests {
1922
@Test
2023
public void testJDBC() throws Exception {
2124
Properties properties = new Properties();
22-
properties.put("url", "jdbc:elasticsearch://127.0.0.1:9300/" + TestsConstants.TEST_INDEX_ACCOUNT);
25+
properties.put(PROP_URL, "jdbc:elasticsearch://127.0.0.1:9300/" + TestsConstants.TEST_INDEX_ACCOUNT);
26+
properties.put(PROP_CONNECTIONPROPERTIES, "client.transport.ignore_cluster_name=true");
2327
DruidDataSource dds = (DruidDataSource) ElasticSearchDruidDataSourceFactory.createDataSource(properties);
2428
Connection connection = dds.getConnection();
2529
PreparedStatement ps = connection.prepareStatement("SELECT gender,lastname,age from " + TestsConstants.TEST_INDEX_ACCOUNT + " where lastname='Heath'");

0 commit comments

Comments
 (0)