本文整理汇总了Java中com.rabbitmq.client.Envelope类的典型用法代码示例。如果您正苦于以下问题:Java Envelope类的具体用法?Java Envelope怎么用?Java Envelope使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Envelope类属于com.rabbitmq.client包,在下文中一共展示了Envelope类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: readMessage
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
private byte[] readMessage() throws Exception {
final CountDownLatch countDown = new CountDownLatch(1);
final AtomicReference<byte[]> result = new AtomicReference<>();
Channel channel = sender.get().createChannel();
try {
channel.basicConsume(sender.queue(), true, new DefaultConsumer(channel) {
@Override public void handleDelivery(String consumerTag, Envelope envelope,
AMQP.BasicProperties properties, byte[] body) throws IOException {
result.set(body);
countDown.countDown();
}
});
countDown.await(5, TimeUnit.SECONDS);
} finally {
channel.close();
}
return result.get();
}
示例2: sourceRecord
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
SourceRecord sourceRecord(String consumerTag, Envelope envelope, AMQP.BasicProperties basicProperties, byte[] bytes) {
Struct key = MessageConverter.key(basicProperties);
Struct value = MessageConverter.value(consumerTag, envelope, basicProperties, bytes);
final String topic = this.config.kafkaTopic.execute(RabbitMQSourceConnectorConfig.KAFKA_TOPIC_TEMPLATE, value);
return new SourceRecord(
ImmutableMap.of("routingKey", envelope.getRoutingKey()),
ImmutableMap.of("deliveryTag", envelope.getDeliveryTag()),
topic,
null,
key.schema(),
key,
value.schema(),
value,
null == basicProperties.getTimestamp() ? this.time.milliseconds() : basicProperties.getTimestamp().getTime()
);
}
示例3: envelope
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
@Test
public void envelope() {
final Envelope input = new Envelope(
13246312L,
true,
"exchange",
"routingKey"
);
final Struct actual = MessageConverter.envelope(input);
assertNotNull(actual, "actual should not be null.");
assertField(input.getDeliveryTag(), actual, MessageConverter.FIELD_ENVELOPE_DELIVERYTAG);
assertField(input.getExchange(), actual, MessageConverter.FIELD_ENVELOPE_EXCHANGE);
assertField(input.getRoutingKey(), actual, MessageConverter.FIELD_ENVELOPE_ROUTINGKEY);
assertField(input.isRedeliver(), actual, MessageConverter.FIELD_ENVELOPE_ISREDELIVER);
}
示例4: handleDelivery
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
// decode internal message
InternalMessage msg = JSONs.decodeInternalMessage(body);
// notify listener
if (msg != null) {
logger.debug("Communicator received: Received {} message for client {} user {}", msg.getMessageType(), msg.getClientId(), msg.getUserName());
switch (msg.getMessageType()) {
case PUBLISH:
listener.onPublish((InternalMessage<Publish>) msg);
break;
case DISCONNECT:
listener.onDisconnect((InternalMessage<Disconnect>) msg);
break;
default:
logger.warn("Communicator error: Communicator received unexpected message type {}", msg.getMessageType());
}
}
}
示例5: main
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* @param args
* @throws IOException
* @throws TimeoutException
* @date 2017年7月13日 下午2:57:32
* @writer junehappylove
*/
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(host);
factory.setUsername(username);
factory.setPassword(password);
factory.setPort(port);
factory.setVirtualHost(virtualHost);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
// 声明交换器
channel.exchangeDeclare(EXCHANGE_NAME_ROUTING, "direct");
// 获取匿名队列名称
String queueName = channel.queueDeclare().getQueue();
// 根据路由关键字进行多重绑定
for (String severity : routingKeys2) {
channel.queueBind(queueName, EXCHANGE_NAME_ROUTING, severity);
System.out.println("ReceiveLogsDirect2 exchange:" + EXCHANGE_NAME_ROUTING + ", queue:" + queueName
+ ", BindRoutingKey:" + severity);
}
System.out.println("ReceiveLogsDirect2 Waiting for messages");
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
byte[] body) throws UnsupportedEncodingException {
String message = new String(body, "UTF-8");
System.out.println("ReceiveLogsDirect2 Received '" + envelope.getRoutingKey() + "':'" + message + "'");
}
};
channel.basicConsume(queueName, true, consumer);
}
示例6: main
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* @param args
* @throws TimeoutException
* @throws IOException
* @date 2017年7月13日 下午2:53:18
* @writer junehappylove
*/
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(host);
factory.setUsername(username);
factory.setPassword(password);
factory.setPort(port);
factory.setVirtualHost(virtualHost);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
// 声明交换器
channel.exchangeDeclare(EXCHANGE_NAME_ROUTING, "direct");
// 获取匿名队列名称
String queueName = channel.queueDeclare().getQueue();
// 根据路由关键字进行绑定
for (String routingKey : routingKeys1) {
channel.queueBind(queueName, EXCHANGE_NAME_ROUTING, routingKey);
System.out.println("ReceiveLogsDirect1 exchange:" + EXCHANGE_NAME_ROUTING + "," + " queue:" + queueName
+ ", BindRoutingKey:" + routingKey);
}
System.out.println("ReceiveLogsDirect1 Waiting for messages");
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("ReceiveLogsDirect1 Received '" + envelope.getRoutingKey() + "':'" + message + "'");
}
};
channel.basicConsume(queueName, true, consumer);
}
示例7: main
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* @param args
* @throws TimeoutException
* @throws IOException
* @date 2017年7月11日 下午5:32:45
* @writer junehappylove
*/
public static void main(String[] args) throws IOException, TimeoutException {
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
// 设置RabbitMQ地址
factory.setHost(host);
factory.setUsername(username);
factory.setPassword(password);
factory.setPort(port);
factory.setVirtualHost(virtualHost);
// 创建一个新的连接
Connection connection = factory.newConnection();
// 创建一个通道
Channel channel = connection.createChannel();
// 声明要关注的队列
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
System.out.println("Customer Waiting Received messages");
// DefaultConsumer类实现了Consumer接口,通过传入一个频道,
// 告诉服务器我们需要那个频道的消息,如果频道中有消息,就会执行回调函数handleDelivery
Consumer consumer = new DefaultConsumer(channel) {
//envelope主要存放生产者相关信息(比如交换机、路由key等)
//body是消息实体
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("Customer Received '" + message + "'");
}
};
// 自动回复队列应答 -- RabbitMQ中的消息确认机制
channel.basicConsume(QUEUE_NAME, true, consumer);
}
示例8: main
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* @param args
* @throws TimeoutException
* @throws IOException
* @date 2017年7月13日 下午2:40:52
* @writer junehappylove
*/
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(host);
factory.setUsername(username);
factory.setPassword(password);
factory.setPort(port);
factory.setVirtualHost(virtualHost);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.exchangeDeclare(EXCHANGE_NAME, "fanout");
// 产生一个随机的队列名称
String queueName = channel.queueDeclare().getQueue();
channel.queueBind(queueName, EXCHANGE_NAME, "");// 对队列进行绑定
System.out.println("ReceiveLogs1 Waiting for messages");
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("ReceiveLogs1 Received '" + message + "'");
}
};
channel.basicConsume(queueName, true, consumer);// 队列会自动删除
}
示例9: main
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* @param args
* @throws TimeoutException
* @throws IOException
* @date 2017年7月13日 下午3:08:40
* @writer junehappylove
*/
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(host);
factory.setUsername(username);
factory.setPassword(password);
factory.setPort(port);
factory.setVirtualHost(virtualHost);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
// 声明一个匹配模式的交换器
channel.exchangeDeclare(EXCHANGE_NAME_TOPIC, "topic");
String queueName = channel.queueDeclare().getQueue();
// 路由关键字
String[] routingKeys = new String[]{"*.*.rabbit", "lazy.#"};
// 绑定路由关键字
for (String bindingKey : routingKeys) {
channel.queueBind(queueName, EXCHANGE_NAME_TOPIC, bindingKey);
System.out.println("ReceiveLogsTopic2 exchange:"+EXCHANGE_NAME_TOPIC+", queue:"+queueName+", BindRoutingKey:" + bindingKey);
}
System.out.println("ReceiveLogsTopic2 Waiting for messages");
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
byte[] body) throws UnsupportedEncodingException {
String message = new String(body, "UTF-8");
System.out.println("ReceiveLogsTopic2 Received '" + envelope.getRoutingKey() + "':'" + message + "'");
}
};
channel.basicConsume(queueName, true, consumer);
}
示例10: main
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* @param args
* @throws IOException
* @throws TimeoutException
* @date 2017年7月13日 下午3:06:20
* @writer junehappylove
*/
public static void main(String[] args) throws IOException, TimeoutException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(host);
factory.setUsername(username);
factory.setPassword(password);
factory.setPort(port);
factory.setVirtualHost(virtualHost);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
// 声明一个匹配模式的交换机
channel.exchangeDeclare(EXCHANGE_NAME_TOPIC, "topic");
String queueName = channel.queueDeclare().getQueue();
// 路由关键字
String[] routingKeys = new String[] { "*.orange.*" };
// 绑定路由
for (String routingKey : routingKeys) {
channel.queueBind(queueName, EXCHANGE_NAME_TOPIC, routingKey);
System.out.println("ReceiveLogsTopic1 exchange:" + EXCHANGE_NAME_TOPIC + ", queue:" + queueName
+ ", BindRoutingKey:" + routingKey);
}
System.out.println("ReceiveLogsTopic1 Waiting for messages");
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("ReceiveLogsTopic1 Received '" + envelope.getRoutingKey() + "':'" + message + "'");
}
};
channel.basicConsume(queueName, true, consumer);
}
示例11: configure
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* Configures the rabbitmq queues and the {@code shard-<id>-receive} consumer.
*
* Subclasses that want to change how messages are sent/received can override this method to disable the default implementation.
*
* @throws IOException if there's an error on {@link Channel#queueDeclare(String, boolean, boolean, boolean, Map)} or {@link Channel#basicConsume(String, boolean, Consumer)}.
*/
protected void configure() throws IOException {
channel.queueDeclare("shard-" + shardId + "-send", true, false, false, null);
channel.queueDeclare("shard-" + shardId + "-receive", true, false, false, null);
channel.queueDeclare("shard-" + shardId + "-available", true, false, false, null);
channel.queueDeclare("shard-" + shardId + "-unavailable", true, false, false, null);
channel.basicConsume("shard-" + shardId + "-receive", true, new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
ClientWebSocketClient c = client.get();
if(c == null) return;
JSONObject obj = new JSONObject(new String(body, StandardCharsets.UTF_8));
if(obj.has("t") && obj.getString("t").equals("gateway-ping-update")) {
c.getJDA().setPing(obj.getJSONObject("d").getLong("ping"));
return;
}
if(enableRawGatewayEvent)
c.getJDA().getEventManager().handle(new RawGatewayEvent(c.getJDA(), new JSONObject(obj.toString())));
c.handleEvent(obj);
}
});
}
示例12: receiveQuickstartMessage
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* 接受消息
*/
public void receiveQuickstartMessage() throws IOException, TimeoutException {
RabbitMQChannel channel = new RabbitMQChannel().channel();
AMQP.Queue.DeclareOk declareOk = channel.getChannel().queueDeclare(QUICKSTART_QUEUE_NAME, false, false, false, null);
System.out.println("等待接受队列【" + QUICKSTART_QUEUE_NAME + "】消息");
//建立一个消费者 监听消息的接受
Consumer consumer = new DefaultConsumer(channel.getChannel()) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope,
AMQP.BasicProperties properties, byte[] body)
throws IOException {
String message = new String(body, "UTF-8");
System.out.println("接受消息:" + message);
}
};
channel.getChannel().basicConsume(QUICKSTART_QUEUE_NAME, true, consumer);
//channel.close();
}
示例13: client
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* 调用接口
*
* @param message 消息内容 不能为空
*/
public void client(String message) throws IOException, TimeoutException {
RabbitMQChannel channel = new RabbitMQChannel().channel();
String replyQueueName = channel.getChannel().queueDeclare().getQueue();
String corrId = UUID.randomUUID().toString();
AMQP.BasicProperties props = new AMQP.BasicProperties
.Builder()
.correlationId(corrId)
.replyTo(replyQueueName)
.build();
System.out.println("rpc客户端发送消息:" + message);
channel.getChannel().basicPublish("", RPC_QUEUE_NAME, props, message.getBytes("UTF-8"));
channel.getChannel().basicConsume(replyQueueName, true, new DefaultConsumer(channel.getChannel()) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
if (properties.getCorrelationId().equals(corrId)) {
System.out.println("rpc客户端收到结果:" + new String(body, "UTF-8") + "\n");
}
}
});
}
示例14: receivePubsubMessage
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* 接受消息
*/
public void receivePubsubMessage() throws IOException, TimeoutException {
RabbitMQChannel channel = new RabbitMQChannel().channel();
channel.getChannel().exchangeDeclare(EXCHANGE_NAME, "fanout");
String queueName = channel.getChannel().queueDeclare().getQueue();
channel.getChannel().queueBind(queueName, EXCHANGE_NAME, "");
System.out.println("等待接受pusub订阅【" + EXCHANGE_NAME + "】消息");
System.out.println("选择队列:"+queueName);
Consumer consumer = new DefaultConsumer(channel.getChannel()) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope,
AMQP.BasicProperties properties, byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("接受消息:" + message + "'");
}
};
channel.getChannel().basicConsume(queueName, true, consumer);
}
示例15: receiveTopicMessage
import com.rabbitmq.client.Envelope; //导入依赖的package包/类
/**
* 接受主题消息
*/
public void receiveTopicMessage() throws IOException, TimeoutException {
RabbitMQChannel channel = new RabbitMQChannel().channel();
channel.getChannel().exchangeDeclare(TOPIC, "topic");
String queueName = channel.getChannel().queueDeclare().getQueue();
channel.getChannel().queueBind(queueName, TOPIC, "bindingKey");
System.out.println("等待接受topic主题【" + TOPIC + "】消息");
System.out.println("选择队列:" + queueName);
Consumer consumer = new DefaultConsumer(channel.getChannel()) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope,
AMQP.BasicProperties properties, byte[] body) throws IOException {
String message = new String(body, "UTF-8");
System.out.println("接受消息:" + envelope.getRoutingKey() + "':'" + message + "'");
}
};
channel.getChannel().basicConsume(queueName, true, consumer);
}