私は春の統合を使用して、尾ファイルにしようとしていますし、それは以下のコードとして機能していますが、私は4つのスレッドがために使用されているログの下にある2つの質問ファイルテールインバウンド・チャネル・アダプターを標準エラー出力と標準出力
@Configuration
public class RootConfiguration {
@Bean(name = PollerMetadata.DEFAULT_POLLER)
public PollerMetadata defaultPoller() {
PollerMetadata pollerMetadata = new PollerMetadata();
pollerMetadata.setTrigger(new PeriodicTrigger(10));
return pollerMetadata;
}
@Bean
public MessageChannel input() {
return new QueueChannel(50);
}
@Bean
public FileTailInboundChannelAdapterFactoryBean tailInboundChannelAdapterParser() {
FileTailInboundChannelAdapterFactoryBean x = new FileTailInboundChannelAdapterFactoryBean();
x.setAutoStartup(true);
x.setOutputChannel(input());
x.setTaskExecutor(taskExecutor());
x.setNativeOptions("-F -n +0");
x.setFile(new File("/home/shahbour/Desktop/file.txt"));
return x;
}
@Bean
@ServiceActivator(inputChannel = "input")
public LoggingHandler loggingHandler() {
return new LoggingHandler("info");
}
@Bean
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
taskExecutor.setCorePoolSize(4);
taskExecutor.afterPropertiesSet();
return taskExecutor;
}
}
パーを持っていますファイルをテーリングします。私はそれらのすべてが必要か、私はいくつかを無効にすることができますか?なぜ私はのスレッドを監視していますか?監視プロセス[email protected]、stderrを読み込み、stdoutを読み込み。
私はvoipスイッチでプログラムを実行しようとしており、可能な限り最小限のリソースを使いたいので、これを聞いています。
2016-12-10 13:22:55.666 INFO 14862 --- [ taskExecutor-1] t.OSDelegatingFileTailingMessageProducer : Starting tail process
2016-12-10 13:22:55.665 INFO 14862 --- [ main] t.OSDelegatingFileTailingMessageProducer : started tailInboundChannelAdapterParser
2016-12-10 13:22:55.682 INFO 14862 --- [ main] o.s.i.endpoint.PollingConsumer : started rootConfiguration.loggingHandler.serviceActivator
2016-12-10 13:22:55.682 INFO 14862 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 2147483647
2016-12-10 13:22:55.701 INFO 14862 --- [ main] c.t.SonusbrokerApplication : Started SonusbrokerApplication in 3.84 seconds (JVM running for 4.687)
2016-12-10 13:22:55.703 DEBUG 14862 --- [ taskExecutor-2] t.OSDelegatingFileTailingMessageProducer : Monitoring process [email protected]
2016-12-10 13:22:55.711 DEBUG 14862 --- [ taskExecutor-3] t.OSDelegatingFileTailingMessageProducer : Reading stderr
2016-12-10 13:22:55.711 DEBUG 14862 --- [ taskExecutor-4] t.OSDelegatingFileTailingMessageProducer : Reading stdout
私の2番目の質問は、あるそれは物乞いからファイルを読み始めると、私はこの-n 1000年
ノートのネイティブのオプションを使用して考えていた最後尾に継続することが可能である:本当コードが作成されたときに新しいファイルのフォルダを監視し、テールプロセスを開始します。
** OSDelegatingFileTailingMessageProducer **のコードを読んだ後**私はstderrorプロセスがファイルの移動やその他のエラーをチェックしてイベントとして送信する必要があることを知っていましたが、これを無効にしたり、ファイルの-n +0は、すでに – Shahbour