activemq支持协议

一、最新版支持的协议
activemq 5.15.x支持的协议:
AMQP:仅支持Java
AUTO:是一个选项,自动匹配OpenWire, STOMP, AMQP, MQTT
MQTT: MQTT is a machine-to-machine (M2M) publish/subscribe messaging transport.
OpenWire:activemq默认协议,有C#客户端和C++客户端(旧版本有C客户端)
REST:ActiveMQ implements a RESTful API to messaging which allows any web capable device to publish or consume messages using a regular HTTP POST or GET.
RSS and Atom:网络订阅方式
Stomp:ActiveMQ supports the Stomp protocol and the Stomp - JMS mapping. This makes it easy to write a client in pure Ruby, Perl, Python or PHP for working with ActiveMQ. 没有C客户端
WSIF:Apache Web Service Invocation Framework (WSIF)
WS Notification:WS通知
XMPP:使用Jabber Client客户端通讯

二、新旧版本对比
5.15.x配置文件中支持的协议:

        <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&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>

5.7.0配置文件中支持的协议:

        <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&amp;wireformat.maxFrameSize=104857600"/>
			<transportConnector name="websocket" uri="ws://0.0.0.0:61614"/>
        </transportConnectors>

三、c语言客户端
OpenWire-c客户端:
http://svn.apache.org/repos/asf/activemq/sandbox/openwire-c/

观察了下,官方c语言客户端只有send的功能,没有监听的功能

四、其他
下载一个目录下的所有文件
cd /home/posp3
wget -c -r -np -k -L -p svn.apache.org/repos/asf/activemq/sandbox/openwire-c/

移动目录
mv ./* ../../../../../../

删除没有用的目录和文件
find ./ -type f -name "index.html" -exec rm -r {} \;
rm -rf repos

Linux查看某个库的位置/是否安装
ldconfig -p | grep libapr
    libaprutil-1.so.0 (libc6,x86-64) => /usr/lib64/libaprutil-1.so.0
    libapr-1.so.0 (libc6,x86-64) => /usr/lib64/libapr-1.so.0
    
Linux查看so文件中的函数
objdump -tT /usr/lib64/libaprutil-1.so.0.3.9
查看函数名称和地址
nm -D /usr/lib64/libaprutil-1.so.0.3.9

Lunux查看a文件中的函数
查看文件:ar -t *.a
查看函数、变量:nm *.a

===============================================================

安装apr过程
./configure --prefix=/usr/apr // 指定安装到/usr/apr目录
make
make test
make install

编译出libaprutil.so
gcc  -I/usr/apr/include/apr-1 amqcs.c ow.c ow_buffer.c ow_commands_v1.c ow_marshal.c -fPIC -shared -o libaprutil.so  -L/usr/apr/lib -lapr-1
cp ./libaprutil.so /usr/lib
ldconfig

编译成可执行程序
gcc -I/usr/apr/include/apr-1 -I/home/posp3/activemq-c-client/openwire activemq.c -D_GNU_SOURCE -L/usr/apr/lib -lapr-1 -L/home/posp3/activemq-c-client -laprutil
编译成可执行程序--指定名称
gcc -I/usr/apr/include/apr-1 -I/home/posp3/activemq-c-client/openwire activemq.c -D_GNU_SOURCE -L/usr/apr/lib -lapr-1 -L/home/posp3/activemq-c-client -laprutil -o runthis
编译成静态库
gcc -I/usr/apr/include/apr-1 -I/home/posp3/activemq-c-client/openwire -c activemq.c -D_GNU_SOURCE -L/usr/apr/lib -lapr-1 -L/home/posp3/activemq-c-client -laprutil
ar rs activemq.a activemq.o

将libaprutil.so放入/usr/lib下
ldconfig #刷新动态链接库缓存

ldd runthis 
    linux-vdso.so.1 =>  (0x00007fff9e1ff000)
    libapr-1.so.0 => /usr/lib64/libapr-1.so.0 (0x00007fc67050f000)
    libaprutil.so => /usr/lib/libaprutil.so (0x00007fc6702f4000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003764400000)
    libuuid.so.1 => /lib64/libuuid.so.1 (0x000000376f400000)
    libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003772800000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003764800000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003764000000)
    libfreebl3.so => /lib64/libfreebl3.so (0x0000003772c00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003764c00000)
    
./runthis 
Connecting......Could not connect: No space left on device (28)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值