I don't know why but this configuration is not very optimal.
Any ideas, i need to have reliable delivery with about 20-30 messages per sec.
When i do load testing it throws me Out of memory, with 1500mb memory for tomcat and default configuration for amq.
I tried it with persistent delivery false but it is the same. When i exclude this contexts everything works perfect with the same load.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.springframework.org/schema/beans" xmlns:int="http://www.springframework.org/schema/integration"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	    http://www.springframework.org/schema/context 
	    http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/integration 
        http://www.springframework.org/schema/integration/spring-integration-2.1.xsd
        http://www.springframework.org/schema/integration/jms 
        http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.1.xsd">

	<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
		<property name="targetConnectionFactory">
			<bean class="org.apache.activemq.ActiveMQConnectionFactory">
				<property name="brokerURL" value="${jms.broker.url}" />
				<property name="optimizeAcknowledge" value="true" /> 
                <property name="useAsyncSend" value="true" />
			</bean>
		</property>
		<property name="sessionCacheSize" value="10" />
		<property name="cacheProducers" value="false" />
	</bean>
	
	<import resource="classpath*:META-INF/integration-context-my-module.xml" />
	
</beans>
Code:
<?xml version="1.0" encoding="UTF-8"?>
<beans 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.springframework.org/schema/beans" 
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:int="http://www.springframework.org/schema/integration"
	xmlns:int-stream="http://www.springframework.org/schema/integration/stream"
	xmlns:jms="http://www.springframework.org/schema/integration/jms"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	    http://www.springframework.org/schema/context 
	    http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/integration 
        http://www.springframework.org/schema/integration/spring-integration-2.1.xsd
        http://www.springframework.org/schema/integration/jms 
        http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.1.xsd
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/integration/stream
        http://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd">

	<int:publishing-interceptor id="interceptor" default-channel="myInMemoryChannel">
    <int:method 
    	pattern="startMe" 
    	payload="#args.dto.id			+ ',' + #args.dto.name......+..+   
    />
	</int:publishing-interceptor>

	<aop:config>
        <aop:advisor advice-ref="interceptor" pointcut="bean(myBeanImpl)" />
	</aop:config>

	<bean id="myQueue" class="org.apache.activemq.command.ActiveMQQueue">
        <constructor-arg name="name" value="${jms.ny.queue.name}" />
	</bean>

	<int:channel id="myInMemoryChannel" />
    <int:channel id="filteredMyChannel" />
	

		
	<int:filter 
	    input-channel="myInMemoryChannel"
		output-channel="filteredMyChannel" 
		throw-exception-on-rejection="false"
		expression="true"
        />
     
    <jms:outbound-channel-adapter channel="filteredMyChannel" destination="myQueue" delivery-persistent="true" explicit-qos-enabled="true" />
    
    <int-stream:stderr-channel-adapter channel="errorChannel" append-newline="true" />
</beans>