如何使用ConnectionFactory获取Rabbit密码?

时间:2017-07-10 11:40:29

标签: rabbitmq spring-rabbit

我想在Cloud Foundry中获取绑定的Rabbit用户和密码。

配置:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <h2>Stacked Bootstrap Modal Example.</h2>
 <a id="openBtn" class="btn btn-primary">Launch modal</a>

<div class="modal fade" id="myModal">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                	<h4 class="modal-title">Modal 1</h4>

            </div>
            <div class="modal-body">	
				          <canvas id="myCanvas" width="630" height="850">
          </canvas>
				<a data-toggle="modal" href="#myModal2" class="btn btn-primary">Launch modal</a>

            </div>
            <div class="modal-footer">	<a href="#" data-dismiss="modal" class="btn">Close</a>
	<a href="#" class="btn btn-primary">Save changes</a>

            </div>
        </div>
    </div>
</div>
<div class="modal fade rotate" id="myModal2">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                	<h4 class="modal-title">Modal 2</h4>

            </div>
            <div class="container"></div>
            <div class="modal-body">Content for the dialog / modal goes here.
                <br>
                <br>
                <p>come content</p>
                <br>
                <br>
                <br>	<a data-toggle="modal" href="#myModal3" class="btn btn-primary">Launch modal</a>

            </div>
            <div class="modal-footer">	<a href="#" data-dismiss="modal" class="btn">Close</a>
	<a href="#" class="btn btn-primary">Save changes</a>

            </div>
        </div>
    </div>
</div>
<div class="modal fade" id="myModal3">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                	<h4 class="modal-title">Modal 3</h4>

            </div>
            <div class="container"></div>
            <div class="modal-body">Content for the dialog / modal goes here.
                <br>
                <br>
                <br>
                <br>
                <br>	<a data-toggle="modal" href="#myModal4" class="btn btn-primary">Launch modal</a>

            </div>
            <div class="modal-footer">	<a href="#" data-dismiss="modal" class="btn">Close</a>
	<a href="#" class="btn btn-primary">Save changes</a>

            </div>
        </div>
    </div>
</div>
<div class="modal fade" id="myModal4">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                	<h4 class="modal-title">Modal 4</h4>

            </div>
            <div class="container"></div>
            <div class="modal-body">Content for the dialog / modal goes here.</div>
            <div class="modal-footer">	<a href="#" data-dismiss="modal" class="btn">Close</a>
	<a href="#" class="btn btn-primary">Save changes</a>

            </div>
        </div>
    </div>
</div>	
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

</body>
</html>

在我的控制器中,我可以获得兔子用户,但我怎样才能获得密码?

@Profile("cloud")
@Configuration
public class RabbitMQCloudConfig extends AbstractCloudConfig {
       public ConnectionFactory  rabbitFactory() {
           return connectionFactory().rabbitConnectionFactory();
       }
} 

1 个答案:

答案 0 :(得分:0)

您似乎正在使用Spring的RabbitMQ集成作为您的客户端。

所以问题是你将ConnectionFactory实现注册为ConnectionFactory Bean。如果您使用AbstractConnectionFactory的任何子类,则公开getRabbitConnectionFactory会返回a reference to the underlying Rabbit Connection factory。获得RabbitConnectionFactory后,通过调用getPassword方法获取密码非常简单。

<强> org.springframework.amqp.rabbit.connection.AbstractConnectionFactory

/**
 * Return a reference to the underlying Rabbit Connection factory.
 * @return the connection factory.
 * @since 1.5.6
 */
public com.rabbitmq.client.ConnectionFactory getRabbitConnectionFactory() {
    return this.rabbitConnectionFactory;
}