在此 ActiveMQ 示例中,消息代理的作用是什么?
What is the message broker for in this ActiveMQ example?
我是 ActiveMQ 的新手并测试了 this implementation request/response。
我运行 Apache ActiveMQ 在同一台机器上。
它按预期工作,但我想知道,Messagebroker 在服务器代码中的用途是什么:
try {
//This message broker is embedded
BrokerService broker = new BrokerService();
broker.setPersistent(false);
broker.setUseJmx(false);
broker.addConnector(messageBrokerUrl);
broker.start();
} catch (Exception e) {
//Handle the exception appropriately
}
当我完全删除这个块时,它仍然可以工作,那么它有什么用呢?我认为,消息代理是在我之前启动的 ActiveMQ 中实现的,用于从队列中读取。为什么我需要一个“嵌入式”经纪人?
有助于理解 ActiveMQ 本质上“只是一个库”。您可以 运行 它作为一个独立的服务器(就像您在您的机器上一样),或者将它嵌入 Java 代码、单元测试或 Java 应用程序中。该网页上的示例使用嵌入式 ActiveMQ 代理 (server-side) 提供消息流的 all-in-one 视图。
由于您 运行 在同一台机器上安装了一个独立的 ActiveMQ 代理,该嵌入式代理很可能没有被使用——因为每台机器一次只能有一个进程在端口 61616 上侦听。
我是 ActiveMQ 的新手并测试了 this implementation request/response。
我运行 Apache ActiveMQ 在同一台机器上。
它按预期工作,但我想知道,Messagebroker 在服务器代码中的用途是什么:
try {
//This message broker is embedded
BrokerService broker = new BrokerService();
broker.setPersistent(false);
broker.setUseJmx(false);
broker.addConnector(messageBrokerUrl);
broker.start();
} catch (Exception e) {
//Handle the exception appropriately
}
当我完全删除这个块时,它仍然可以工作,那么它有什么用呢?我认为,消息代理是在我之前启动的 ActiveMQ 中实现的,用于从队列中读取。为什么我需要一个“嵌入式”经纪人?
有助于理解 ActiveMQ 本质上“只是一个库”。您可以 运行 它作为一个独立的服务器(就像您在您的机器上一样),或者将它嵌入 Java 代码、单元测试或 Java 应用程序中。该网页上的示例使用嵌入式 ActiveMQ 代理 (server-side) 提供消息流的 all-in-one 视图。
由于您 运行 在同一台机器上安装了一个独立的 ActiveMQ 代理,该嵌入式代理很可能没有被使用——因为每台机器一次只能有一个进程在端口 61616 上侦听。