2016-09-22 9 views
0

からの応答を得ることはありません。シッディは、私はこのような単純なクエリを持つ集計クエリ

runtime.addCallback("aQuery", new QueryCallback() { 
     @Override 
     public void receive(long timeStamp, Event[] inEvents, Event[] removeEvents) { 
      EventPrinter.print(timeStamp, inEvents, removeEvents); 
     } 
    }); 

私は別のスレッドでメッセージを作成しています:

final AtomicInteger counter = new AtomicInteger(0); 
    final Random rnd = new Random(System.currentTimeMillis()); 
    ExecutorService executor = Executors.newSingleThreadExecutor(); 
    executor.submit(() -> { 
     while (counter.getAndIncrement() < 100) { 
      try { 
       handler.send(new Object[]{"user1", rnd.nextInt(100)}); 
       handler.send(new Object[]{"user2", rnd.nextInt(100)}); 
       handler.send(new Object[]{"user3", rnd.nextInt(100)}); 
       System.out.println("Sent: " + counter.get()); 
       Thread.sleep(1000); 
      } catch (InterruptedException e) { 
       Thread.currentThread().interrupt(); 
       throw new RuntimeException(e); 
      } 
     } 
    }); 

私は各5秒つながる期待しています。私はここで何が欠けていますか?助けてください。 ありがとうございます。

答えて

0

問題は、イベントストリームを生成するコードの直後にランタイムをシャットダウンしたことです。それでも、すでにシャットダウンされていたにもかかわらず、実行時にメッセージを送信することができました。例外なし。

関連する問題