當前位置: 首頁>>代碼示例>>Java>>正文


Java ConnectionFactory.setVirtualHost方法代碼示例

本文整理匯總了Java中com.rabbitmq.client.ConnectionFactory.setVirtualHost方法的典型用法代碼示例。如果您正苦於以下問題:Java ConnectionFactory.setVirtualHost方法的具體用法?Java ConnectionFactory.setVirtualHost怎麽用?Java ConnectionFactory.setVirtualHost使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.rabbitmq.client.ConnectionFactory的用法示例。


在下文中一共展示了ConnectionFactory.setVirtualHost方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
public static void main(String[] args) throws IOException {
	ConnectionFactory factory = new ConnectionFactory();
	factory.setUsername("guest");
	factory.setPassword("guest");
	factory.setVirtualHost("/");
	factory.setHost("localhost");
	factory.setPort(5672);
	Connection newConnection = factory.newConnection();

	Channel channel = newConnection.createChannel();

	Scanner scanner = new Scanner(System.in);
	String message = "";
	while(!message.equals("exit")){
		System.out.println("Enter your message");
		message = scanner.next();
		channel.queueDeclare("flink-test", true, false, false, null);
		channel.basicPublish("", "flink-test", new BasicProperties.Builder()
				.correlationId(java.util.UUID.randomUUID().toString()).build(), message.getBytes());
	}
	
	scanner.close();
	channel.close();
	newConnection.close();
}
 
開發者ID:PacktPublishing,項目名稱:Practical-Real-time-Processing-and-Analytics,代碼行數:26,代碼來源:RMQPublisher.java

示例2: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
/**
 * @param args
 * @throws IOException
 * @throws TimeoutException
 * @date 2017年7月11日 下午5:53:02
 * @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.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);
	// 分發信息
	for (int i = 0; i < 20; i++) {
		String message = "Hello RabbitMQ" + i;
		channel.basicPublish("", TASK_QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());
		System.out.println("NewTask send '" + message + "'");
	}
	channel.close();
	connection.close();
}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:28,代碼來源:NewTask.java

示例3: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
/**
 * @param args
 * @throws TimeoutException
 * @throws IOException
 * @date 2017年7月13日 下午2:49:49
 * @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");// 注意是direct
	// 發送信息
	for (String routingKey : routingKeys) {
		String message = "RoutingSendDirect Send the message level:" + routingKey;
		channel.basicPublish(EXCHANGE_NAME_ROUTING, routingKey, null, message.getBytes());
		System.out.println("RoutingSendDirect Send" + routingKey + "':'" + message);
	}
	channel.close();
	connection.close();
}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:29,代碼來源:RoutingSendDirect.java

示例4: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
/**
 * @param args
 * @throws TimeoutException
 * @throws IOException
 * @date 2017年7月13日 下午2:37:37
 * @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");// fanout表示分發,所有的消費者得到同樣的隊列信息
	// 分發信息
	for (int i = 0; i < 5; i++) {
		String message = "Hello World" + i;
		channel.basicPublish(EXCHANGE_NAME, "", null, message.getBytes());
		System.out.println("EmitLog Sent '" + message + "'");
	}
	channel.close();
	connection.close();

}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:29,代碼來源:EmitLog.java

示例5: create

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
static ConnectionProvider create(final RabbitMqConfig config, final DefaultSslConfigurator sslConfigurator) {
    final ConnectionFactory connectionFactory = new ConnectionFactory();
    connectionFactory.setUsername(config.username());
    connectionFactory.setPassword(config.password());
    connectionFactory.setVirtualHost(config.virtualHost());
    connectionFactory.setAutomaticRecoveryEnabled(config.networkRecoveryEnabled());
    connectionFactory.setTopologyRecoveryEnabled(config.topologyRecoveryEnabled());
    connectionFactory.setConnectionTimeout((int) config.connectionTimeout().toMillis());
    connectionFactory.setHandshakeTimeout((int) config.handshakeTimeout().toMillis());
    connectionFactory.setShutdownTimeout((int) config.shutdownTimeout().toMillis());
    connectionFactory.setNetworkRecoveryInterval(config.networkRecoveryInterval().toMillis());
    connectionFactory.setRequestedHeartbeat((int) config.heartbeat().getSeconds());
    connectionFactory.setRequestedChannelMax(config.channelLimit());
    connectionFactory.setRequestedFrameMax(config.frameSizeLimit());
    if (config.nonBlockingIoEnabled()) {
        connectionFactory.useNio();
    } else {
        connectionFactory.useBlockingIo();
    }
    if (config.sslEnabled()) {
        sslConfigurator.configure(connectionFactory, config);
    }
    return new RabbitConnectionProvider(config, connectionFactory);
}
 
開發者ID:FinderSystems,項目名稱:Elmer,代碼行數:25,代碼來源:RabbitConnectionProvider.java

示例6: createConnectionFactory

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
private ConnectionFactory createConnectionFactory() throws IOException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setUsername(this.config.getUsername());
    factory.setPassword(this.config.getPassword());
    factory.setVirtualHost(this.config.getVirtualHost());

    factory.setAutomaticRecoveryEnabled(true);
    factory.setConnectionTimeout(this.config.getConnectionTimeout());
    factory.setNetworkRecoveryInterval(this.config.getNetworkRecoveryInterval());

    if (this.threadFactory != null) {
        factory.setThreadFactory(this.threadFactory);
    }

    return factory;
}
 
開發者ID:OvercastNetwork,項目名稱:ProjectAres,代碼行數:17,代碼來源:QueueClient.java

示例7: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
/**
 * @param args
 * @throws TimeoutException
 * @throws IOException
 * @throws InterruptedException
 * @throws ConsumerCancelledException
 * @throws ShutdownSignalException
 */
