首页 \ 问答 \ 了解Apache ActiveMQ(Understanding Apache ActiveMQ)

了解Apache ActiveMQ(Understanding Apache ActiveMQ)

我对Apache ActiveMQ的功能感到困惑。

我从这个链接下载了ActiveMQ。 所以我这样使用它(环境:Windows 7):我启动bin/activemq.bat ,然后它工作。

我的问题是:这是否意味着我在我的机器上启动服务器? 初始化ActiveMQConnectionFactory ,代理URL为tcp://localhost:61616 。 但是如果我希望我的机器作为服务器和另一台机器连接到我的服务器怎么办?


I am confused about the function of Apache ActiveMQ.

I downloaded ActiveMQ from this link. So I use it this way (environment: Windows 7): I start the bin/activemq.bat, then it works.

My question is: Does this mean I start a server on my machine? When I initialize the ActiveMQConnectionFactory, the broker URL is tcp://localhost:61616. But what if I want my machine to serve as a server and another machine to connect to my server?


原文:https://stackoverflow.com/questions/11388197
更新时间:2020-02-24 19:05

最满意答案

是的,您可以将主框用作服务器,让消费者/订户在其他框上运行(需要连接到服务器 - 您需要为要建立的连接指定服务器主机名和端口) - 一旦进入在某个地方,客户端可以使用服务器上的消息(主题或队列)。

如果您有一个生产者和一个消费者,您可以考虑使用队列 - 如果您有多个消费者/订阅者,您可以考虑设置消费者将订阅的主题。 需要根据需要将消息插入主题/队列。

您可以在代码中或最好在配置文件中指定服务器信息。

有关拓扑的参考: http//activemq.apache.org/topologies.html

此外,您可以根据用例选择是否保留邮件。 Kaha DB是首选路线(特别是如果性能受到关注)。

有用的例子:

http://sujitpal.blogspot.com/2007/12/jms-patterns-with-activemq.html

http://vvratha.blogspot.com/2012/05/java-client-to-sendreceive-messages-for.html

希望能帮助到你。


Yes, you can use the primary box as a server and have consumers/subscribers running on other boxes (which will need to connect to the server - you will need to specify the server hostname & port for the connection to be established) - once in place, the messages on the server (topic or queue) can be consumed by the clients.

If you one have one producer and one consumer, you can look into using queues - if you have more than one consumer/subscriber, you can look into setting up a topic to which the consumers will subscribe to. Messages need to be inserted to the topic/queue as needed.

You can specify the server information in your code or preferably in the config file.

For reference to topologies: http://activemq.apache.org/topologies.html

Also, you can choose to persist your messages or not based on your use case. Kaha DB is the preferred route (specially if performance is of concern).

Useful examples:

http://sujitpal.blogspot.com/2007/12/jms-patterns-with-activemq.html

http://vvratha.blogspot.com/2012/05/java-client-to-sendreceive-messages-for.html

Hope it helps.

2012-07-09

相关问答

更多

apache camel 和activemq的区别

如果想多个应用程序使用不同的协议和技术集成,可以用Apache Camel。除了支持如此多的技术和除了支持不同的编程语言,每个集成使用EIP下的相同概念!无论您使用何种协议。无论您使用什么技术。

ActiveMQ没有启动(ActiveMQ is not starting)

您必须通过命令启动ActiveMQ: activemq-admin.bat start activemq.bat用于管理,这就是你设置参数的原因 You must start ActiveMQ by command: activemq-admin.bat start activemq.bat is for managment, that's why you have set arguments

activemq问题

import javax.jms.Connection; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; jms.jar ================================ ...

如何在Apache ActiveMQ中禁用SSLv3协议?(How to disable SSLv3 protocol in Apache ActiveMQ?)

您可以在传输连接器上使用enabledProtocols选项。 您不能排除,但您可以选择有效的协议。 transport.enabledProtocols=<comma separated list of SSL/TLS protocols> 因此,仅TLS“默认”传输连接器应如下所示: <transportConnector name="ssl" uri="ssl://0.0.0.0:61618?transport.enabledProtocols=TLSv1,TLSv1.1,TLSv1.2& ...

与Apache Camel和ActiveMQ混淆(Confused with Apache Camel and ActiveMQ)

JMS,ACTIVEMQ和Apache CAMEL在世界分布式应用程序中具有相关性。 Apache Camel和ActiveMQ参与将消息从一个系统路由到另一个系统的过程,但它们在此过程中扮演不同的角色。 他们解决了两个不同的问题 基础设施:您如何连接这两个系统? 如何将邮件传输到目的地? 路由:您如何使用路由设计消息? ActiveMQ处理基础架构部分 。 它提供了连接分布式系统的队列和主题。 一旦消息到达队列或主题,ActiveMQ负责确保消息到达为该特定队列或主题指定的目标。 Camel可以 ...

ActiveMQ ConnectionFailedException(ActiveMQ ConnectionFailedException)

在再次掌握你的问题的同时,我看到8161端口......它是jetty默认端口 .....为其管理提供ActiveMQ管理控制台 ..... 您只能使用其消息传递端口进行消息传递.....端口61616,5672,61613,1883,61614分别用于openwire,amqp,stomp,mqtt,ws协议消息..... 那个配置就在这里....在'[ACTIVEMQ_HOME] / conf / activemq.xml '上 <transportConnectors> ...

