Modulo Java per Mule

Ciao developer,
in questo articolo troverai una breve introduzione su come utilizzare il modulo Java per Mulesoft. Vediamo come.

Aggiunta del modulo

Una volta aggiunto il modulo Java nella “Mule Palette” mediante l’opzione “Add Modules” avremo a disposizione quattro operazioni.

aggiunta modulo mediante la palette

New

New permette di creare una nuova istanza di una classe Java, sostanzialmente in input si aspetta il nome della classe, il costruttore ed eventuali parametri in input del costruttore (se necessari).

Considerando la seguente classe di esempio:

package it.lbonaldo;

public class Example {
	
	public Example() {}
	
	public int sum(int a, int b) {
		return a + b;
	}

	public static int sum2(int a, int b) {
		return a + b;
	}
}

La configurazione dell’operazione sarà la seguente:

Configurazione operazione new

Nel tab “Advanced” come per altri moduli è possibile specificare dove mantenere l’istanza che verrà automaticamente creata da Mule, per convenzione io preferisco salvare l’istanza in una variabile (vars) denominata “instance”.

Invoke

Invoke permette l’invocazione di un metodo su un’istanza in memoria, viene spontaneo capire che si tratta di un’operazione che va a braccetto con “New”, infatti considerando lo screenshot precedente si evince che lo step successivo al “New” è proprio l’operazione “Invoke”.

Anche in questo caso la configurazione prevede la selezione della classe, il nome del metodo ed eventuali parametri un input:

configurazione operazione invoke

Nota l’istanza selezionata: vars.instance

Invoke Static

Invoke Static permette l’invocazione di un metodo definito static. A differenza di “invoke” non è necessario specificare l’istanza dell’oggetto sulla quale invocare il metodo, per il resto la configurazione rimane la medesima.

Validate Type

Validate Type permette di validare il tipo di classe di un’istanza, analogamente all’operatore “instance of” di Java:

Example example = new Example();
if (example instanceof Example) {
    System.out.println("true");
} else {
    System.out.println("false");
}

ma più potente perché permette di estendere il controllo anche alle sotto classi (subclass) mediante il parametro “Accept subtypes”

Configurazione operazione validate type

Nota in questo caso l’istanza viene propagata nel payload.

Conclusione

In alcuni casi questo modulo può essere molto d’aiuto ma, mi sento di consigliarti di usarlo il meno possibile in quanto va un pò contro la logica a componenti di Mule e a maggior ragione se il codice scritto non è dei migliori.

Per scarica il sorgente di esempio: https://Bonny@bitbucket.org/Bonny/java-module-example.git

Alcuni link utili:

Modulo ufficiale: https://www.mulesoft.com/exchange/org.mule.module/mule-java-module/

Leggi anche: Upload file via API con Mule

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

dodici + 3 =