public static void main(String[] args) throws IOException, TimeoutException, ShutdownSignalException,
		ConsumerCancelledException, InterruptedException {
	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.queueDeclare(RPC_QUEUE_NAME, false, false, false, null);
	channel.basicQos(1);
	QueueingConsumer consumer = new QueueingConsumer(channel);
	channel.basicConsume(RPC_QUEUE_NAME, false, consumer);

	System.out.println("RPCServer Awating RPC request");
	while (true) {
		QueueingConsumer.Delivery delivery = consumer.nextDelivery();
		BasicProperties props = delivery.getProperties();
		BasicProperties replyProps = new AMQP.BasicProperties.Builder().correlationId(props.getCorrelationId())
				.build();

		String message = new String(delivery.getBody(), "UTF-8");
		int n = Integer.parseInt(message);

		System.out.println("RPCServer fib(" + message + ")");
		String response = "" + fib(n);
		channel.basicPublish("", props.getReplyTo(), replyProps, response.getBytes());
		channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
	}
}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:40,代碼來源:RPCServer.java

示例8: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的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);

}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:40,代碼來源:ReceiveLogsDirect2.java

示例9: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的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);

}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:40,代碼來源:ReceiveLogsDirect1.java

示例10: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
/**
 * @param args
 * @throws TimeoutException
 * @throws IOException
 * @date 2017年7月11日 下午5:21:46
 * @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 = null;
	Channel channel = null;
	try {
		// 創建一個新的連接
		connection = factory.newConnection();
		// 創建一個通道
		channel = connection.createChannel();
		// 聲明一個隊列
		// queueDeclare第一個參數表示隊列名稱
		//第二個參數為是否持久化(true表示是,隊列將在服務器重啟時生存)
		//第三個參數為是否是獨占隊列(創建者可以使用的私有隊列,斷開後自動刪除)
		//第四個參數為當所有消費者客戶端連接斷開時是否自動刪除隊列
		//第五個參數為隊列的其他參數
		channel.queueDeclare(QUEUE_NAME, false, false, false, null);
		String message = "{\"temperature\":100}";
		// 發送消息到隊列中
		//basicPublish第一個參數為交換機名稱
		//第二個參數為隊列映射的路由key
		//第三個參數為消息的其他屬性
		//第四個參數為發送信息的主體
		channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8"));
		System.out.println("Producer Send +'" + message + "'");

	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		// 關閉通道和連接
		channel.close();
		connection.close();
	}
}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:46,代碼來源:Producer.java

示例11: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的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);
}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:39,代碼來源:Customer.java

示例12: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的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);// 隊列會自動刪除
}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:35,代碼來源:ReceiveLogs1.java

示例13: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
/**
 * @param args
 * @throws TimeoutException
 * @throws IOException
 * @date 2017年7月13日 下午3:03:24
 * @writer junehappylove
 */
