0

メッセージが FORWARD キューに送受信されるときの簡単なテストを作成したいと思います。メッセージを受信したら、サービスを呼び出す必要があります。

残念ながら、メッセージは送信されますが、受信されMessage<?> message = MessageBuilder.withPayload(params); forwardGateway.sendPremMessage(message);ません。

これは私の設定です:

  <!-- SENDER -->

<si:gateway id="forwardGateway" 
    service-interface="com.ucware.ucpo.forward.jms.MessageGateway" 
    default-request-channel="inputChannel"/>

<si:channel id="inputChannel"/>

    <!-- Subscriber to a channel -->
<int-jms:outbound-channel-adapter 
channel="inputChannel"
connection-factory="connectionFactory" 
destination-name="FORWARD" />


<!-- RECEIVER -->
<int:channel id="jmsInChannel"/>

 <!-- Subscriber to jmsInChannel. Used instead of inboud channel adapter -->
<int-jms:message-driven-channel-adapter id="messageDrivenAdapter"
    channel="jmsInChannel" destination-name="FORWARD" connection-factory="connectionFactory"
    concurrent-consumers="1" auto-startup="true" acknowledge="auto"/>

 // This service should be invoked but it is not 
<si:service-activator id ="activator" 
    input-channel="jmsInChannel"
    ref="messageService" 
    method="process"/>

サービスは次のように定義されます。

@MessageEndpoint
public class MessageService   {

public void process(Message<?> message )  

ゲートウェイは次のようになります。

public interface MessageGateway  {

@Gateway 
public void sendPremMessage(Message<?> message);
}
4

1 に答える 1