[JAVA] Was ist neu in Apache Camel 2.19.0?
Nachdem Apache Camel 2.19.0 veröffentlicht wurde, lassen Sie uns die interessanten Funktionen zusammenfassen.
http://camel.apache.org/camel-2190-release.html
Was ist Apache Camel?
Apache Camel ist ein leichtes und hochfunktionelles Integrationsframework. Es ist in Java geschrieben, sollte aber mit anderen JVM-Sprachen wie Scala, Kotlin und Clojure funktionieren.
- Sie können mit mehr als 200 standardmäßig bereitgestellten Komponenten eine Verbindung zu verschiedenen externen Diensten und Schnittstellen herstellen.
- Java / XML DSL mit Enterprise Integration Patterns (EIP) (http://www.enterpriseintegrationpatterns.com/patterns/messaging/toc.html) wurde vollständig implementiert, um externe E / A-Nachrichten sauber weiterzuleiten es kann.
- Zur Verwendung als Core-Routing-Engine für Full-Stack-ESB-Server wie JBoss Fuse zum Einbetten in ein Programm als einzelne JAR-Bibliothek Kann weit verbreitet sein.
- Unterstützt Spring Boot und kann als Mikrodienst in der Cloud verwendet werden.
Ausgewählte Funktionen in 2.19.0
Das Highlight ist der Camel Connector Einführung. Da viele andere Funktionen hinzugefügt wurden, werden die Details weggelassen und nur die bemerkenswerten sind unten aufgeführt. (Für diejenigen, die alles sehen möchten, siehe hier.)
--Camel Connector wurde neu eingeführt. Bei Connector werden die Anwendungsfälle und nicht die Komponente eingegrenzt, sodass sie sofort mit einem externen System verknüpft werden können. Bürgerintegratoren (a.k.a. iPaaS-Benutzer), die keine vollwertigen Integrationsingenieure sind, möchten auf einfache Weise eine systemübergreifende Zusammenarbeit aufbauen.
- Spring Boot
- Auf Spring Boot 1.5.x aktualisiert.
- Alle Starterkomponenten von Camel Spring Boot verfügen jetzt über Standard-Metadatenwerte, die mit verschiedenen Entwicklungstools angezeigt werden können.
- Die Starterkomponente von Camel Spring Boot hängt jetzt von
org.apache.camel.springboot.CamelAutoConfiguration
für die automatische Konfiguration ab. Auf diese Weise können Sie die automatische Konfiguration von Camel Spring Boot deaktivieren, indem Sie im Komponententest "org.apache.camel.springboot.CamelAutoConfiguration" entfernen.
- Werkzeugsystem
- Kamel: Validiere das Ziel zum Camel Maven Plugin. Die Java / XML-Root-DSL-Validierung ist zur Kompilierungszeit möglich.
--Camel Main, Spring Boot und Camel Maven Plugin fahren die JVM jetzt automatisch herunter. Die Stoppbedingung kann so eingestellt werden, dass sie einen bestimmten Zeitraum abläuft, die gesamte Nachrichtenverarbeitung beendet und eine bestimmte Leerlaufzeit erreicht.
- Das Camel Maven Plugin kann jetzt ein Live-Reload von XML DSL durchführen. Live-Reload kann auch über die Hauptklasse eingestellt werden.
- Unterstützung für das Maven-Plug-In zur Überprüfung der OWASP-Abhängigkeit.
- Veraltete Komponenten und die Kamelkern-API in Camel 3.0 wurden weiter veraltet.
--Camel-Quellcode kann jetzt auf Java 9 erstellt werden.
- Einführung von "ReloadStrategy" SPI. Auf diese Weise kann der benutzerdefinierte Anbieter ein Live-Reload der Route initiieren.
--Camel Catalog unterstützt Unterstützung für benutzerdefinierte Laufzeitanbieter, die nur bestimmte Komponenten, Sprachen und Datenformate unterstützen. Beispiele finden Sie unter "Kamel-Katalog-Anbieter-Karaf" (Karaf) und "Kamel-Katalog-Anbieter-Springboot" (Spring Boot).
- Wenn der Failover-Lastenausgleich auf "inheritErrorHandler = false" gesetzt ist, wird der Fehlerbehandler von Camel jetzt ausgeführt, nachdem der Lastenausgleich erschöpft ist.
--Camel-Root-XML-Dump enthält jetzt benutzerdefinierte Namespaces in der Notation "xpath". In ähnlicher Weise fügt das Bearbeiten eines XML-Camel-Stamms einen Namespace in der Notation "xpath" hinzu.
RouteIdFactory
hinzugefügt. Sie können "RouteIdFactory" verwenden, um die Routen-ID automatisch auf einen aussagekräftigeren Namen als "route1", "route2" zu setzen.
- Die Funktion "Überspringen" wurde zur einfachen Sprache hinzugefügt.
- Upgrade auf Steg 9.3. (Jetty 9.2 wird weiterhin für Benutzer von Karaf 4.0.x unterstützt.)
- Da die Beispielzusammenfassung aus dem Quellcode generiert wird, können Sie immer den neuesten Status überprüfen. https://github.com/apache/camel/tree/master/examples#examples
- Einführung eines deklarativen Transformators und Validators basierend auf dem Datentyp. Anwendungsbeispiele finden Sie unter "Kamel-Beispiel-Transformator-Blaupause", "Kamel-Beispiel-Transformator-CDI", "Kamel-Beispiel-Transformator-Demo" und "Kamel-Beispiel-Validator-Federstiefel".
Neue Funktionen nach Komponenten
- Bohnenkomponente
- Wenn Sie eine Methode aufrufen, die eine
Callable
-Instanz zurückgibt, wird auch die Methode dieser Callable
aufgerufen. Infolgedessen können Groovy-Funktionen / Verschlüsse aufgerufen werden.
--Verkaufskomponente
- Unterstützung für die APIs "Limits", "Recent Items", "Approvals" und "Composite".
--NATS-Komponente
- Unterstützung für TLS und automatischen Verbindungsblitz.
--Metrikkomponente
- Unterstützung vom Typ "Messgerät".
--Dateikomponente
- Unterstützung für Read-Lock-Strategie für Clustering mit "idempotent-defined" oder "idempotent-rename".
- CDI-Komponente
- RouteBuilder auto-configuration can now be disabled from Camel CDI configuration
- Camel contexts automatic start can now be disabled from Camel CDI configuration
- Camel CDI now provides support for TransactionErrorHandler and TransactionPolicy via JTA
- Kafka-Komponente
- Den Offset-Status offline gespeichert (
stateRepository
), damit Sie vom vorherigen Offset fortfahren können.
- Verbessert, um das Einstellen / Verwenden von Komponenten zu vereinfachen.
- Einführung eines themenbasierten Power Repository durch Kafka für Idempotent Consumer EIP.
- Geändert, um den Nachrichtentext beim Senden einer Nachricht automatisch zu konvertieren (Standard-Serializer ist "String"). Außerdem können jetzt "Schlüssel" und "Partitionsschlüssel" im Endpunkt-URI angegeben werden.
--Kafka Consumer kann jetzt automatisch festschreiben, wenn es gestoppt wird. Die Werte der Option "autoCommitOnStop" sind: "sync", "async", "none"
- Box-Komponente
- Zu v2 Java API migriert.
- JPA-Komponente
- Unterstützung für Abfragen für JPA Producer hinzugefügt.
Blog über neue Funktionen in 2.19.0