package threadexamples.producerconsumer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.concurrent.BlockingQueue; public class Consumer { private static final Logger LOGGER = LoggerFactory.getLogger(Consumer.class); private BlockingQueue itemQueue; private String name; private int itemId; public Consumer(String name, BlockingQueue itemQueue) { this.itemQueue = itemQueue; this.name = name; } public void consume() throws InterruptedException { final Item item = itemQueue.take(); LOGGER.info("Consumer [{}] consume item [{}] produced by [{}]", name, item.getId(), item.getProducer()); } }