2014-10-12 6 views
0

PcapPackets를 큐에 전달하려면 아래 코드를 kafka 큐에 전달하여 kafka 소비자가 kcka 프로듀서에서 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)는 임의의 2 진 데이터를 메시지로 저장하는 것을 지원합니다. 귀하의 경우에는 PcapPacket 클래스 바이너리 시리얼 라이저 (및 읽기 전용 디시리얼라이저)를 제공하면됩니다.

예를 들어 Kafka: writing custom serializer을 참조하십시오.