2014-10-12 24 views
0

通過下面的代碼將PcapPackets傳遞給隊列,是否可以將此傳遞給kafka隊列,以便kafka使用者可以從kafka生產者那裏獲取PcapPackets?如何將PcapPackets傳入kafka隊列

StringBuilder errbuf = new StringBuilder(); 
Pcap pcap = Pcap.openOffline("tests/test-afs.pcap", errbuf); 

PcapPacketHandler<Queue<PcapPacket>> handler = new PcapPacketHandler<Queue<PcapPacket>>() { 
    public void nextPacket(PcapPacket packet, Queue<PcapPacket> queue) { 
    PcapPacket permanent = new PcapPacket(packet); 

    queue.offer(packet); 
    } 
} 

Queue<PcapPacket> queue = new ArrayBlockingQueue<PcapPacket>(); 

pcap.loop(10, handler, queue); 

System.out.println("we have " + queue.size() + " packets in our queue"); 

pcap.close(); 

回答

0

Kafka支持將任意二進制數據存儲爲消息。在你的情況下,你只需要提供一個PcapPacket類的二進制串行器(和解串器用於讀取)。

查看Kafka: writing custom serializer舉例。

相關問題