少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            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應用上下文環境
           private static ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
             "com/abin/lee/spring/applicationContext-queue.xml");

           /**
            * 實現ApplicationContextAware接口的回調方法,設置上下文環境
            *
            * @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>

          主站蜘蛛池模板: 蕉岭县| 加查县| 汪清县| 华亭县| 图木舒克市| 涿州市| 大关县| 鹤岗市| 正宁县| 龙泉市| 贞丰县| 大洼县| 民权县| 邻水| 富平县| 顺平县| 农安县| 宁海县| 莲花县| 公主岭市| 霍山县| 晋城| 昂仁县| 巴南区| 乳山市| 中阳县| 黔西| 湘阴县| 乾安县| 湟中县| 洛阳市| 乌苏市| 都江堰市| 汤阴县| 麦盖提县| 资源县| 湟源县| 绥滨县| 常德市| 普格县| 班玛县|