001/*- 002 * #%L 003 * Smile CDR - CDR 004 * %% 005 * Copyright (C) 2016 - 2024 Smile CDR, Inc. 006 * %% 007 * All rights reserved. 008 * #L% 009 */ 010package ca.cdr.api.camel; 011 012import java.util.Map; 013import java.util.concurrent.CompletableFuture; 014 015/** 016 * Service to send messages to camel module routes. 017 * Can be autowired from hybrid providers. 018 */ 019public interface ICamelRouteEndpointSvc { 020 021 /** 022 * Send asynchronous request to camel module/route specified 023 * @param theModuleId the camel target module ID 024 * @param theDirectRouteName the camel target module route ID 025 * @param theInput the input object 026 * @param theHeaders the request headers 027 * @return CompletableFuture the asynchronous send response 028 */ 029 CompletableFuture<Object> sendToCamelRoute( 030 String theModuleId, String theDirectRouteName, Object theInput, Map<String, Object> theHeaders); 031}