[英]Spring integration: no such method exception for custom inbound channel adapter
我正在嘗試從我的
As2MessageHandler<\/code>類調用
processMessage<\/code>方法作為我使用自定義入站通道適配器進入 spring 集成的入口點。
但是我一直收到這個錯誤,說當它明顯在類中時找不到該方法:
as2MessageHandler 類:
@Component
public class As2MessageHandler extends AbstractProcessorModule implements IProcessorStorageModule {
private static final Logger LOGGER = LoggerFactory.getLogger(As2MessageHandler.class);
@Override
public boolean canHandle(@Nonnull String s, @Nonnull IMessage iMessage, @Nullable Map<String, Object> map) {
LOGGER.info(" Handle Info:" + s);
return s.equals(DO_STORE);
}
@Override
public void handle(@Nonnull String s, @Nonnull IMessage iMessage, @Nullable Map<String, Object> map) throws AS2Exception {
LOGGER.info("----- AS2 MESSAGE RECEIVED !!! ------");
LOGGER.info(iMessage.getContentType());
LOGGER.info(iMessage.getContentDisposition());
LOGGER.info(iMessage.getAsString());
processMessage(iMessage);
}
public String processMessage(IMessage message) {
LOGGER.info("BEGIN PROCESSING MESSAGE");
return message.getAsString();
}
}
錯誤是正確的。 由於方法的簽名是錯誤的,而不是它的存在,它可能會產生一點誤導。 因此,由於入站通道適配器是流程的開始,因此該方法實際上不能有任何輸入來為消息生成數據。 因此,尚不清楚您對該IMessage
作為該方法的輸入的期望是什么。
不清楚您的設計是什么,但輪詢器調用<int:inbound-channel-adapter>
中的 POJO 方法作為消息的數據源。 換句話說,作為源的 POJO 方法不能有參數 - 只有返回。 這就是拋出異常的原因。
我在您的As2MessageHandler
不到任何可以作為入站通道適配器中消息源的內容。 這個看起來更像是一個服務激活器。 請修改您的設計以支持其他真正可用作該 AS2 協議中的數據源的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.