数据:Request类 类属性:public String message;
接口:IRequestProcessor#processorRequest(处理请求的方法)
责任链处理角色1:ValidRequestProcessor extends Thread Implement IRequestProcessor
//类属性:
private IRequestProcessor iRequestProcessor; BlockingQueue blockingQueue=new BlockingQueue ();
//构造方法:public ValidRequestProcessor (IRequestProcessor iRequestProcessor){this.iRequestProcessor=iRequestProcessor}
责任链处理角色2:PrintRequestProcessor extends Thread Implement IRequestProcessor
//类属性:
private IRequestProcessor iRequestProcessor;
BlockingQueue blockingQueue=new BlockingQueue ();
//构造方法:
public PrintRequestProcessor (IRequestProcessor iRequestProcessor){this.iRequestProcessor=iRequestProcessor}
责任链处理角色3:SaveRequestProcessor extends Thread Implement IRequestProcessor
//类属性:
private IRequestProcessor iRequestProcessor;
BlockingQueue blockingQueue=new BlockingQueue ();
//构造方法:
public SaveRequestProcessor (IRequestProcessor iRequestProcessor){this.iRequestProcessor=iRequestProcessor}
责任链处理角色4:FinalRequestProcessor extends Thread Implement IRequestProcessor
//类属性:
private IRequestProcessor iRequestProcessor;
BlockingQueue blockingQueue=new BlockingQueue ();
//构造方法:public FinalRequestProcessor (IRequestProcessor iRequestProcessor){this.iRequestProcessor=iRequestProcessor}
测试类:
Request request=new Request("你好")
//首先将请求加入到队列中,然后启动线程进行处理
ValidRequestProcessor validRequestProcessor =new ValidRequestProcessor (request);
PrintRequestProcessor printRequestProcessor =new PrintRequestProcessor(validRequestProcessor );
SaveRequestProcessor saveRequestProcessor =new SaveRequestProcessor (saveRequestProcessor);
FinalRequestProcessor finalRequestProcessor = new FinalRequestProcessor (finalRequestProcessor);
new Thread(validRequestProcessor ).start();
new Thread(printRequestProcessor ).start();
new Thread(saveRequestProcessor ).start();
new Thread(finalRequestProcessor ).start();