• BeanstalkClient学习


    针对BeanstalkClient-1.4.6.jar

    •    生产者

    示例代码:

    package com.lky.test;
    
    import java.io.UnsupportedEncodingException;
    
    import org.junit.Ignore;
    import org.junit.Test;
    
    import com.surftools.BeanstalkClientImpl.ClientImpl;
    
    /**
    * @Title: produceTest.java 
    * @Package com.lky.test 
    * @Description: beanstalkClient produce使用学习
    * @author lky 
    * @date 2015年10月20日 上午10:12:49 
    * @version V1.0
     */
    
    public class produceTest {
        
        @Test
        @Ignore
        public void produce1() throws UnsupportedEncodingException{
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            client.useTube("phone");
            
            client.put(3, 0 ,20, new String("中兴").getBytes("utf-8"));
            client.put(1, 0, 20, new String("小米").getBytes("utf-8"));
            client.put(2, 0, 20, new String("苹果").getBytes("utf-8"));
            client.close();
        }
        
        
        @Test
        public void produce2() throws UnsupportedEncodingException{
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            client.useTube("log");
            
            client.put(2, 0, 20, new String("123456").getBytes("utf-8"));
            client.put(5, 0, 20, new String("4541212").getBytes("utf-8"));
            client.put(3, 0, 20, new String("1212121212").getBytes("utf-8"));
            client.close();
        }
    }
    • 消费者

      示例代码:

    package com.lky.test;
    
    import java.io.UnsupportedEncodingException;
    import java.util.Random;
    import org.junit.Before;
    import org.junit.Ignore;
    import org.junit.Test;
    
    import com.surftools.BeanstalkClient.Job;
    import com.surftools.BeanstalkClientImpl.ClientImpl;
    
    /**
    * @Title: consumerTest.java 
    * @Package com.lky.test 
    * @Description: beanstatlked 消费者学习 (job交互,tube交互)
    * @author lky 
    * @date 2015年10月20日 上午10:15:19 
    * @version V1.0
     */
    public class consumerTest {
        
        
        @Before
        @Ignore
        public void loadUp(){
            ClientImpl client = new ClientImpl("10.21.25.196", 11300, true);
            client.useTube("log");
            client.kick(3);//将处于bury状态下的job重新放入ready队列中
            client.close();
        }
    
        @Test
        public void consumer1() throws UnsupportedEncodingException {
            ClientImpl client = new ClientImpl("10.21.25.196", 11300, true);
            client.watch("log");
            client.ignore("default");
            
            Job job=null;
            while((job=client.reserve(20))!=null){
                System.out.println(job.getJobId()+"---------->"+new String(job.getData(),"utf-8"));
    //            client.bury(job.getJobId(), new Random(10).nextInt(11));
    //            client.delete(job.getJobId());
                client.release(job.getJobId(), new Random(100).nextInt(11),  new Random(100).nextInt(11));
    //            client.touch(job.getJobId());
            }
            client.close();
        }
    }
    • 状态监测

    示例代码:

    package com.lky.test;
    
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Ignore;
    import org.junit.Test;
    
    import com.surftools.BeanstalkClientImpl.ClientImpl;
    
    /**
    * @Title: stateTest.java 
    * @Package com.lky.test 
    * @Description: beanstalked队列中 处于各种状态下job的统计
    * @author lky 
    * @date 2015年10月20日 上午10:16:59 
    * @version V1.0
     */
    public class stateTest {
        
        @Before
        public void testBefore(){
            System.out.println("-------------------分隔符------------------");
        }
        
        @After
        public void testAfter(){
            System.out.println("-------------------分隔符------------------");
        }
        
        @Test
        public void testStatusLog(){
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            client.useTube("log");
            Map<String, String> info=client.statsTube("log");
            for(Entry<String, String>entry:info.entrySet()){
                System.out.println(entry.getKey()+"---------->"+entry.getValue());
            }
            client.close();
        }
        
        @Test
        public void testStatusPhone(){
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            client.useTube("phone");
            Map<String, String> info=client.statsTube("phone");
            for(Entry<String, String>entry:info.entrySet()){
                System.out.println(entry.getKey()+"---------->"+entry.getValue());
            }
            client.close();
        }
        
        @Test
        @Ignore
        public void testStatusDefault(){
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            client.useTube("default");
            Map<String, String> info=client.statsTube("default");
            for(Entry<String, String>entry:info.entrySet()){
                System.out.println(entry.getKey()+"---------->"+entry.getValue());
            }
            client.close();
        }
        
        @Test
        @Ignore
        public void testStatus(){
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            Map<String, String> info=client.stats();
            for(Entry<String, String>entry:info.entrySet()){
                System.out.println(entry.getKey()+"---------->"+entry.getValue());
            }
            client.close();
        }
        
        @Test
        @Ignore
        public void testStatusListTube(){
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            List<String> info=client.listTubes();
            for(String key:info){
                System.out.println(key);
            }
            client.close();
        }
        
        
        @Test
        @Ignore
        public void testStatusListTubeWatch(){
            ClientImpl client=new ClientImpl("10.21.25.196",11300,true);
            client.watch("log");
            client.watch("phone");
            client.ignore("default");
            List<String> info=client.listTubesWatched();
            for(String key:info){
                System.out.println(key);
            }
            client.close();
        }
    
    }
  • 相关阅读:
    python爬虫之破解javascript-obfuscator的混淆加密
    python反爬之前端加密技术
    轻松截获 Selenium 中的 Ajax 数据
    macos安装selenium+浏览器驱动
    爬虫神器,对ajax加载的数据进行hook截取,无视带有加密参数的接口
    macos 配置apache,mysql,php,nginx环境
    对WX公众号文章的爬取分析
    对app的反爬测试之apk逆向分析-frida绕过ssl pinning检测
    macos 安装frida的坑
    简易OA漫谈之工作流设计(四,怎么支持会签)
  • 原文地址:https://www.cnblogs.com/dmir/p/4894032.html
Copyright © 2020-2023  润新知