@Override public void notifyObservers() { System.out.println(); for (IObserver observer : observers) { observer.update(desc); } }
/** * 从指定队列接收消息,然后通过观察者对象处理 * * @param queueName * @param observer * @throws Exception */ public void receive(String queueName, IObserver observer) throws Exception { try { this.init(); // 指定队列 channel.queueDeclare(queueName, true, false, false, null); // 绑定队列到指定的交换机 // channel.queueBind(queueName, mqExchangeName, queueName); // log.info("Bind queue {} to {} success! ", queueName, mqExchangeName); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(queueName, true, consumer); while (true) { // 阻塞,直到接收到一条消息 QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); log.info("Received a message: " + message); observer.update(message); } } finally { this.destory(); } }
/* (non-Javadoc) * @see ome.formats.importer.IObservable#notifyObservers(ome.formats.importer.ImportEvent) */ public void notifyObservers(ImportEvent event) { for (IObserver observer : observers) { observer.update(this, event); } }
@Override public void onStateChange(T content) { for (IObserver<T> observer : observers) { observer.update(content); } }
public void notifyObservers() { for (int i = 0; i < observers.size(); i++) { IObserver observer = observers.get(i); observer.update(); } }