BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Open Liberty 19.0.0.4 Inclus Le Support Des Reactive Streams Operators 1.0 Et Du JDK 12

Open Liberty 19.0.0.4 Inclus Le Support Des Reactive Streams Operators 1.0 Et Du JDK 12

La dernière version mensuelle d’Open Liberty 19.0.0.4 d’IBM prend en charge l’API Reactive Streams Operators 1.0 de MicroProfile, le JDK 12 et l'Universal Connection Pool d'Oracle.

Lancé pour la première fois en septembre 2017, Open Liberty est une implémentation open source du serveur d'applications WebSphere Liberty d'IBM, qui fournit un environnement d'exécution serveur permettant de créer des applications et des microservices cloud-natifs. Il prend en charge l'intégralité du framework MicroProfile et des API Java EE. Les développeurs peuvent utiliser les guides de prise en main qui fournissent des exemples sur la création, le packaging et le déploiement d'applications Web et de microservices.

Le support de Reactive Streams Operators 1.0 de MicroProfile

Les Reactive Streams fournissent un moyen de traitement de flux asynchrone avec un mécanisme de type back pressure non bloquant qui fournit un contrôle de flux et une gestion des erreurs. Cela permet à un éditeur de produire un flux de données potentiellement illimité sans surcharger le consommateur.

Le subscriber demande une quantité de données qu'il souhaite recevoir, peut contrôler le flux et traiter le flux de données à son propre rythme. Les Reactive Streams Operators de MicroProfile propose une série de générateurs permettant de créer des instances de l'API Reactive Streams de type Publisher, Subscriber et Processor.

De plus, des opérateurs tels que le filtrage et le mapping sont fournis pour manipuler et transformer le flux de données. Pour activer Reactive Streams Operators 1.0 de MicroProfile dans Open Liberty 19.0.0.4, mettez à jour le fichier server.xml :

<featureManager>
    <feature>mpReactiveStreams-1.0</feature>
</featureManager>

Une fois activée, l’API Reactive Streams Operators peut être utilisée pour produire et consommer des flux de données. Prenons l'exemple suivant où le publisher transmet des commandes en continu et le subscriber utilise le flux pour exécuter les commandes :

import org.eclipse.microprofile.reactive.streams.operators.CompletionRunner;
import org.eclipse.microprofile.reactive.streams.operators.PublisherBuilder;
import org.eclipse.microprofile.reactive.streams.operators.ReactiveStreams;
import org.eclipse.microprofile.reactive.streams.operators.SubscriberBuilder;

PublisherBuilder<Order> orderPublisher = ReactiveStreams.of(order1, order2);

SubscriberBuilder<Order, List<Shipment>> fulfillmentSubscriber =
    ReactiveStreams.<Order>builder()
        .map(order -> new Fulfillment(order).packAndShip())
        .toList();

CompletionRunner<List<Shipment>> result = orderPublisher.to(fulfillmentSubscriber);

Le support du JDK 12

Open Liberty 19.0.0.4 prend en charge la la version 12 du JDK, qui comprend le nouveau ramasse-miettes Shenandoah et la nouvelle syntaxe du switch en tant qu'expression. Les améliorations apportées au ramasse-miettes existant G1 via les JEP 344 et JEP 346 sont également incluses dans JDK 12. Notez que, en tant que features release, les mises à jour de JDK 12 prennent fin en septembre 2019.

Le support de l'Universal Connection Pool (UCP) d'Oracle

L'Universal Connection Pool (UCP) d'Oracle fournit un pool de connexions JDBC pour la mise en cache des objets de connexion de base de données. Cela permet aux utilisateurs d'Oracle Real Application Clusters(RAC) d'exploiter les fonctionnalités de haute disponibilité et de performance d'Oracle telles que Fast Connection Failover (FCF), Fast Application Notification (FAN) et Oracle Notification Services (ONS).

Open Liberty 19.0.0.4 prend en charge UCP et peut être activé en mettant à jour le fichier server.xml afin de configurer le gestionnaire d'objets, la source de données et l'url au pilote UCP :

<featureManager>
    <feature>jdbc-4.2</feature>
    <feature>jndi-1.0</feature> <!-- Required only if JNDI is desired to look up resources -->
</featureManager>

<dataSource id="oracleUCPDS" jndiName="jdbc/oracleUCPDS" >
    <jdbcDriver libraryRef="OracleUCPLib" />
    <properties.oracle.ucp URL="jdbc:oracle:thin:@//{host}:{port}/{db}" />
</dataSource>

<library id="OracleUCPLib">
    <fileset dir="{path_to_driver}" includes="ojdbcx.jar ucp.jar"/>
</library>

L'utilisation du pool de connexions UCP désactivera la fonctionnalité du pool de connexions intégrée d'Open Liberty. Par conséquent, certaines valeurs de configuration de la source de données et du gestionnaire de connexions sont ignorées.

Plus tôt cette année, InfoQ a rendu compte de la nouvelle cadence de publication de quatre semaines d’Open Liberty et a interrogé Kevin Sutter, architecte MicroProfile et Jakarta EE pour WebSphere chez IBM.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT