wso2消息代理+ spring集成性能

时间:2014-04-24 04:42:45

标签: spring wso2 integration

我正在为我的项目使用Spring集成+ WSO2消息代理。 我的流程是:

步骤1. CLient调用restful webservice

步骤2.从客户端获取Restful get info并发送到请求队列(通过网关)

步骤3. Activator从请求队列中获取消息,执行业务逻辑然后将结果发送回应答队列

步骤4. Restful获取客户端的结果和响应

我的问题是:为什么WSO2太慢?

我花了1-2秒才用WSO2完成了只有一条消息的流程。但是当我改为ActiveMQ时性能显着提高(1000信息 <6秒内完成流量)???

我的配置如下:

 <!-- WSO2 connection -->
<!--  <jee:jndi-lookup id="connectionFactory" jndi-name="qpidConnectionfactory" cache="true">
    <jee:environment>
            java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory
            connectionfactory.qpidConnectionfactory=amqp://admin:admin@carbon/carbon?brokerlist='tcp://localhost:5672'
    </jee:environment>
</jee:jndi-lookup>  -->

<!-- ActiveMQ connection -->
<bean name="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL">
        <value>tcp://localhost:61616</value>
    </property>
</bean> 

<!-- CB Configuration -->
<int:channel id="cbRequestChanel" ></int:channel>
<int:channel  id="cbResponseChanel"></int:channel >

 <jms:inbound-gateway 
       request-channel="cbRequestChanel" 
       request-destination-name="cbQueueRequest" 
       connection-factory="connectionFactory" />

<jms:outbound-gateway id="cbOutGateway"
    request-destination-name="cbQueueRequest"
    reply-destination-name="cbQueueResponse"
    request-channel="cbRequestChanel" 
    reply-channel="cbResponseChanel"
    connection-factory="connectionFactory" />

<int:gateway id="cbGateway" default-request-channel="cbRequestChanel" 
    default-reply-channel="cbResponseChanel"
    service-interface="com.test.gateway.ICBGateway" />

 <int:service-activator 
    input-channel="cbRequestChanel" method="receive"
    ref="cBServiceActivator">
</int:service-activator>

<bean id="cBServiceActivator" class="com.test.activator.CBServiceActivator" />

1 个答案:

答案 0 :(得分:1)

我已经用rabbitmq,acticemq,wso2进行了相同流程的测试并使用了spring integration 2.2。

结果如下:

WSO2: 1 消息

1-2秒

ActiveMQ: 10.000 消息

为70秒

RabbitMQ: 10.000 消息为1秒。

我不知道为什么wso2太慢了。无论如何,RabbitMQ非常强大。