了解Apache ActiveMQ(Understanding Apache ActiveMQ)

是的,您可以将主框用作服务器,让消费者/订户在其他框上运行(需要连接到服务器 - 您需要为要建立的连接指定服务器主机名和端口) - 一旦进入在某个地方,客户端可以使用服务器上的消息(主题或队列)。 如果您有一个生产者和一个消费者,您可以考虑使用队列 - 如果您有多个消费者/订阅者,您可以考虑设置消费者将订阅的主题。 需要根据需要将消息插入主题/队列。 您可以在代码中或最好在配置文件中指定服务器信息。 有关拓扑的参考: http : //activemq.apache.org/topologies. ...

关于apache activemq的身份验证(authentication about the apache activemq)

如果您要随时间访问许多用户,最简单的方法是通过JAAS LDAP模块使用LDAP目录。 如果您不在Windows环境中,Active Directory集成得很好,Apache DS也是如此。 I used JAAS PropertiesLogin to solve this problem. I can change username and password and also group information in other files, thus gaining control of a ...

ActiveMQ授权(ActiveMQ authorization)

每当我设置ActiveMQ安全性时,我发现最好使用普通的AuthorizationPlugin和通配符来表示所覆盖的目标(这就是为什么使用队列和主题的命名约定非常方便)。 我们的想法是您定义少数用户组并授予他们访问这些目的地的权限。 从用户名分配组的角色由其中一个身份验证插件处理 - JAAS插件对于在LDAP目录中的ActiveMQ配置外部化此信息特别有用。 查看FuseSource的ActiveMQ安全指南 (需要注册)以获取更多信息。 更新2018-07-02 ActiveMQ安全指南 ,现 ...

相关文章

更多

最新问答

更多
  • 如何保护Solr只允许SELECT请求给用户并禁止其他任何东西?(How to secure Solr to allow SELECT request to only users and disallow anything else?)
  • XPath表达式无效/错误TFHpple SWIFT 1.2(XPath Expression not working/incorrect TFHpple SWIFT 1.2)
  • css3 3D变换不能平滑地制作动画(css3 3D transform doesn't animate smoothly)
  • 运行时错误'91'和Outlook.Application = <对象变量或没有设置块变量>?(Run-time error '91' & Outlook.Application = Object variable or With block variable not set?)
  • 慢的webservice问题(Slow webservice problem)
  • textview的不正确对齐方式(Improper alignment of a textview)
  • 在第一步“Hello World”中出现Java错误(Cannot run “Hello World” program in Eclipse)
  • 为什么十六进制地址是14个字符?(why the hex address is 14 character?)
  • 如何在Python中的不同类中使用变量?(How to use variable in different classes in Python?)
  • asp:GridView HYPERLINKFIELD - datanavigateurlformatstring中的asp代码(asp:GridView HYPERLINKFIELD - asp code inside datanavigateurlformatstring)
  • 关于adaboost算法(About adaboost algorithm)
  • 在Matlab上内置图像(Built in Images on Matlab)
  • java swing:输入键事件时焦点丢失(java swing: Focus lost on enter key event)
  • C#中的通用约束,T是相同的TSomethingElse,对吧?(Generic constraints in C#, T is the same TSomethingElse, right?)
  • 从mybatis中的光标获取数据(Fetching data from cursor in mybatis)
  • 在运行时从XML构建对象的最佳方法(Best way for building objects out of XMLs at runtime)
  • 在整个窗口中拉伸sf :: Sprite(Stretch sf::Sprite across entire window)
  • Selenium Node API Web驱动程序等待超时处理程序(Selenium Node API web driver wait timeout handler)
  • 函数使用并且是map的一部分(循环依赖?)(Function uses and is part of map (circular dependency?))
  • 是否可以在C ++ 14中使用可选模板参数创建类型元组?(Is possible to make a tuple of types with optional template parameters in C++14?)
  • PHP从窗帘后面打印/ f(PHP prints /f from behind the curtains)
  • JFrame的contentPane的LayoutManager(LayoutManager of JFrame's contentPane)
  • 用于Instagram Feed的图像滚动(Image Roll Overs for Instagram Feed)
  • 如何显示拉伸字体(双倍宽度/高度)?(How to display stretched font (double width/height)?)
  • 文件操作API在fileapi.h和stdio.h中的WP8差异?(WP8 differences between file manipulation APIs in fileapi.h and stdio.h?)
  • 保存失败后Rails没有回滚事务()(Rails not rolling back transaction after failed save())
  • jqgrid中的分页问题与数组数据(Pagination problem in jqgrid with array data)
  • 重定向时,通过其他页面上的URL调用javascript函数(Call javascript function through url on otherpage while Redirecting)
  • 如何使用InvokeCommandAction调用我的方法并传入参数?(How do I go about using InvokeCommandAction to call a method of mine and pass in parameters?)
  • Jquerymobile按钮仅显示页面的第一个外观(Jquerymobile buttons are shown only first apperance of the page)