spring - Partition step remains in started state with multiple nodes -
spring integration working fine on single node cluster. partitionstep not getting completed , remains in started state forever when deploy our application on multiple nodes. seems partitionstep waiting in receive method , never marks step completed. below configuration using. there way start aggregator on master node only?
master configuration:
<bean id="jnditemplate" class="org.springframework.jndi.jnditemplate"> <property name="environment"> <props> <prop key="java.naming.factory.initial">weblogic.jndi.wlinitialcontextfactory</prop> <prop key="java.naming.provider.url">t3://localhost:7001</prop> </props> </property> </bean> <bean id="connectionfactory" class="org.springframework.jndi.jndiobjectfactorybean"> <property name="jnditemplate" ref="jnditemplate" /> <property name="jndiname" value="jmsconnectionfactory" /> </bean> <int:channel id="requestschannel" /> <bean id="reqqueue" class="org.springframework.jndi.jndiobjectfactorybean" lazy-init="true" scope="prototype"> <property name="jnditemplate"> <ref bean="jnditemplate" /> </property> <property name="jndiname"> <value>masterrequestqueue</value> </property> </bean> <int-jms:outbound-channel-adapter connection-factory="connectionfactory" channel="requestschannel" destination="reqqueue" /> <int:channel id="replychannel" /> <bean id="replyqueue" class="org.springframework.jndi.jndiobjectfactorybean" lazy-init="true" scope="prototype"> <property name="jnditemplate"> <ref bean="jnditemplate" /> </property> <property name="jndiname"> <value>masterreplyqueue</value> </property> </bean> <int-jms:message-driven-channel-adapter connection-factory="connectionfactory" destination="replyqueue" channel="replychannel" auto-startup="false"/> <int:channel id="aggregatedreplychannel"> <int:queue /> </int:channel> <int:aggregator ref="partitionhandler" input-channel="replychannel" output-channel="aggregatedreplychannel" />
slave configuration:
<bean id="jnditemplate" class="org.springframework.jndi.jnditemplate"> <property name="environment"> <props> <prop key="java.naming.factory.initial">weblogic.jndi.wlinitialcontextfactory</prop> <prop key="java.naming.provider.url">t3://localhost:7001</prop> </props> </property> </bean> <bean id="connectionfactory" class="org.springframework.jndi.jndiobjectfactorybean"> <property name="jnditemplate" ref="jnditemplate" /> <property name="jndiname" value="jmsconnectionfactory" /> </bean> <task:executor id="taskexecutor" pool-size="10" /> <int:channel id="requestschannel"> <int:dispatcher task-executor="taskexecutor" /> </int:channel> <bean id="reqqueue" class="org.springframework.jndi.jndiobjectfactorybean" lazy-init="true" scope="prototype"> <property name="jnditemplate"> <ref bean="jnditemplate" /> </property> <property name="jndiname"> <value>masterrequestqueue</value> </property> </bean> <int-jms:message-driven-channel-adapter connection-factory="connectionfactory" destination="reqqueue" channel="requestschannel" /> <int:channel id="replychannel" /> <bean id="replyqueue" class="org.springframework.jndi.jndiobjectfactorybean" lazy-init="true" scope="prototype"> <property name="jnditemplate"> <ref bean="jnditemplate" /> </property> <property name="jndiname"> <value>masterreplyqueue</value> </property> </bean> <int-jms:outbound-channel-adapter connection-factory="connectionfactory" destination="replyqueue" channel="replychannel" /> <int:service-activator input-channel="requestschannel" output-channel="replychannel" ref="stepexecutionrequesthandler" />
spring batch version 3.0.3 spring core version 4.0.5 spring integration version 4.0.1
Comments
Post a Comment