Chameau Direct de point de fin exception
Je vais avoir un problème simple. Je ne suis pas capable de lire un fichier de point final dans une directe point de fin. Ci-dessous l'extrait de code:
public class SampleTwo {
public static void main(String[] args) throws Exception {
final CamelContext camelContext = new DefaultCamelContext();
camelContext.start();
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("file://target/inbox?noop=true&fileName=test.csv").to("direct://start"); //Fails with "No consumers available on endpoint" exception
//from("file://target/inbox?noop=true&fileName=test.csv").to("file://target/outbox"); //Works
}
});
Thread.sleep(1000*6000);
//stop the CamelContext
// camelContext.stop();
}}
J'obtiens une exception "Non consommateurs disponibles sur le endpoint". C'est un simple routage & j'ai fait tout ce que je pouvais passé plus de 10hours maintenant 🙁
S'il vous plaît aider ... après que la pile de trace (Trace est activé)
[hread #0 - file://target/inbox] EventHelper
TRACE Notifier: org.apache.camel.impl.DefaultRuntimeEndpointRegistry@99e74a is not enabled for the event: ID-01HW466539-57567-1431438054047-0-41 exchange failure: Exchange[test.csv]
cause
org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct://start]. Exchange[test.csv]
[hread #0 - file://target/inbox] FileConsumer
TRACE Done processing file: GenericFile[test.csv] synchronously
[hread #0 - file://target/inbox] DefaultErrorHandler
ERROR Failed delivery for (MessageId: ID-01HW466539-57567-1431438054047-0-42 on ExchangeId: ID-01HW466539-57567-1431438054047-0-41). Exhausted after delivery attempt:
1 caught:
org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct://start]. Exchange[test.csv]
Message D'Histoire
--------------------------------------------------------------------------------------------------------------------------------------
RouteId ProcessorId Processor Elapsed (ms)
[route1 ] [route1 ] [file://target/inbox?fileName=test.csv&noop=true ] [ 3]
[route1 ] [to1 ] [direct://start ] [ 0]
Échange
---------------------------------------------------------------------------------------------------------------------------------------
Exchange[
Id ID-01HW466539-57567-1431438054047-0-41
ExchangePattern InOnly
Headers {breadcrumbId=ID-01HW466539-57567-1431438054047-0-42, CamelFileAbsolute=false, CamelFileAbsolutePath=C:\folder\eclipse-ws-march\camelsampletwo\target\inbox\test.csv, CamelFileContentType=null, CamelFileLastModified=1431426831841, CamelFileLength=45, CamelFileName=test.csv, CamelFileNameConsumed=test.csv, CamelFileNameOnly=test.csv, CamelFileParent=target\inbox, CamelFilePath=target\inbox\test.csv, CamelFileRelativePath=test.csv, CamelRedelivered=false, CamelRedeliveryCounter=0}
BodyType org.apache.camel.component.file.GenericFile
Body [Body is file based: GenericFile[test.csv]]]
Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct://start]. Exchange[test.csv]
OriginalL'auteur keen_girl | 2015-05-12
Vous devez vous connecter pour publier un commentaire.
Par défaut, le
direct
composant s'attend à ce qu'il y a une correspondance à la consommation pour tous les producteurs. Notez la nouvelle option de configurationfailIfNoConsumers
indiqué dans le Chameau De La Documentation. Sans un consommateur, l'échange a nulle part où aller, à la fin de votre parcours. Vous pouvez envisager d'ajouter un autre chemin comme ceci:OriginalL'auteur Adam Hawkes
Cette Exception
est également renvoyée lorsque vous oubliez de commencer votre Chameau contexte et de créer Producteur/Consommateur modèles, comme moi....
M'a pris une demi-journée pour découvrir :-(, donc n'oubliez pas
OriginalL'auteur DataHacker
Si vous avez plusieurs camelContext et vous n'avez pas mentionné corriger camelContext id puis aussi, vous obtiendrez cette exception.
OriginalL'auteur user1983048
Pourquoi vous êtes de passage à un direct ? Si vous n'avez pas de consommateurs sur direct ? Je connais le cas d'utilisation ?
Vous pouvez même ajouter simplement un journal d'extrémité après de point de terminaison et de mettre fin à la route .
OriginalL'auteur gnanagurus