本文整理汇总了Java中backtype.storm.messaging.IConnection.send方法的典型用法代码示例。如果您正苦于以下问题:Java IConnection.send方法的具体用法?Java IConnection.send怎么用?Java IConnection.send使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类backtype.storm.messaging.IConnection
的用法示例。
在下文中一共展示了IConnection.send方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onEvent
import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
@Override
public void onEvent(Object event, long sequence, boolean endOfBatch) throws Exception {
if (event == null) {
return;
}
long start = System.nanoTime();
try {
ITupleExt tuple = (ITupleExt) event;
int taskid = tuple.getTargetTaskId();
IConnection conn = getConnection(taskid);
if (conn != null) {
byte[] tupleMessage = serialize(tuple);
TaskMessage taskMessage = new TaskMessage(taskid, tupleMessage);
conn.send(taskMessage);
}
} finally {
long end = System.nanoTime();
serializeTimer.update((end - start)/TimeUtils.NS_PER_US);
}
}
示例2: pullTuples
import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
protected void pullTuples(Object event) {
TupleExt tuple = (TupleExt) event;
int taskid = tuple.getTargetTaskId();
IConnection conn = getConnection(taskid);
if (conn != null) {
while (conn.available() == false) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {
}
}
byte[] tupleMessage = serializer.serialize(tuple);
TaskMessage taskMessage = new TaskMessage(taskid, tupleMessage);
conn.send(taskMessage);
}
}
示例3: serialize
import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
protected void serialize(KryoTupleSerializer serializer, Object event) {
long start = serializeTimer.getTime();
try {
ITupleExt tuple = (ITupleExt) event;
int targetTaskId = tuple.getTargetTaskId();
IConnection conn = getConnection(targetTaskId);
if (conn != null) {
byte[] tupleMessage = serializer.serialize((TupleExt) tuple);
//LOG.info("Task-{} sent msg to task-{}, data={}", task.getTaskId(), taskid,
// JStormUtils.toPrintableString(tupleMessage));
TaskMessage taskMessage = new TaskMessage(taskId, targetTaskId, tupleMessage);
conn.send(taskMessage);
} else {
LOG.error("Can not find connection for task-{}", targetTaskId);
}
} finally {
if (MetricUtils.metricAccurateCal) {
serializeTimer.updateTime(start);
}
}
}
示例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!!!!!!!!!!!!!");
}
示例5: 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!!!!!!!!");
}
示例6: 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!!!!!!!!");
}
示例7: send
import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
public void send(HashMap<String, IConnection> connections) {
for (String hostPort : bundles.keySet()) {
IConnection connection = connections.get(hostPort);
if (null != connection) {
ArrayList<ArrayList<TaskMessage>> bundle = bundles.get(hostPort);
for (ArrayList<TaskMessage> list : bundle) {
connection.send(list);
}
}
}
}
示例8: 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!!!!!!!!");
}
示例9: 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!!!!!!!!");
}
示例10: send
import backtype.storm.messaging.IConnection; //导入方法依赖的package包/类
public void send(HashMap<String, IConnection> connections) {
for (String hostPort : bundles.keySet()) {
IConnection connection = connections.get(hostPort);
if (null != connection) {
ArrayList<ArrayList<TaskMessage>> bundle = bundles.get(hostPort);
for (ArrayList<TaskMessage> list : bundle) {
connection.send(list);
}
}
}
}
示例11: 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!!!!!!!!");
}
示例12: 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 !!!!!!!!!!!!!");
}
示例13: 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 = initNettyServer();
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);
byte[] recv = (byte[]) server.recv(task, 0);
Assert.assertEquals(req_msg, new String(recv));
System.out.println("!!!!!!!!!!!!!!!!!!Test one time!!!!!!!!!!!!!!!!!");
server.close();
client.close();
System.out.println("!!!!!!!!!!!!End test_small_message!!!!!!!!!!!!!");
}