linux上安装部署activemq

来源:互联网 发布:sql server语句 编辑:程序博客网 时间:2024/05/20 10:12

1,新建文件夹

mkdir activemq


2,下载activemq安装包,拷贝到/activemq目录下

apache-activemq-5.9.0-bin.tar.gz,下载地址http://activemq.apache.org/download.html


3,解压文件到运行目录/activemq
tar -xzvf /server/apache-activemq-5.9.0-bin.tar.gz


4,修改activemq运行文件的权限 
cd /activemq/apache-activemq-5.9.0/bin 
chmod 755 activemq 

5,运行的三种方式:

着三种方式都必须先找到activemq的bin目录

cd /activemq/apache-activemq-5.9.0/bin 

(1)普通启动 ./activemq start
(2)启动并指定日志文件 ./activemq start >/tmp/smlog 
(3)后台启动方式      nohup ./activemq start >/tmp/smlog 2>&1 & 

6,查看activemq进程是否存在

ps -ef | grep activemq 

7,关闭

如果开启方式是使用(1)或(2),则直接ctrl+c或者关闭对应的终端即可 


如果开启方式是(3),
先查找到activemq对应的进程: 
ps -ef | grep activemq 
然后把对应的进程杀掉,假设找到的进程编号为 25443
kill -9 25443
,
8,直接访问activemq的管理页面:

http://localhost:8161/admin/

初始登录用户名很密码均是admin


9,activemq 中文乱码问题

cd /apache-activemq-5.9.0/webapps/admin/WEB-INF/

在该文件夹下的web.xml中添加:

  <filter>  
<filter-name>characterEncodingFilter</filter-name>  
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
<init-param>  
<param-name>encoding</param-name>  
<param-value>UTF-8</param-value>  
</init-param>  
<init-param>  
<param-name>forceEncoding</param-name>  
<param-value>true</param-value>  
</init-param>  
  </filter>  
 
  <filter-mapping>  
<filter-name>characterEncodingFilter</filter-name>  
<url-pattern>/*</url-pattern>  
  </filter-mapping> 

注意我的项目都是UTF-8编码的。


另外:

经过以上操作,一般情况下,在浏览器地址栏可以http://localhost:8161/admin/进入activemq管理页面。

下面我说一下我遇到的问题:

我在VMware虚拟机上配置好一台CentOS(linux),给该机器设置好静态IP:192.168.2.179。现在CentOS的状态是,可以访问外网,我在本地也能ping通CentOS。

在CentOS的浏览器里也能够登录http://localhost:8161/admin/。

但是我在本地eclipse里,却不能够以tcp://192.168.2.179:61616向CentOS上的activemq发送队列,报一下错误:

javax.jms.JMSException: Could not connect to broker URL: tcp://192.168.2.179:61616. Reason: java.net.ConnectException: Connection timed out: connect
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:286)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230)
at org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178)

另外说明一点,

我也修改了activemq/apache-activemq-5.9.0/conf/activemq.xml文件里的:

        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://192.168.2.179:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="amqp" uri="amqp://192.168.2.179:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="stomp" uri="stomp://192.168.2.179:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://192.168.2.179:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://192.168.2.179:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="192.168.2.179" dataDirectory="${activemq.data}">

这些。

这是我的一个遗留问题,在此先记下,还望高人指点。


另可参考:http://activemq.apache.org/getting-started.html


1 0
原创粉丝点击