Oberserver 模式

第一个观察者:

package observer;
import  java.util.Observer;
public class JMSObserver implements Observer {


	@Override
	public void update(java.util.Observable o, Object arg) {
		// TODO Auto-generated method stub
		 System.out.println("JMS 业务"+arg);  
	}

}

 第二个观察者:

package observer;
import java.util.*;
public class MailObserver implements Observer {

	@Override
	public void update(Observable o, Object arg) {
		// TODO Auto-generated method stub
		 System.out.println("Mail 业务"+arg);  
	}

}

 被观察者::

package observer;
import  java.util.Observable;
import  java.util.Observer;
public class Subject extends Observable { //bei  guan  cha 
	 /** 
	      * 业务方法,一旦执行某个操作,则通知观察者 ()
	      */  
	     public void doBusiness(String  str){         
      super.setChanged();  
	           notifyObservers(str);  
//通知观察者str 对象去了处理去吧!	     }  
	   
	       
	   
}

  被观察者主动通知观察者

测试类:

 

 

TEST;

 

     public static void main(String [] args) {  
	         //创建一个被观察者  (被观察者必须确定观察者有哪些add进去)
	         Subject subject = new Subject();  
	           
	         //创建两个观察者  
	         Observer mailObserver = new MailObserver();  
	         Observer jmsObserver = new JMSObserver();  
	           
	         //把两个观察者加到被观察者列表中  
	         subject.addObserver(mailObserver);  
	         subject.addObserver(jmsObserver);  
	           
	         //执行业务操作  
	          subject.doBusiness("老大有业务来了");  	     }   

你可能感兴趣的:(java,jms)