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.
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:
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:
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”
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