Wywołanie kodu JAVA z ESQL

Autor: Marcin Kasiński
21.01.2011 13:24:00 +0200

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

ESQLJAVA INJAVA INOUT i OUT
INTEGERLongLong[]
FLOATDoubleDouble[]
DECIMALBigDecimalBigDecimal[]
CHARACTERStringString[]
BLOBbytebyte[]
BITBitSetBitSet[]
DATEcom.ibm.broker.plugin.MbDatecom.ibm.broker.plugin.MbDate[]
TIMEcom.ibm.broker.plugin.MbTimecom.ibm.broker.plugin.MbTime[]
GMTTIMEcom.ibm.broker.plugin.MbTimecom.ibm.broker.plugin.MbTime[]
TIMESTAMPcom.ibm.broker.plugin.MbTimestampcom.ibm.broker.plugin.MbTimestamp[]
GMTTIMESTAMPcom.ibm.broker.plugin.MbTimestampcom.ibm.broker.plugin.MbTimestamp[]
INTERVALBrakBrak
BOOLEANBooleanBoolean[]
REFERENCEcom.ibm.broker.plugin.MbElementcom.ibm.broker.plugin.MbElement[]
ROWBrakBrak
LISTBrakBrak

powrót
Zachęcam do przedstawienia swoich uwag i opinii w polu komentarzy.

Komentarze

Dodaj Komentarz