| Wywołanie kodu JAVA z ESQL |
W przypadku modułów ESQL istnieje możliwość wywołania metod JAVA prosto z kodu ESQL.
Funkcjonalność polega na tym, że poza projektem z przepływami tworzymy projekt JAVA,
który wskazujemy jako referencje w projekcie z przepływem.
W efekcie w pliku bar poza przepływem deployuje się plik jar powstały z projektu JAVA i
zawierający kod, który chcemy z ESQL wywołać. Następnie wewnątrz ESQL deklarujemy
zewnętrzną procedurę JAVA, której parametry wejściowe i parametr wyjściowy odpowiadają
parametrom kodu Java. Ważne jest, że metoda JAVA, która chcemy wywołać z kodu ESQL musi
być typu static.
Przykład procedury ESQL:
CREATE PROCEDURE getRecords (IN cursor REFERENCE, IN queue_in CHARACTER
,IN host CHARACTER
, IN port INTEGER
, IN database CHARACTER, IN user CHARACTER, IN password CHARACTER
)
RETURNS BOOLEAN LANGUAGE JAVA EXTERNAL NAME "dbrouting.DBRouter.getRecords";
Kod Java
public static Boolean getRecords(MbElement tab, String queue_in
,String host
,Long port
,String database, String user, String password
)
{
return true;
}
Poniższa lista zawiera mapowanie typów danych pomiędzy ESQL a JAVA
| ESQL |
JAVA IN |
JAVA INOUT i OUT |
| INTEGER |
Long |
Long[] |
 |
| FLOAT |
Double |
Double[] |
 |
| DECIMAL |
BigDecimal |
BigDecimal[] |
 |
| CHARACTER |
String |
String[] |
 |
| BLOB |
byte |
byte[] |
 |
| BIT |
BitSet |
BitSet[] |
 |
| DATE |
com.ibm.broker.plugin.MbDate |
com.ibm.broker.plugin.MbDate[] |
 |
| TIME |
com.ibm.broker.plugin.MbTime |
com.ibm.broker.plugin.MbTime[] |
 |
| GMTTIME |
com.ibm.broker.plugin.MbTime |
com.ibm.broker.plugin.MbTime[] |
 |
| TIMESTAMP |
com.ibm.broker.plugin.MbTimestamp |
com.ibm.broker.plugin.MbTimestamp[] |
 |
| GMTTIMESTAMP |
com.ibm.broker.plugin.MbTimestamp |
com.ibm.broker.plugin.MbTimestamp[] |
 |
| INTERVAL |
Brak |
Brak |
 |
| BOOLEAN |
Boolean |
Boolean[] |
 |
| REFERENCE |
com.ibm.broker.plugin.MbElement |
com.ibm.broker.plugin.MbElement[] |
 |
| ROW |
Brak |
Brak |
 |
| LIST |
Brak |
Brak |
 |
Powrót
|