diff --git a/tests/examples/JDBC/JDBCDemo/src/main/java/TSDBSyncSample.java b/tests/examples/JDBC/JDBCDemo/src/main/java/TSDBSyncSample.java index 76b2e5f857b9d3036c838c004baa014d34902c58..d56cbafd1d18f2f943e7d7c3682d326737f9705e 100644 --- a/tests/examples/JDBC/JDBCDemo/src/main/java/TSDBSyncSample.java +++ b/tests/examples/JDBC/JDBCDemo/src/main/java/TSDBSyncSample.java @@ -4,7 +4,7 @@ public class TSDBSyncSample { private static final String JDBC_PROTOCAL = "jdbc:TAOS://"; private static final String TSDB_DRIVER = "com.taosdata.jdbc.TSDBDriver"; - private String host = "127.0.0.1"; + private String host = "10.211.55.3"; private String user = "root"; private String password = "powerdb"; //"taosdata"; private int port = 0; diff --git a/tests/examples/JDBC/JDBCDemo/src/main/java/TestAsyncTSDBSubscribeSample.java b/tests/examples/JDBC/JDBCDemo/src/main/java/TestAsyncTSDBSubscribeSample.java new file mode 100644 index 0000000000000000000000000000000000000000..00da0be060ef55ef7d86f065ff69c6d2952b30e2 --- /dev/null +++ b/tests/examples/JDBC/JDBCDemo/src/main/java/TestAsyncTSDBSubscribeSample.java @@ -0,0 +1,58 @@ +import com.taosdata.jdbc.*; +import org.apache.commons.lang3.StringUtils; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.util.Properties; + +public class TestAsyncTSDBSubscribeSample { + public static void main(String[] args) { + String dbName = "log"; + String tName = "dn_10_211_55_3"; + String host = "10.211.55.3"; + String topic = "test"; + + Connection connection = null; + TSDBSubscribe subscribe = null; + long subscribId = 0; + try { + Class.forName("com.taosdata.jdbc.TSDBDriver"); + Properties properties = new Properties(); + properties.setProperty(TSDBDriver.PROPERTY_KEY_HOST, host); + connection = DriverManager.getConnection("jdbc:TAOS://" + host + ":0/" + dbName + "?user=root&password=taosdata", properties); + String rawSql = "select * from " + tName + ";"; + subscribe = ((TSDBConnection) connection).createSubscribe(); + subscribId = subscribe.subscribe(topic, rawSql, false, 1000, new CallBack("first")); + long subscribId2 = subscribe.subscribe("test", rawSql, false, 1000, new CallBack("second")); + int a = 0; + Thread.sleep(2000); + subscribe.unsubscribe(subscribId, true); + System.err.println("cancel subscribe"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static class CallBack implements TSDBSubscribeCallBack { + private String name = ""; + + public CallBack(String name) { + this.name = name; + } + + @Override + public void invoke(TSDBResultSet resultSet) { + try { + while (null !=resultSet && resultSet.next()) { + System.out.print("callback_" + name + ": "); + for (int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++) { + System.out.printf(i + ": " + resultSet.getString(i) + "\t"); + } + System.out.println(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } +} diff --git a/tests/examples/JDBC/JDBCDemo/src/main/java/TestTSDBSubscribeSample.java b/tests/examples/JDBC/JDBCDemo/src/main/java/TestTSDBSubscribeSample.java new file mode 100644 index 0000000000000000000000000000000000000000..389af33ed050d5e746af9a8047593fe1126bac0f --- /dev/null +++ b/tests/examples/JDBC/JDBCDemo/src/main/java/TestTSDBSubscribeSample.java @@ -0,0 +1,59 @@ +import com.taosdata.jdbc.TSDBConnection; +import com.taosdata.jdbc.TSDBDriver; +import com.taosdata.jdbc.TSDBResultSet; +import com.taosdata.jdbc.TSDBSubscribe; +import org.apache.commons.lang3.StringUtils; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.util.Properties; + +public class TestTSDBSubscribeSample { + public static void main(String[] args) throws Exception { + // use log db + String dbName = "log"; + String tName = "dn_10_211_55_3"; + String host = "10.211.55.3"; + String topic = "test"; + + Connection connection = null; + TSDBSubscribe subscribe = null; + long subscribId = 0; + try { + Class.forName("com.taosdata.jdbc.TSDBDriver"); + Properties properties = new Properties(); + properties.setProperty(TSDBDriver.PROPERTY_KEY_HOST, host); + connection = DriverManager.getConnection("jdbc:TAOS://" + host + ":0/" + dbName + "?user=root&password=taosdata" + , properties); + String rawSql = "select * from " + tName + ";"; + subscribe = ((TSDBConnection) connection).createSubscribe(); + subscribId = subscribe.subscribe(topic, rawSql, false, 1000); + int a = 0; + while (true) { + Thread.sleep(1000); + TSDBResultSet resSet = subscribe.consume(subscribId); + + while (resSet.next()) { + for (int i = 1; i <= resSet.getMetaData().getColumnCount(); i++) { + System.out.printf(i + ": " + resSet.getString(i) + "\t"); + } + System.out.println("\n================"); + } + + a++; + if (a >= 10) { + break; + } + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (null != subscribe && 0 != subscribId) { + subscribe.unsubscribe(subscribId, true); + } + if (null != connection) { + connection.close(); + } + } + } +}