当前位置: 首页>>代码示例>>Java>>正文


Java IConnection.recv方法代码示例

本文整理汇总了Java中backtype.storm.messaging.IConnection.recv方法的典型用法代码示例。如果您正苦于以下问题:Java IConnection.recv方法的具体用法?Java IConnection.recv怎么用?Java IConnection.recv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在backtype.storm.messaging.IConnection的用法示例。


在下文中一共展示了IConnection.recv方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: test_large_msg

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_large_msg() {
	System.out.println("!!!!!!!!!!start larget message test!!!!!!!!");
	String req_msg = setupLargMsg();
	System.out.println("!!!!Finish batch data, size:" + req_msg.length()
			+ "!!!!");

	IConnection server = null;
	IConnection client = null;

	server = context.bind(null, port);

	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) storm_conf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance(
			"NettyUnitTest", ProducerType.SINGLE, 1024, waitStrategy);
	server.registerQueue(recvQueue);

	client = context.connect(null, "localhost", port);

	List<TaskMessage> list = new ArrayList<TaskMessage>();
	TaskMessage message = new TaskMessage(task, req_msg.getBytes());
	list.add(message);

	LOG.info("Client send data");
	client.send(message);

	TaskMessage recv = server.recv(0);
	Assert.assertEquals(req_msg, new String(recv.message()));

	client.close();
	server.close();
	System.out.println("!!!!!!!!!!End larget message test!!!!!!!!");
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:36,代码来源:NettyUnitTest.java

示例2: test_server_delay

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_server_delay() throws InterruptedException {
	System.out.println("!!!!!!!!!!Start delay message test!!!!!!!!");
	String req_msg = setupLargMsg();

	
	IConnection server = null;
	IConnection client = null;

	server = context.bind(null, port);

	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) storm_conf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance(
			"NettyUnitTest", ProducerType.SINGLE, 1024, waitStrategy);
	server.registerQueue(recvQueue);

	client = context.connect(null, "localhost", port);

	List<TaskMessage> list = new ArrayList<TaskMessage>();
	TaskMessage message = new TaskMessage(task, req_msg.getBytes());
	list.add(message);

	LOG.info("Client send data");
	client.send(message);
	Thread.sleep(1000);

	TaskMessage recv = server.recv(0);
	Assert.assertEquals(req_msg, new String(recv.message()));

	server.close();
	client.close();
	System.out.println("!!!!!!!!!!End delay message test!!!!!!!!");
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:36,代码来源:NettyUnitTest.java

示例3: test_server_delay

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_server_delay() throws InterruptedException {
    System.out.println("!!!!!!!!!!Start delay message test!!!!!!!!");
    String req_msg = setupLargMsg();

    IConnection server = null;
    IConnection client = null;

    server = initNettyServer();

    client = context.connect(null, "localhost", port);

    List<TaskMessage> list = new ArrayList<TaskMessage>();
    TaskMessage message = new TaskMessage(task, req_msg.getBytes());
    list.add(message);

    LOG.info("Client send data");
    client.send(message);
    Thread.sleep(1000);

    byte[] recv = (byte[]) server.recv(task, 0);
    Assert.assertEquals(req_msg, new String(recv));

    server.close();
    client.close();
    System.out.println("!!!!!!!!!!End delay message test!!!!!!!!");
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:28,代码来源:NettyUnitTest.java

示例4: test_small_message

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_small_message() {
	System.out.println("!!!!!!!!Start test_small_message !!!!!!!!!!!");
	String req_msg = "Aloha is the most Hawaiian word.";

	IConnection server = null;
	IConnection client = null;

	server = context.bind(null, port);

	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) storm_conf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance(
			"NettyUnitTest", ProducerType.SINGLE, 1024, waitStrategy);
	server.registerQueue(recvQueue);

	client = context.connect(null, "localhost", port);

	List<TaskMessage> list = new ArrayList<TaskMessage>();
	TaskMessage message = new TaskMessage(task, req_msg.getBytes());
	list.add(message);

	client.send(message);

	TaskMessage recv = server.recv(0);
	Assert.assertEquals(req_msg, new String(recv.message()));

	System.out.println("!!!!!!!!!!!!!!!!!!Test one time!!!!!!!!!!!!!!!!!");

	server.close();
	client.close();
	

	System.out.println("!!!!!!!!!!!!End test_small_message!!!!!!!!!!!!!");
}
 
开发者ID:greeenSY,项目名称:Tstream,代码行数:37,代码来源:NettyUnitTest.java

