0
<int:inbound-channel-adapter channel="requestChannel"
expression="''">
<int:poller cron="0 0/2 * * * ?"/>
</int:inbound-channel-adapter>
<int:chain input-channel="requestChannel" output-channel="requestConcactChannel">
<int:header-enricher default-overwrite="true">
<int:header name="Accept" value="application/json" />
<int:header name="OData-MaxVersion" value="4.0" />
<int:header name="OData-Version" value="4.0" />
</int:header-enricher>
<int-http:outbound-gateway
url="#{requestbl.geturl()}"
expected-response-type="java.lang.String" http-method="GET"
header-mapper="headerMapper" >
</int-http:outbound-gateway>
<int:service-activator ref="accountResponseHandler" />
</int:chain>
これに続いて、outbound-gatewayを使用していくつかのURLのリクエストを送信するために使用しているコードを示します。私は動的にこのURLを生成する必要があります。動的パラメータを使用して発信ゲートウェイを呼び出します。
requestbl.geturl()は私にURL値を返しますが、アプリケーションがロードされたときに一度だけ呼び出されます。要求が送信されるたびにロードしたいと思います。
<xsd:attribute name="url-expression" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
SpEL Expression resolving to a URL to which the requests should be sent. The resolved
value may include {placeholders} for further evaluation against uri-variables.
]]></xsd:documentation>
</xsd:annotation>
</xsd:attribute>
これは、各requestMessage
に対して、実行時に呼び出され、また、あなたがその式から任意のBeanを呼び出すことができます。
説明してくれてありがとう。 –