Spring Integration Jms Outbound Channel Adapter not sending messages to Queue -


hi using spring integration project connect ibm mq.below code connectionfactory , queue

<bean id="mqconnectionfactory" class="com.ibm.mq.jms.mqqueueconnectionfactory">         <property name="hostname" value="${ibm.mq.connection.url}" />         <property name="port" value="${ibm.mq.connection.port}" />         <property name="transporttype" value="1" />         <property name="queuemanager" value="${ibm.mq.conection.queuemanager}" />         <property name="channel" value="${ibm.mq.conection.channel}" />     </bean>  <bean id="asnshipconfirmqueue" class="com.ibm.mq.jms.mqqueue">         <constructor-arg value="${ibm.mq.parcelmovement.asnshipconfirm.queue}" />     </bean> 

i using above queue destination queue

<int-jms:outbound-channel-adapter id="jmsoutasnshipconfirm"         channel="asnshipconfirmupdatechannel" connection-factory="mqconnectionfactory"         destination="asnshipconfirmqueue"/> 

the broker , channel also.i have used channelinterceptor input channel of jms adapter , logged jms message sent on presend method , coming message not getting transmitted queue itself.also have checked same connection factory , same queue details in other flow , there message getting transmitted. current flow in message transmission not working given below

<int:channel id="parcelmovementcreatelabelerrorchannel"></int:channel>      <int:service-activator id="parcelmovementcreatelabelexceptionhandler"         input-channel="parcelmovementcreatelabelerrorchannel" ref="connecterrorhandler"         method="handleexceptionexposedservices">     </int:service-activator>      <int:channel id="httpcreatelabelrequestchannel" />     <int:channel id="httpcreatelabelresponsechannel" />     <int:channel id="validatecreatelabelrequestoutputchannel" />      <int:channel id="printreturnlabelrequestchannel" />     <int:channel id="printreturnlabeldbchannel" />     <int:channel id="printreturnlabelreplychannel" />     <int:channel id="outjsoncreatelabelreplychannel" />     <int:channel id="invokeshippinglabelserviceinputchannel" />     <int:channel id="invokeshippinglabeldbchannel" />     <int:channel id="shippinglabeldbchannel" />     <int:publish-subscribe-channel id="invokeshipconfirmxmlinputchannel" />     <int:channel id="invokeshippinglabelresponsechannel"/>     <int:channel id="asnshipconfirmupdatechannel"/>     <int:publish-subscribe-channel id="asnshipconfirmtransformerchannel"/>     <int-http:inbound-gateway id="createlabel"         request-channel="httpcreatelabeltrequestchannel" error-channel="parcelmovementcreatelabelerrorchannel"         reply-channel="httpcreatelabelresponsechannel" supported-methods="post"         path="${parcelmovement.createlabel.url}">         <int-http:header name="source" expression="#requestheaders.source" />         <int-http:header name="storeid" expression="#requestheaders.storeid" />         <int-http:header name="userid" expression="#requestheaders.userid" />         <int-http:header name="transactionid" expression="#requestheaders.transactionid" />         <int-http:header name="clientid" expression="#requestheaders.clientid" />         <int-http:header name="label" expression="#pathvariables.label" />         <!-- <int-http:header name="id" expression="#requestparams.get('id')?:''"              /> -->         <int-http:header name="oldparcelnumber" expression="#pathvariables.id" />     </int-http:inbound-gateway>      <int:service-activator id="validatecreatelabelrequest"         input-channel="httpcreatelabeltrequestchannel" output-channel="validatecreatelabelrequestoutputchannel"         ref="parcelmovementrequestvalidatorservice" method="validatecreatelabelrequest" />      <int:header-value-router input-channel="validatecreatelabelrequestoutputchannel"         header-name="labeltype" default-output-channel="parcelmovementcreatelabelerrorchannel">         <int:mapping value="return_label" channel="invokereturnlabelserviceinputchannel" />         <int:mapping value="shipping_label"             channel="invokeshippinglabelserviceinputchannel" />     </int:header-value-router>      <int:service-activator id="printreturnlabel"         input-channel="printreturnlabelrequestchannel" output-channel="printreturnlabeldbchannel"         ref="parcelmovementrequestvalidatorservice" method="invokeprintreturnlabel" />      <!--- call store procedure check pre-advice generated or not -->     <int-jdbc:stored-proc-outbound-gateway         id="printreturnlabelstoreproc" request-channel="printreturnlabeldbchannel"         reply-channel="printreturnlabelreplychannel" data-source="datasource"         is-function="false" ignore-column-meta-data="true"         stored-procedure-name="${sp.parcelmovement.printreturnlabel}"         expect-single-result="false">         <int-jdbc:sql-parameter-definition             name="v_old_parcel_number" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="v_return_label_number" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="v_user_id" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="v_store_id" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="response_code" direction="out" type="varchar" />         <int-jdbc:sql-parameter-definition             name="response_msg" direction="out" type="varchar" />         <int-jdbc:parameter name="v_old_parcel_number"             expression="payload.oldparcelnumber" />         <int-jdbc:parameter name="v_return_label_number"             expression="payload.returnlabelnumber" />         <int-jdbc:parameter name="v_user_id" expression="payload.userid" />         <int-jdbc:parameter name="v_store_id" expression="payload.originid" />     </int-jdbc:stored-proc-outbound-gateway>      <int:service-activator id="printreturnlabelreply"         input-channel="printreturnlabelreplychannel" ref="parcelmovementresponseservice"         method="createlabelresponse" output-channel="outjsoncreatelabelreplychannel">     </int:service-activator>      <int:object-to-json-transformer         input-channel="outjsoncreatelabelreplychannel" output-channel="httpcreatelabelresponsechannel"></int:object-to-json-transformer>      <!-- print shipping label start -->      <int:service-activator id="invokeshippinglabelservice"         input-channel="invokeshippinglabelserviceinputchannel" ref="parcelmovementrequestvalidatorservice"         method="generateshippinglabelrequest" output-channel="createreturnlabeljsonrequest">     </int:service-activator>      <int:service-activator id="invokeshippinglabeldb"         input-channel="invokeshippinglabeldbchannel" ref="parcelmovementrequestvalidatorservice"         method="invokeshippinglabeldb" output-channel="shippinglabeldbchannel">     </int:service-activator>      <int-jdbc:stored-proc-outbound-gateway         id="shippinglabelstoreproc" request-channel="shippinglabeldbchannel"         reply-channel="invokeshipconfirmxmlinputchannel"         data-source="datasource" is-function="false" ignore-column-meta-data="true"         stored-procedure-name="${sp.parcelmovement.createshippinglabelproc}"         expect-single-result="false">         <int-jdbc:sql-parameter-definition             name="v_slot_label" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="v_store_id" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="v_shipping_label_number" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="v_user_id" direction="in" type="varchar" />         <int-jdbc:sql-parameter-definition             name="temp_out" direction="out" type="#{t(oracle.jdbc.oracletypes).array}"             type-name="shipping_label_tbl" return-type="sqlreturnstructarrayshippinglabel" />         <int-jdbc:sql-parameter-definition             name="response_code" direction="out" type="varchar" />         <int-jdbc:sql-parameter-definition             name="response_msg" direction="out" type="varchar" />         <int-jdbc:parameter name="v_slot_label" expression="payload.oldparcelnumber" />         <int-jdbc:parameter name="v_store_id" expression="payload.originid" />         <int-jdbc:parameter name="v_shipping_label_number" expression="payload.returnlabelnumber" />         <int-jdbc:parameter name="v_user_id" expression="payload.userid" />     </int-jdbc:stored-proc-outbound-gateway>      <bean id="sqlreturnstructarrayshippinglabel"         class="org.springframework.data.jdbc.support.oracle.sqlreturnstructarray">         <constructor-arg name="mapper" ref="shippinglabelmapper" />     </bean>     <bean id="shippinglabelmapper"         class="com.asda.connect.parcelmovement.mapper.shippinglabelmapper" />     <int:service-activator id="invokeshipconfirmxml"         input-channel="invokeshipconfirmxmlinputchannel" ref="parcelmovementrequestvalidatorservice"         method="generateshipconfirmationxml" output-channel="invokeshippinglabelresponsechannel">     </int:service-activator>      <int:header-value-router input-channel="invokeshippinglabelresponsechannel"         header-name="isasnshipconfirmrequired" default-output-channel="parcelmovementcreatelabelerrorchannel">         <int:mapping value="no" channel="invokeshippinglabelresponsechannel" />         <!-- should point mq -->         <int:mapping value="yes"             channel="asnshipconfirmtransformerchannel" />     </int:header-value-router>      <int-xml:marshalling-transformer id="parcelmovementasnshippingeventmarshaller"         input-channel="asnshipconfirmtransformerchannel" output-channel="asnshipconfirmupdatechannel"         marshaller="jaxbunmarshaller" result-transformer="resulttransformer" />     <!-- push xml mq -->     <int-jms:outbound-channel-adapter id="jmsoutasnshipconfirm"         channel="asnshipconfirmupdatechannel" connection-factory="mqconnectionfactory"         destination="asnshipconfirmqueue"/>     <int:bridge input-channel="asnshipconfirmtransformerchannel" output-channel="invokeshippinglabelresponsechannel"/>     <int:service-activator id="invokeshippinglabelresponse"         input-channel="invokeshippinglabelresponsechannel" ref="parcelmovementresponseservice"         method="createshippinglabelresponse" output-channel="outjsoncreatelabelreplychannel">     </int:service-activator>  <!-- create label end --> 

i suggest turn on debug logging org.springframework follow message through flow, logs jmstemplate used within adapter.


Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -