コード例 #1
0
ファイル: MySQLPerfTest.java プロジェクト: scozss/hermes
  static void appendMessages(Tpp tpp, Collection<MessageBatchWithRawData> batches)
      throws Exception {
    List<MessagePriority> msgs = new ArrayList<>();
    for (MessageBatchWithRawData batch : batches) {
      List<PartialDecodedMessage> pdmsgs = batch.getMessages();
      for (PartialDecodedMessage pdmsg : pdmsgs) {
        MessagePriority msg = new MessagePriority();
        msg.setAttributes(pdmsg.readDurableProperties());
        msg.setCreationDate(new Date(pdmsg.getBornTime()));
        msg.setPartition(tpp.getPartition());
        msg.setPayload(pdmsg.readBody());
        msg.setPriority(tpp.isPriority() ? 0 : 1);
        msg.setProducerId(0);
        msg.setProducerIp("");
        msg.setRefKey(pdmsg.getKey());
        msg.setTopic(tpp.getTopic());
        msg.setCodecType(pdmsg.getBodyCodecType());

        msgs.add(msg);
      }
    }

    long start = System.currentTimeMillis();
    MessagePriority[] array = msgs.toArray(new MessagePriority[msgs.size()]);
    System.out.println("ToArray: " + (System.currentTimeMillis() - start));
    start = System.currentTimeMillis();
    PlexusComponentLocator.lookup(MessagePriorityDao.class).insert(array);
    System.out.println("Insert: " + (System.currentTimeMillis() - start));
  }