public static void main(String[] args) throws IOException, TimeoutException {
	Connection connection = null;
	Channel channel = null;
	try {
		ConnectionFactory factory = new ConnectionFactory();
		factory.setHost(host);
		factory.setUsername(username);
		factory.setPassword(password);
		factory.setPort(port);
		factory.setVirtualHost(virtualHost);
		connection = factory.newConnection();
		channel = connection.createChannel();

		// 聲明一個匹配模式的交換機
		channel.exchangeDeclare(EXCHANGE_NAME_TOPIC, "topic");
		// 待發送的消息
		String[] routingKeys = new String[] { "quick.orange.rabbit", "lazy.orange.elephant", "quick.orange.fox",
				"lazy.brown.fox", "quick.brown.fox", "quick.orange.male.rabbit", "lazy.orange.male.rabbit" };
		// 發送消息
		for (String severity : routingKeys) {
			String message = "From " + severity + " routingKey' s message!";
			channel.basicPublish(EXCHANGE_NAME_TOPIC, severity, null, message.getBytes());
			System.out.println("TopicSend Sent '" + severity + "':'" + message + "'");
		}
	} catch (Exception e) {
		e.printStackTrace();
		if (connection != null) {
			channel.close();
			connection.close();
		}
	} finally {
		if (connection != null) {
			channel.close();
			connection.close();
		}
	}

}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:46,代碼來源:TopicSend.java

示例14: main

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的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);

}
 
開發者ID:pudoj,項目名稱:june.mq,代碼行數:42,代碼來源:ReceiveLogsTopic1.java

示例15: setUp

import com.rabbitmq.client.ConnectionFactory; //導入方法依賴的package包/類
@Before
public void setUp() throws Exception {
	connectionFactory = new ConnectionFactory();
	// connectionFactory.setUri("amqp://guest:[email protected]:" +
	// RABBITMQ_OUTSIDE_PORT + "/");
	connectionFactory.setHost("localhost");
	connectionFactory.setPort(6000);
	connectionFactory.setUsername("guest");
	connectionFactory.setPassword("guest");
	connectionFactory.setVirtualHost("/");

	Connection conn = null;
	Channel channel = null;

	try {
		conn = connectionFactory.newConnection();
		channel = conn.createChannel();
		channel.queueDeclare(TEST_QUEUE, false, false, false, null);
		channel.exchangeDeclare(TEST_QUEUE, "direct");
		channel.queueBind(TEST_QUEUE, TEST_QUEUE, TEST_QUEUE);
	} catch (Exception e) {
		throw new ContextedRuntimeException(e).addContextValue("queueName", TEST_QUEUE)
				.addContextValue("connectionFactory", ToStringBuilder.reflectionToString(connectionFactory));

	}
}
 
開發者ID:BreakTheMonolith,項目名稱:btm-DropwizardHealthChecks,代碼行數:27,代碼來源:RabbitMQHealthCheckTestIntegration.java


注:本文中的com.rabbitmq.client.ConnectionFactory.setVirtualHost方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。