中间件:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。
java中有好多中间件,比如IBM MQ,JMS,以及马上要讲的activeMQ等。
为什么要使用中间件以及使用中间件的好处就不说了。
到apache官网下载最新版本的activeMQ是apache-activemq-5.9.0。
解压到一个目录下,如果是本机用,基本上不用任何配置。如果配置的话,都在conf下配置即可。具体的请参考apache官方说明。
启动bin下的activemq.bat。如果想看例子,把webapps-demo下的demo复制到webapps下即可。
activemq内置jetty容器,而且在jetty.xml内又这样一段节点:
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="port" value="8161"/>
</bean>
熟悉tomcat的都应该明白这是对外访问的端口哦,所以可以通过localhost:8161访问jetty容器了。浏览器输入,即可看到页面,如果不相信是jetty的话可以再8161后随便输入一个路径,是不是返回如下:
Problem accessing /ddd. Reason:
Not Found
Powered by Jetty://
\webapps目录下有admin,顾名思义是管理jetty的啊,和tomcat的manager一样啊。别的不说了。
启动bin下的activemq.bat。
通过查看activemq.xml,这个文件内又有这样一段节点:
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
所以如果想访问mq,有好多种方式啊。
最常用的当然是tcp协议