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


Java IContext.bind方法代码示例

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


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

示例1: startDispatchThread

import backtype.storm.messaging.IContext; //导入方法依赖的package包/类
private AsyncLoopThread startDispatchThread() {
	Map stormConf = workerData.getStormConf();

	int queue_size = Utils.getInt(
			stormConf.get(Config.TOPOLOGY_TRANSFER_BUFFER_SIZE), 1024);
	WaitStrategy waitStrategy = (WaitStrategy) Utils
			.newInstance((String) stormConf
					.get(Config.TOPOLOGY_DISRUPTOR_WAIT_STRATEGY));
	DisruptorQueue recvQueue = DisruptorQueue.mkInstance("Dispatch", ProducerType.MULTI,
			queue_size, waitStrategy);
	// stop  consumerStarted
	//recvQueue.consumerStarted();

	IContext context = workerData.getContext();
	String topologyId = workerData.getTopologyId();

	IConnection recvConnection = context.bind(topologyId,
			workerData.getPort());
	recvConnection.registerQueue(recvQueue);

	RunnableCallback recvDispather = new VirtualPortDispatch(workerData,
			recvConnection, recvQueue);

	AsyncLoopThread vthread = new AsyncLoopThread(recvDispather, false,
			Thread.MAX_PRIORITY, false);

	return vthread;
}
 
开发者ID:zhangjunfang,项目名称:jstorm-0.9.6.3-,代码行数:29,代码来源:Worker.java

示例2: startDispatchThread

import backtype.storm.messaging.IContext; //导入方法依赖的package包/类
private void startDispatchThread() {
    // remove dispatch thread, send tuple directly from nettyserver
    // startDispatchDisruptor();

    IContext context = workerData.getContext();
    String topologyId = workerData.getTopologyId();

    IConnection recvConnection = context.bind(topologyId, workerData.getPort(), workerData.getDeserializeQueues());

    workerData.setRecvConnection(recvConnection);
}
 
开发者ID:kkllwww007,项目名称:jstrom,代码行数:12,代码来源:Worker.java

示例3: startDispatchThread

import backtype.storm.messaging.IContext; //导入方法依赖的package包/类
private AsyncLoopThread startDispatchThread() {
    // send tuple directly from netty server
    // send control tuple to dispatch thread
    // startDispatchDisruptor();

    IContext context = workerData.getContext();
    String topologyId = workerData.getTopologyId();

    //create recv connection
    Map stormConf = workerData.getStormConf();
    long timeout = JStormUtils.parseLong(stormConf.get(Config.TOPOLOGY_DISRUPTOR_WAIT_TIMEOUT), 10);
    WaitStrategy waitStrategy = new TimeoutBlockingWaitStrategy(timeout, TimeUnit.MILLISECONDS);
    int queueSize = JStormUtils.parseInt(stormConf.get(Config.TOPOLOGY_CTRL_BUFFER_SIZE), 256);
    DisruptorQueue recvControlQueue = DisruptorQueue.mkInstance("Dispatch-control", ProducerType.MULTI,
            queueSize, waitStrategy, false, 0, 0);

    //metric for recvControlQueue
    QueueGauge revCtrlGauge = new QueueGauge(recvControlQueue, MetricDef.RECV_CTRL_QUEUE);
    JStormMetrics.registerWorkerMetric(JStormMetrics.workerMetricName(MetricDef.RECV_CTRL_QUEUE, MetricType.GAUGE), new AsmGauge(
            revCtrlGauge));

    IConnection recvConnection = context.bind(topologyId, workerData.getPort(), workerData.getDeserializeQueues(),
            recvControlQueue, false, workerData.getTaskIds());
    workerData.setRecvConnection(recvConnection);

    // create recvice control messages's thread
    RunnableCallback recvControlDispather = new VirtualPortCtrlDispatch(
            workerData, recvConnection, recvControlQueue, MetricDef.RECV_THREAD);

    return new AsyncLoopThread(recvControlDispather, false, Thread.MAX_PRIORITY, true);
}
 
开发者ID:alibaba,项目名称:jstorm,代码行数:32,代码来源:Worker.java

示例4: test_first_client

import backtype.storm.messaging.IContext; //导入方法依赖的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

示例5: test_server_reboot

import backtype.storm.messaging.IContext; //导入方法依赖的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

示例6: test_first_client

import backtype.storm.messaging.IContext; //导入方法依赖的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:songtk,项目名称:learn_jstorm,代码行数:64,代码来源:NettyUnitTest.java

示例7: test_server_reboot

import backtype.storm.messaging.IContext; //导入方法依赖的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


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