少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          package com.abin.lee.queue;

          import java.util.Queue;

          public interface IMakeQueue {
           public void addQueue(Object obj);
           public boolean hasQueue();
           public Object getQueueHeader();
           public int queueSize();
           public boolean delQueue();
          }




          package com.abin.lee.queue;

          import java.util.Queue;
          import java.util.concurrent.LinkedBlockingQueue;

          public class MakeQueue implements IMakeQueue{
           private static Queue queue=new LinkedBlockingQueue();

           public void addQueue(Object obj) {
            queue.offer(obj);
           }

           public boolean hasQueue() {
            boolean flag=false;
            if(queue.isEmpty()){
             flag=true;
            }
            return flag;
           }

           public Object getQueueHeader() {
            Object obj=queue.peek();
            return obj;
           }

           public int queueSize() {
            int queueSize=queue.size();
            return queueSize;
           }

           public boolean delQueue() {
            boolean flag=false;
            Object obj=queue.poll();
            if(obj!=null){
             flag=true;
            }
            return flag;
           }
           
          }






          package com.abin.lee.queue;

          import org.springframework.beans.BeansException;
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.ApplicationContextAware;
          import org.springframework.context.support.ClassPathXmlApplicationContext;

          /**
           *
           * 獲取spring容器,以訪問容器中定義的其他bean
           *
           * @author lyltiger
           * @since MOSTsView 3.0 2009-11-16
           */
          public class SpringContextUtil implements ApplicationContextAware {

           // Spring應(yīng)用上下文環(huán)境
           private static ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
             "com/abin/lee/spring/applicationContext-queue.xml");

           /**
            * 實現(xiàn)ApplicationContextAware接口的回調(diào)方法,設(shè)置上下文環(huán)境
            *
            * @param applicationContext
            */
           public void setApplicationContext(ApplicationContext applicationContext) {
            SpringContextUtil.applicationContext = applicationContext;
           }

           /**
            * @return ApplicationContext
            */
           public static ApplicationContext getApplicationContext() {
            return applicationContext;
           }

           /**
            * 獲取對象 這里重寫了bean方法,起主要作用
            *
            * @param name
            * @return Object 一個以所給名字注冊的bean的實例
            * @throws BeansException
            */
           public static Object getBean(String name) throws BeansException {
            return applicationContext.getBean(name);
           }

          }





          package com.abin.lee.queue;

          import java.io.BufferedWriter;
          import java.io.IOException;
          import java.io.OutputStreamWriter;
          import java.util.Map;

          import javax.servlet.ServletException;
          import javax.servlet.ServletOutputStream;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          public class QueueServlet extends HttpServlet{
           
           protected void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            Map map=request.getParameterMap();
            String name1=(String)((Object[])map.get("name1"))[0];
            String name2=(String)((Object[])map.get("name2"))[0];
            MakeQueue makeQueue = (MakeQueue)SpringContextUtil.getBean("makeQueue");//bean的名稱
            System.out.println(makeQueue.queueSize());
            makeQueue.addQueue(name1);
            makeQueue.addQueue(name2);
            System.out.println(makeQueue.queueSize());
            
            ServletOutputStream out=response.getOutputStream();
            BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(out));
            writer.write("success");
            writer.flush();
            writer.close();
           }
          }





          package com.abin.lee.spring;

          import java.util.ArrayList;
          import java.util.List;

          import junit.framework.TestCase;

          import org.apache.http.HttpEntity;
          import org.apache.http.HttpResponse;
          import org.apache.http.NameValuePair;
          import org.apache.http.client.HttpClient;
          import org.apache.http.client.entity.UrlEncodedFormEntity;
          import org.apache.http.client.methods.HttpPost;
          import org.apache.http.impl.client.DefaultHttpClient;
          import org.apache.http.message.BasicNameValuePair;
          import org.apache.http.protocol.HTTP;
          import org.apache.http.util.EntityUtils;

          public class SpringUnit extends TestCase {
           private static final String HTTP_URL="http://localhost:1010/WebService/servlet/QueueServlet";
           public void testBean() {
            HttpClient client=new DefaultHttpClient();
            HttpPost post=new HttpPost(HTTP_URL);
            try {
             List<NameValuePair> nvps=new ArrayList<NameValuePair>();
             nvps.add(new BasicNameValuePair("name1", "lee"));
             nvps.add(new BasicNameValuePair("name2", "abin"));
             post.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8));
             HttpResponse response=client.execute(post);
             HttpEntity entity=response.getEntity();
             String result=EntityUtils.toString(entity);
             System.out.println("result="+result);
            } catch (Exception e) {
             e.printStackTrace();
            }
           }
          }







          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns=" xmlns:xsi=" xsi:schemaLocation="http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                     http://www.springframework.org/schema/aop
                     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                     http://www.springframework.org/schema/context
                    

           <!-- Queue全局隊列 -->
           <bean id="makeQueue" class="com.abin.lee.queue.MakeQueue" scope="singleton" />
           

          </beans>

          主站蜘蛛池模板: 崇州市| 怀化市| 岫岩| 涡阳县| 通海县| 长泰县| 绵阳市| 拉萨市| 安新县| 南汇区| 武平县| 信丰县| 宜阳县| 罗定市| 德昌县| 宜章县| 个旧市| 浮梁县| 盱眙县| 腾冲县| 凤冈县| 扎兰屯市| 韩城市| 武陟县| 麻阳| 青阳县| 聂荣县| 右玉县| 百色市| 定兴县| 江门市| 游戏| 石台县| 东安县| 陇南市| 澳门| 比如县| 崇明县| 永宁县| 松桃| 神木县|