Прямо от источника: http://java.sun.com/developer/technicalArticles/ALT/Reflection/ Затем я изменил его, чтобы быть автономным, не требуя ничего из командной строки. ; -)
import java.lang.reflect.*;
/**
Compile with this:
C:\Documents and Settings\glow\My Documents\j>javac DumpMethods.java
Run like this, and results follow
C:\Documents and Settings\glow\My Documents\j>java DumpMethods
public void DumpMethods.foo()
public int DumpMethods.bar()
public java.lang.String DumpMethods.baz()
public static void DumpMethods.main(java.lang.String[])
*/
public class DumpMethods {
public void foo() { }
public int bar() { return 12; }
public String baz() { return ""; }
public static void main(String args[])
{
try {
Class c = DumpMethods.class;
Method[] m = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());
} catch (Throwable e) {
System.err.println(e);
}
}
}
Максимальная единица параллелизма - количество разделов. Если вы запустите больше экземпляров, чем количество разделов, избыточные экземпляры будут простаивать.
Операции соединения должны соответствовать следующим требованиям:
Входные данные должны быть разделены во время объединения. Это означает, что входные темы, которые нужно объединить, должны иметь одинаковое количество разделов.
Обе темы должны иметь одинаковую стратегию разделения, чтобы записи с одинаковыми ключами могли доставляться в одни и те же разделы. Если это не так, есть вероятность потерять записи.
Пример: если topic1 имеет 2 раздела, а topic2 имеет 3 раздела, Join(topic1,topic2)
завершится ошибкой из-за неравных разделов. После того, как вы переделите тему, скажем 3. Теперь Join(topic1, topic2)
будет работать. Вы можете максимально использовать 3 задачи для этой операции. Каждый раздел будет поддерживать свое состояние в государственном хранилище в виде внутренних тем. По умолчанию KStream использует RocksDB для хранения состояний.
Здесь вы можете увидеть, как обычно процесс работает для преобразования с состоянием:
Пожалуйста, обратитесь к ним для более подробной информации:
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+Internal+Data+Management https://docs.confluent.io/current/streams /developer-guide/dsl-api.html#streams-developer-guide-dsl-joins