示例5: test_large_msg

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_large_msg() {
    System.out.println("!!!!!!!!!!start large message test!!!!!!!!");
    String req_msg = setupLargMsg();
    System.out.println("!!!!Finish batch data, size:" + req_msg.length() + "!!!!");

    IConnection server = null;
    IConnection client = null;

    server = initNettyServer();

    client = context.connect(null, "localhost", port);

    List<TaskMessage> list = new ArrayList<TaskMessage>();
    TaskMessage message = new TaskMessage(task, req_msg.getBytes());
    list.add(message);

    LOG.info("Client send data");
    client.send(message);

    byte[] recv = (byte[]) server.recv(task, 0);
    Assert.assertEquals(req_msg, new String(recv));

    client.close();
    server.close();
    System.out.println("!!!!!!!!!!End larget message test!!!!!!!!");
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:28,代码来源:NettyUnitTest.java

示例6: test_server_delay

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_server_delay()  {
    System.out.println("!!!!!!!!!!Start delay message test!!!!!!!!");
    String req_msg = setupLargMsg();

    IConnection server = null;
    IConnection client = null;

    server = initNettyServer();

    client = context.connect(null, "localhost", port);

    List<TaskMessage> list = new ArrayList<TaskMessage>();
    TaskMessage message = new TaskMessage(task, req_msg.getBytes());
    list.add(message);

    LOG.info("Client send data");
    client.send(message);
    JStormUtils.sleepMs(1000);

    byte[] recv = (byte[]) server.recv(task, 0);
    Assert.assertEquals(req_msg, new String(recv));

    server.close();
    client.close();
    System.out.println("!!!!!!!!!!End delay message test!!!!!!!!");
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:28,代码来源:NettyUnitTest.java

示例7: test_first_client

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_first_client() throws InterruptedException {
	System.out.println("!!!!!!!!Start test_first_client !!!!!!!!!!!");
	final String req_msg = setupLargMsg();

	final IContext context = TransportFactory.makeContext(storm_conf);

	new Thread(new Runnable() {

		@Override
		public void run() {

		    lock.lock();
			IConnection client = context.connect(null, "localhost", port);

			List<TaskMessage> list = new ArrayList<TaskMessage>();
			TaskMessage message = new TaskMessage(task, req_msg.getBytes());
			list.add(message);

			client.send(message);
			System.out.println("!!Client has sent data");
			JStormUtils.sleepMs(1000);
			
			try {
                   clientClose.await();
               } catch (InterruptedException e) {
                   
                   e.printStackTrace();
               }
			client.close();
			contextClose.signal();
			lock.unlock();
			
		}
	}).start();

	
	IConnection server = null;

	JStormUtils.sleepMs(1000);
	System.out.println("!!server begin start!!!!!");

	server = context.bind(null, port);

	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) storm_conf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance(
			"NettyUnitTest", ProducerType.SINGLE, 1024, waitStrategy);
	server.registerQueue(recvQueue);

	TaskMessage recv = server.recv(0);
	Assert.assertEquals(req_msg, new String(recv.message()));

	lock.lock();
	clientClose.signal();
	server.close();
	contextClose.await();
	context.term();
	lock.unlock();

	System.out.println("!!!!!!!!!!!!End test_first_client!!!!!!!!!!!!!");
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:64,代码来源:NettyUnitTest.java

示例8: test_server_reboot

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_server_reboot() throws InterruptedException {
	System.out.println("!!!!!!!!!!Start server reboot test!!!!!!!!");
	final String req_msg = setupLargMsg();

	final IContext context = TransportFactory.makeContext(storm_conf);
	IConnection server = null;
	

	new Thread(new Runnable() {

		@Override
		public void run() {
		    final IConnection client = context.connect(null, "localhost", port);
		    
		    lock.lock();
		    
			List<TaskMessage> list = new ArrayList<TaskMessage>();
			TaskMessage message = new TaskMessage(task, req_msg.getBytes());
			list.add(message);

			client.send(message);

			System.out.println("Send first");

			JStormUtils.sleepMs(10000);

			System.out.println("Begin to Send second");
			client.send(message);
			System.out.println("Send second");

			JStormUtils.sleepMs(15000);
			client.send(message);
			System.out.println("Send third time");
			
			try {
                   clientClose.await();
               } catch (InterruptedException e) {
                   
                   e.printStackTrace();
               }
               client.close();
               contextClose.signal();
               lock.unlock();

		}
	}).start();

	server = context.bind(null, port);

	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) storm_conf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance(
			"NettyUnitTest", ProducerType.SINGLE, 1024, waitStrategy);
	server.registerQueue(recvQueue);

	TaskMessage recv = server.recv(0);
	System.out.println("Receive first");
	Assert.assertEquals(req_msg, new String(recv.message()));

	server.close();

	System.out.println("!!shutdow server and sleep 30s, please wait!!");
	Thread.sleep(30000);

	IConnection server2 = context.bind(null, port);
	server2.registerQueue(recvQueue);
	System.out.println("!!!!!!!!!!!!!!!!!!!! restart server !!!!!!!!!!!");

	TaskMessage recv2 = server2.recv(0);
	Assert.assertEquals(req_msg, new String(recv2.message()));

	lock.lock();
       clientClose.signal();
       server2.close();
       contextClose.await();
       context.term();
       lock.unlock();
	System.out.println("!!!!!!!!!!End server reboot test!!!!!!!!");
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:82,代码来源:NettyUnitTest.java

示例9: test_first_client

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_first_client() throws InterruptedException {
	System.out.println("!!!!!!!!Start test_first_client !!!!!!!!!!!");
	final String req_msg = setupLargMsg();

	final IContext context = TransportFactory.makeContext(storm_conf);

	new Thread(new Runnable() {

		@Override
		public void run() {

		    lock.lock();
			IConnection client = context.connect(null, "localhost", port);

			List<TaskMessage> list = new ArrayList<TaskMessage>();
			TaskMessage message = new TaskMessage(task, req_msg.getBytes());
			list.add(message);

			client.send(message);
			System.out.println("!!Client has sent data");
			JStormUtils.sleepMs(1000);
			
			try {
                   clientClose.await();
               } catch (InterruptedException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
               }
			client.close();
			contextClose.signal();
			lock.unlock();
			
		}
	}).start();

	
	IConnection server = null;

	JStormUtils.sleepMs(1000);
	System.out.println("!!server begin start!!!!!");

	server = context.bind(null, port);

	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) storm_conf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance(
			"NettyUnitTest", ProducerType.SINGLE, 1024, waitStrategy);
	server.registerQueue(recvQueue);

	TaskMessage recv = server.recv(0);
	Assert.assertEquals(req_msg, new String(recv.message()));

	lock.lock();
	clientClose.signal();
	server.close();
	contextClose.await();
	context.term();
	lock.unlock();

	System.out.println("!!!!!!!!!!!!End test_first_client!!!!!!!!!!!!!");
}
 
开发者ID:greeenSY,项目名称:Tstream,代码行数:64,代码来源:NettyUnitTest.java

示例10: test_server_reboot

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_server_reboot() throws InterruptedException {
	System.out.println("!!!!!!!!!!Start server reboot test!!!!!!!!");
	final String req_msg = setupLargMsg();

	final IContext context = TransportFactory.makeContext(storm_conf);
	IConnection server = null;
	

	new Thread(new Runnable() {

		@Override
		public void run() {
		    final IConnection client = context.connect(null, "localhost", port);
		    
		    lock.lock();
		    
			List<TaskMessage> list = new ArrayList<TaskMessage>();
			TaskMessage message = new TaskMessage(task, req_msg.getBytes());
			list.add(message);

			client.send(message);

			System.out.println("Send first");

			JStormUtils.sleepMs(10000);

			System.out.println("Begin to Send second");
			client.send(message);
			System.out.println("Send second");

			JStormUtils.sleepMs(15000);
			client.send(message);
			System.out.println("Send third time");
			
			try {
                   clientClose.await();
               } catch (InterruptedException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
               }
               client.close();
               contextClose.signal();
               lock.unlock();

		}
	}).start();

	server = context.bind(null, port);

	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) storm_conf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance(
			"NettyUnitTest", ProducerType.SINGLE, 1024, waitStrategy);
	server.registerQueue(recvQueue);

	TaskMessage recv = server.recv(0);
	System.out.println("Receive first");
	Assert.assertEquals(req_msg, new String(recv.message()));

	server.close();

	System.out.println("!!shutdow server and sleep 30s, please wait!!");
	Thread.sleep(30000);

	IConnection server2 = context.bind(null, port);
	server2.registerQueue(recvQueue);
	System.out.println("!!!!!!!!!!!!!!!!!!!! restart server !!!!!!!!!!!");

	TaskMessage recv2 = server2.recv(0);
	Assert.assertEquals(req_msg, new String(recv2.message()));

	lock.lock();
       clientClose.signal();
       server2.close();
       contextClose.await();
       context.term();
       lock.unlock();
	System.out.println("!!!!!!!!!!End server reboot test!!!!!!!!");
}
 
