Java Spring集成路由器配置
我正在努力寻找使用@Router注释的示例。如果我正确理解了javadocs:Java Spring集成路由器配置,java,spring,spring-integration,Java,Spring,Spring Integration,我正在努力寻找使用@Router注释的示例。如果我正确理解了javadocs: @Service public class AgentServiceImpl implements AgentService { @Override @Router(inputChannel = "agentLogin", defaultOutputChannel = "agentServiceResponse") public AgentLoginResponse login(AgentL
@Service
public class AgentServiceImpl implements AgentService {
@Override
@Router(inputChannel = "agentLogin", defaultOutputChannel = "agentServiceResponse")
public AgentLoginResponse login(AgentLoginRequest request) {
}
}
在路由器的xml示例中,有一个service activator,我正是在这个示例中绞尽脑汁想弄清楚它是如何适应的。实际上,这样做是错误的。请参阅@Router JavaDocs:
* Indicates that a method is capable of resolving to a channel or channel name
* based on a message, message header(s), or both.
因此,目标路由器组件的登录方法必须返回通道名称或整个MessageChannel对象。然后@router是否会与自己的逻辑一起用于消息的发送位置,而不是使用1个spring集成路由器,如有效负载或表达式路由器?抱歉,我不理解您的问题@路由器的功能与之完全相同。正如我们所知,最后一个基于来自底层处理器表达式或POJO的某个值的映射逻辑。因为我们用@Router标记一个方法,所以可能没有理由进行映射,因为我们总是可以从该方法返回一个通道名。从另一个角度来看,此注释具有其他选项-channelMappings。再次:参见JavaDocs。