2016-04-04 6 views
1

wenn ich eine Route, die Daten an zwei verschiedene Dateikomponenten Endpunkte, wo über eine EP ich interessiere nicht wirklich über die Codierung, aber über die andere EP, muss ich Stellen Sie eine bestimmte Kodierung sicher, sollte ich noch den Zeichensatznamen in beiden Kodierungen setzen?Kamel Datei Komponente Zeichensatz mit mehr als einem Endpunkten

Ich frage, weil ein Kunde von uns ein Problem in diesem Bereich hatte. Die Route empfängt UTF-8 und wir müssen iso-8859-1 in die Datei schreiben. Und jetzt, nachdem die gesamte Hardware neu gestartet wurde (nach einem Stromausfall), fanden wir Dinge wie "??" anstelle des erwarteten "ä".

Jetzt konnten wir das Problem lösen, indem wir den Zeichensatznamen auf allen Endpunkten des Dateiproduzenten angeben.

Meine eigentliche Frage ist jetzt:

denken Sie, ich kann jetzt erwarten, dass das Problem für gut gelöst? Oder sollte es nicht eine Beziehung geben und ich wäre gut beraten, sich nicht zurückzulehnen, bis ich das Problem 100% verstehe.

Hinweise, die hilfreich sein könnten:

  • zusätzlich vor einem der beiden Endpunkte Datei schreiben, wir auch .convertBodyTo tun (. Byte [] Klasse "iso-8859-1")
  • wir Kamel verwenden 2.16.1
+0

Denken Sie Ihre eigene Frage beantwortet ... Festlegen von Zeichencodierung auf Datei Endpunkte sollte das Problem geht nach vorn richten. Nichtsdestoweniger wäre es nicht schlecht, diese Theorie nach dem Entfernen des convertBodyTo (...) Aufrufs zu testen, um zu verifizieren, dass Sie beide Bits nicht benötigen. –

+0

Vielen Dank für Ihre Antwort und Agreed. Beachten Sie jedoch, dass die Frage, die ich noch mehr interessiert, ist: Konvertiert der erste der Endpunkte nicht nur, was auf die Festplatte geschrieben wird, sondern auch "downstream" Endpunkte? Gibt es auch eine "erste" EP, nur weil ich sie zuerst erklärt habe? oder ist der Auftrag unterschritten? – tobi42

+1

Ja, die Downstream-Endpunkte erhalten das codierte Byte-Array, wenn die Nachricht über die Route fließt. Es gibt einige Einstellungen in Camel (z. B. Stream-Caching), die den Hauptteil der Daten im Austausch ändern; vermeide diese und du solltest in Ordnung sein. –

Antwort

Verwandte Themen