开发者ID:songtk,项目名称:learn_jstorm,代码行数:82,代码来源:NettyUnitTest.java

示例11: test_first_client

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_first_client() throws InterruptedException {
    System.out.println("!!!!!!!!Start test_first_client !!!!!!!!!!!");
    final String req_msg = setupLargMsg();

    final IContext context = TransportFactory.makeContext(storm_conf);

    new Thread(new Runnable() {

        @Override
        public void run() {

            lock.lock();
            IConnection client = context.connect(null, "localhost", port);

            List<TaskMessage> list = new ArrayList<TaskMessage>();
            TaskMessage message = new TaskMessage(task, req_msg.getBytes());
            list.add(message);

            client.send(message);
            System.out.println("!!Client has sent data");
            JStormUtils.sleepMs(1000);

            try {
                clientClose.await();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            client.close();
            contextClose.signal();
            lock.unlock();

        }
    }).start();

    IConnection server = null;

    JStormUtils.sleepMs(1000);
    System.out.println("!!server begin start!!!!!");

    server = initNettyServer();
    JStormUtils.sleepMs(5000);

    System.out.println("Begin to receive message");
    byte[] recv = (byte[]) server.recv(task, 1);
    Assert.assertEquals(req_msg, new String(recv));

    System.out.println("Finished to receive message");

    lock.lock();
    clientClose.signal();
    server.close();
    contextClose.await();
    context.term();
    lock.unlock();

    System.out.println("!!!!!!!!!!!!End test_first_client!!!!!!!!!!!!!");
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:60,代码来源:NettyUnitTest.java

示例12: test_msg_buffer_timeout

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_msg_buffer_timeout() throws InterruptedException {
    System.out.println("!!!!!!!!Start test_msg_buffer_timeout !!!!!!!!!!!");
    final String req_msg = setupLargMsg();

    ConfigExtension.setNettyPendingBufferTimeout(storm_conf, 10 * 1000l);
    final IContext context = TransportFactory.makeContext(storm_conf);

    new Thread(new Runnable() {

        @Override
        public void run() {

            lock.lock();
            IConnection client = context.connect(null, "localhost", port);

            List<TaskMessage> list = new ArrayList<TaskMessage>();
            TaskMessage message = new TaskMessage(task, req_msg.getBytes());
            list.add(message);

            client.send(message);
            System.out.println("!!Client has sent data");
            JStormUtils.sleepMs(1000);

            try {
                clientClose.await();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            client.close();
            contextClose.signal();
            lock.unlock();

        }
    }).start();

    IConnection server = null;

    JStormUtils.sleepMs(11000);
    System.out.println("!!server begin start!!!!!");

    server = initNettyServer();
    JStormUtils.sleepMs(5000);

    System.out.println("Begin to receive message");
    byte[] recv = (byte[]) server.recv(task, 1);
    Assert.assertEquals(null, recv);

    System.out.println("Pending message was timouout:" + (recv == null));

    lock.lock();
    clientClose.signal();
    server.close();
    contextClose.await();
    context.term();
    lock.unlock();

    System.out.println("!!!!!!!!!!!!End test_msg_buffer_timeout!!!!!!!!!!!!!");
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:61,代码来源:NettyUnitTest.java

示例13: test_server_reboot

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
public void test_server_reboot() throws InterruptedException {
    System.out.println("!!!!!!!!!!Start server reboot test!!!!!!!!");
    final String req_msg = setupLargMsg();

    final IContext context = TransportFactory.makeContext(storm_conf);
    IConnection server = null;

    new Thread(new Runnable() {

        @Override
        public void run() {
            final IConnection client = context.connect(null, "localhost", port);

            lock.lock();

            List<TaskMessage> list = new ArrayList<TaskMessage>();
            TaskMessage message = new TaskMessage(task, req_msg.getBytes());
            list.add(message);

            client.send(message);

            System.out.println("Send first");

            JStormUtils.sleepMs(10000);

            System.out.println("Begin to Send second");
            client.send(message);
            System.out.println("Send second");

            JStormUtils.sleepMs(15000);
            client.send(message);
            System.out.println("Send third time");

            try {
                clientClose.await();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            client.close();
            contextClose.signal();
            lock.unlock();

        }
    }).start();

    server = initNettyServer();

    byte[] recv = (byte[]) server.recv(task, 0);
    System.out.println("Receive first");
    Assert.assertEquals(req_msg, new String(recv));

    server.close();

    System.out.println("!!shutdow server and sleep 30s, please wait!!");
    Thread.sleep(30000);

    IConnection server2 = server = initNettyServer();
    System.out.println("!!!!!!!!!!!!!!!!!!!! restart server !!!!!!!!!!!");

    byte[] recv2 = (byte[]) server2.recv(task, 0);
    Assert.assertEquals(req_msg, new String(recv2));

    lock.lock();
    clientClose.signal();
    server2.close();
    contextClose.await();
    context.term();
    lock.unlock();
    System.out.println("!!!!!!!!!!End server reboot test!!!!!!!!");
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:73,代码来源:NettyUnitTest.java

示例14: test_multiple_client

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
/**
 * Due to there is only one client to one server in one jvm It can't do this test
 * 
 * @throws InterruptedException
 */
public void test_multiple_client() throws InterruptedException {
    System.out.println("!!!!!!!!Start test_multiple_client !!!!!!!!!!!");
    final String req_msg = setupLargMsg();

    final int clientNum = 3;
    final AtomicLong received = new AtomicLong(clientNum);

    for (int i = 0; i < clientNum; i++) {

        new Thread(new Runnable() {

            @Override
            public void run() {

                IConnection client = context.connect(null, "localhost", port);

                List<TaskMessage> list = new ArrayList<TaskMessage>();
                TaskMessage message = new TaskMessage(task, req_msg.getBytes());
                list.add(message);

                client.send(message);
                System.out.println("!!Client has sent data");

                while (received.get() != 0) {
                    JStormUtils.sleepMs(1000);
                }

                client.close();

            }
        }).start();
    }

    IConnection server = null;

    JStormUtils.sleepMs(1000);
    System.out.println("!!server begin start!!!!!");

    server = initNettyServer();

    for (int i = 0; i < clientNum; i++) {
        byte[] recv = (byte[]) server.recv(task, 0);
        Assert.assertEquals(req_msg, new String(recv));
        received.decrementAndGet();
    }

    server.close();

    System.out.println("!!!!!!!!!!!!End test_multiple_client!!!!!!!!!!!!!");
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:56,代码来源:NettyUnitTest.java

示例15: test_pending_read_server

import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Test
  public void test_pending_read_server() {
  	System.out.println("!!!!!!!! Start test_pending_read_server !!!!!!!!!!!");
      final String req_msg = "Aloha is the most Hawaiian word.";

      final IConnection server;
      final IConnection client;

      server = initNettyServer();

      client = context.connect(null, "localhost", port);
      JStormUtils.sleepMs(1000);

      List<TaskMessage> list = new ArrayList<TaskMessage>();
      TaskMessage message = new TaskMessage(task, req_msg.getBytes());
      list.add(message);

      NettyServer nServer = (NettyServer) server;
      StormChannelGroup channleGroup = nServer.getChannelGroup();
      String remoteAddress = channleGroup.getAllRemoteAddress().iterator().next();
      System.out.println("!!!!!!!!!!!!!!!!!! All remoteAddress: " + channleGroup.getAllRemoteAddress() + " !!!!!!!!!!!!!!!!!!");
      channleGroup.suspendChannel(remoteAddress);
      System.out.println("!!!!!!!!!!!!!!!!!! Suspend netty channel=" + remoteAddress + " !!!!!!!!!!!!!!!!!!");
      client.send(message);

      final List<String> recvMsg = new ArrayList<String>(); 
      Thread thread = new Thread(new Runnable() {
      	@Override
      	public void run() {
      		System.out.println("!!!!!!!!!!!!!!!!!! Start to receive msg !!!!!!!!!!!!!!!!!");
      		byte[] recv = (byte[]) server.recv(task, 0);
              Assert.assertEquals(req_msg, new String(recv));
              recvMsg.add(new String(recv));
              System.out.println("!!!!!!!!!!!!!!!!!! Finish to receive msg !!!!!!!!!!!!!!!!!!");
      	}
      });
      thread.start();
      
      JStormUtils.sleepMs(1000);
      Assert.assertEquals(true, recvMsg.size() == 0);
      System.out.println("!!!!!!!!!!!!!!!!!! Resume channel=" + remoteAddress + " !!!!!!!!!!!!!!!!!!");
      channleGroup.resumeChannel(remoteAddress);
      JStormUtils.sleepMs(1000);
      
      try {
	thread.join();
} catch (InterruptedException e) {
	e.printStackTrace();
}
      
      System.out.println("!!!!!!!!!!!!!!!!!! Recv Msg=" + recvMsg + " !!!!!!!!!!!!!!!!!!");
      Assert.assertEquals(true, recvMsg.size() == 1);
      Assert.assertEquals(req_msg, recvMsg.get(0));

      server.close();
      client.close();

      System.out.println("!!!!!!!!!!!! End test_pending_read_server !!!!!!!!!!!!!");
  }
 
开发者ID:alibaba,项目名称:jstorm,代码行数:60,代码来源:NettyUnitTest.java


注:本文中的backtype.storm.messaging.IConnection.recv方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。