Spring integration

From Null-pointer

Jump to: navigation, search

Contents

inbound jms

<bean id="inboundCachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
        <property name="targetConnectionFactory" ref="activeMQConnectionFactory" />
        <property name="sessionCacheSize" value="10"/>
        <property name="cacheProducers" value="false"/>
    </bean>
 
 
 
<bean id="activeMQConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="${broker.in.url}"/>
    </bean>
 
    <bean id="inboundQueue" class="org.apache.activemq.command.ActiveMQQueue">
        <constructor-arg value="queue.in"/>
    </bean>
 
    <jms:message-driven-channel-adapter id="jmsIn" destination="inboundQueue" channel="inboundChannel"
                                        connection-factory="inboundCachingConnectionFactory"/>

outbound

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:integration="http://www.springframework.org/schema/integration"
       xmlns:si-xml="http://www.springframework.org/schema/integration/xml"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-1.0.xsd
           http://www.springframework.org/schema/integration/xml
           http://www.springframework.org/schema/integration/xml/spring-integration-xml-1.0.xsd">
 
 
    <bean id="outboundMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
        <property name="classesToBeBound">
            <list>
                <value>null-pointer.MemberProfileInfo</value>
                <value>null-pointer.GroupInfo</value>
            </list>
        </property>
    </bean>
 
    <bean id="resultTransformer"
      class="org.springframework.integration.xml.transformer.ResultToStringTransformer"/>
 
    <si-xml:marshalling-transformer
            input-channel="outboundObjectChannel"
            output-channel="outboundChannel"
            marshaller="outboundMarshaller"
            result-transformer="resultTransformer"
            />
 
    <integration:thread-pool-task-executor id="outboundChannelTaskExecutor" core-size="5" max-size="20" queue-capacity="2000" />
    <integration:publish-subscribe-channel id="outboundChannel" ignore-failures="true" task-executor="outboundChannelTaskExecutor"/>
 
</beans>


thread-pool-task-executor

JavaBean that allows for configuring a JDK 1.5 ThreadPoolExecutor in bean style (through its "corePoolSize", "maxPoolSize", "keepAliveSeconds", "queueCapacity" properties), exposing it as a Spring TaskExecutor. This is an alternative to configuring a ThreadPoolExecutor instance directly using constructor injection, with a separate ConcurrentTaskExecutor adapter wrapping it. [1]

Rejection policy

policy [2]

  • ABORT
  • CALLER_RUNS
  • DISCARD
  • DISCARD_OLDEST

References

  1. http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/scheduling/concurrent/ThreadPoolTaskExecutor.html Retrieved 15 Jun 2011.
  2. http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/ThreadPoolExecutor.html Retrieved 15 Jun 2011.
Personal tools