@@ -929,7 +929,7 @@ public void test_EventClient_subscribe_haStreamTable() throws IOException, Inte
929929 BasicTable re = (BasicTable )conn .run ("select * from outputTable" );
930930 Assert .assertEquals (1 ,re .rows ());
931931 }
932- // @Test
932+ @ Test
933933 public void test_EventClient_subscribe_haStreamTable_leader () throws IOException , InterruptedException {
934934 BasicString StreamLeaderTmp = (BasicString )conn .run (String .format ("getStreamingLeader(%d)" , GROUP_ID ));
935935 String StreamLeader = StreamLeaderTmp .getString ();
@@ -939,13 +939,13 @@ public void test_EventClient_subscribe_haStreamTable_leader() throws IOExceptio
939939 int StreamLeaderPort = StreamLeaderPortTmp .getInt ();
940940 System .out .println (StreamLeaderHost );
941941 System .out .println (StreamLeaderPort );
942- DBConnection conn1 = new DBConnection ();
943- conn1 .connect (StreamLeaderHost , StreamLeaderPort , "admin" , "123456" );
942+ DBConnection conn_leader = new DBConnection ();
943+ conn_leader .connect (StreamLeaderHost , StreamLeaderPort , "admin" , "123456" );
944944 String script = "try{\n dropStreamTable(`inputTable_1)\n }catch(ex){\n }\n " +
945945 "table = table(1000000:0, `timestamp`eventType`event`comment1, [TIMESTAMP,STRING,BLOB,STRING]);\n " +
946946 "haStreamTable(" +GROUP_ID +", table, `inputTable_1, 100000);\n " +
947947 "share table(100:0, `timestamp`comment1, [TIMESTAMP,STRING]) as outputTable;\n " ;
948- conn1 .run (script );
948+ conn_leader .run (script );
949949 EventSchema scheme = new EventSchema ();
950950 scheme .setEventType ("MarketData" );
951951 scheme .setFieldNames (Arrays .asList ("timestamp" , "comment1" ));
@@ -955,16 +955,28 @@ public void test_EventClient_subscribe_haStreamTable_leader() throws IOExceptio
955955 eventSchemas .add (scheme );
956956 List <String > eventTimeFields = Arrays .asList (new String []{"timestamp" });
957957 List <String > commonFields = Arrays .asList (new String []{"comment1" });
958- sender = new EventSender (conn , "inputTable_1" , eventSchemas , eventTimeFields , commonFields );
958+ sender = new EventSender (conn_leader , "inputTable_1" , eventSchemas , eventTimeFields , commonFields );
959959 client = new EventClient (eventSchemas , eventTimeFields , commonFields );
960960
961961 List <Entity > attributes = new ArrayList <>();
962962 attributes .add (new BasicTimestamp (LocalDateTime .of (2024 ,3 ,22 ,10 ,45 ,3 ,100000000 )));
963963 attributes .add (new BasicString ("123456" ));
964+
965+ final DBConnection finalConn1 = conn_leader ;
966+ EventMessageHandler handler = new EventMessageHandler () {
967+ @ Override
968+ public void doEvent (String eventType , List <Entity > attribute ) {
969+ try {
970+ finalConn1 .run ("tableInsert{outputTable}" , attribute );
971+ } catch (IOException e ) {
972+ throw new RuntimeException (e );
973+ }
974+ }
975+ };
964976 client .subscribe (StreamLeaderHost , StreamLeaderPort , "inputTable_1" , "test1" , handler , -1 , true , "admin" , "123456" );
965977 sender .sendEvent ("MarketData" , attributes );
966978 sleep (1000 );
967- BasicTable re = (BasicTable )conn1 .run ("select * from outputTable" );
979+ BasicTable re = (BasicTable )conn_leader .run ("select * from outputTable" );
968980 Assert .assertEquals (1 ,re .rows ());
969981 Assert .assertEquals ("2024.03.22T10:45:03.100" ,re .getColumn (0 ).get (0 ).getString ());
970982 Assert .assertEquals ("123456" ,re .getColumn (1 ).get (0 ).getString ());
@@ -984,13 +996,14 @@ public void test_EventClient_subscribe_haStreamTable_follower() throws IOExcept
984996 int StreamFollowerPort = StreamFollowerPortTmp .getInt ();
985997 System .out .println (StreamFollowerHost );
986998 System .out .println (StreamFollowerPort );
987- DBConnection conn1 = new DBConnection ();
988- conn1 .connect (StreamFollowerHost , StreamFollowerPort , "admin" , "123456" );
999+ DBConnection conn_follower = new DBConnection ();
1000+ conn_follower .connect (StreamFollowerHost , StreamFollowerPort , "admin" , "123456" );
9891001 String script = "try{\n dropStreamTable(`inputTable_1)\n }catch(ex){\n }\n " +
9901002 "table = table(1000000:0, `timestamp`eventType`event`comment1, [TIMESTAMP,STRING,BLOB,STRING]);\n " +
991- "haStreamTable(" +GROUP_ID +", table, `inputTable_1, 100000);\n " +
1003+ "haStreamTable(" +GROUP_ID +", table, `inputTable_1, 100000);" +
1004+ "sleep(1000);\n " +
9921005 "share table(100:0, `timestamp`comment1, [TIMESTAMP,STRING]) as outputTable;\n " ;
993- conn1 .run (script );
1006+ conn_follower .run (script );
9941007 EventSchema scheme = new EventSchema ();
9951008 scheme .setEventType ("MarketData" );
9961009 scheme .setFieldNames (Arrays .asList ("timestamp" , "comment1" ));
@@ -1000,16 +1013,30 @@ public void test_EventClient_subscribe_haStreamTable_follower() throws IOExcept
10001013 eventSchemas .add (scheme );
10011014 List <String > eventTimeFields = Arrays .asList (new String []{"timestamp" });
10021015 List <String > commonFields = Arrays .asList (new String []{"comment1" });
1003- sender = new EventSender (conn , "inputTable_1" , eventSchemas , eventTimeFields , commonFields );
1016+ sender = new EventSender (conn_follower , "inputTable_1" , eventSchemas , eventTimeFields , commonFields );
10041017 client = new EventClient (eventSchemas , eventTimeFields , commonFields );
10051018
10061019 List <Entity > attributes = new ArrayList <>();
10071020 attributes .add (new BasicTimestamp (LocalDateTime .of (2024 ,3 ,22 ,10 ,45 ,3 ,100000000 )));
10081021 attributes .add (new BasicString ("123456" ));
1009- client .subscribe (StreamFollowerHost , StreamFollowerPort , "inputTable_1" , "test1" , handler , -1 , true , "user1" , "123456" );
1022+ final DBConnection finalConn1 = conn_follower ;
1023+ EventMessageHandler handler = new EventMessageHandler () {
1024+ @ Override
1025+ public void doEvent (String eventType , List <Entity > attribute ) {
1026+ System .out .println ("eventType: " );
1027+ System .out .println ("eventType: " + eventType );
1028+ System .out .println (attribute .toString ());
1029+ try {
1030+ finalConn1 .run ("tableInsert{outputTable}" , attribute );
1031+ } catch (IOException e ) {
1032+ throw new RuntimeException (e );
1033+ }
1034+ }
1035+ };
1036+ client .subscribe (StreamFollowerHost , StreamFollowerPort , "inputTable_1" , "test1" , handler , -1 , true , "admin" , "123456" );
10101037 sender .sendEvent ("MarketData" , attributes );
10111038 sleep (1000 );
1012- BasicTable re = (BasicTable )conn1 .run ("select * from outputTable" );
1039+ BasicTable re = (BasicTable )conn_follower .run ("select * from outputTable" );
10131040 Assert .assertEquals (1 ,re .rows ());
10141041 Assert .assertEquals ("2024.03.22T10:45:03.100" ,re .getColumn (0 ).get (0 ).getString ());
10151042 Assert .assertEquals ("123456" ,re .getColumn (1 ).get (0 ).getString ());
0 commit comments