Übersicht
Dieser Service erlaubt es eine in der Datenbank hinterlegte Stored Procedure auszuführen.
Technische Beschreibung
Klassenpfad: org.b2bbp.eai.services.StoredProceduresService
Konfigurationsmöglichkeiten
Die gesamte Konfiguration dieses Services findet in der Extension STORED_PROCEDURES_EXTENSION statt. In dieser Extension können mehrere Konfigurationen hinterlegt werden. Die richtige Konfiguration wird über den Schlüssel CALLED_STORED_PROCEDURE im MessageContext ausgelesen. Die Konfiguration kennt die folgenden Parameter:
.ressource
Diese Property definiert die zu verwendende Datenquelle. Es muss der Name einer Datenquelle sein, welche in der b2bbp-engine.xml Datei konfiguriert ist (<CATALINA_HOME>\conf\Catalina\localhost).
.function
Hiermit wird der Name der in der Datenbank hinterlegten Stored Procedure konfiguriert. Gleichzeitig gibt man die Anzahl der zu übergebenden Parameter in der Form (?,?). In diesem Fall rechnet die Stored Procedure mit 2 Parametern
.inputParams
Mit dieser Konfiguration bestimmt man die Input Parameter, indem man die MessageContext Schlüssel angibt, unter denen die Werte dort hinterlegt sind.
.inputParamsType
Diese Property ermöglicht es ein Mapping zwischen dem Wert im MessageContext und dem erwarteten Datenbanktyp (z.B. Integer) herzustellen. Die folgenden Mappings sind hierbei konfigurierbar:
- TYPE_INTEGER - Mapping von String auf Integer
- TYPE_STRING - führt die toString() Methode auf dem MessageContext-Wert aus
- TYPE_DATE - Konvertierung von String in ein Date Objekt
- TYPE_CLOB - Konvertierung in ein CharArray
- TYPE_TABLE - Legt eine temporäre Tabelle an und befüllt diese mit den Daten aus einer List<Map<String, Object>> aus dem MessageContext
.inputTableTypeTableNames
Nur für Input-Parameter mit TYPE_TABLE: Komma-separarierte Liste mit Tabellen-Namen für die temporären Tabellen
.inputTableTypeCreateStatements
Nur für Input-Parameter mit TYPE_TABLE: Komma-separarierte Liste mit Create-Statements für die temporären Tabellen
.outputParamsType
Komma-separierte Liste der Output-Parameter-Typen. Die folgenden Typen sind hierbei konfigurierbar:
- TYPE_INTEGER
- TYPE_STRING
- TYPE_TIMESTAMP
- TYPE_FLOAT
- TYPE_CHAR
- TYPE_TABLE - Die Tabelle wird in eine List<Map<String, Object>> konvertiert
.outputParamsName
Komma-separierte Liste der Output-Parameter-Namen. Die Output-Parameter werden unter diesen Namen im MessageContext gespeichert.
Beispielkonfiguration
<StoredProcedureKey>.ressource=b2bbp
<StoredProcedureKey>.function=StoredProcedureName(?,?)
<StoredProcedureKey>.inputParams=integer1, integer2
<StoredProcedureKey>.inputParamsType=TYPE_INTEGER,TYPE_INTEGER
In dieser Beispielkonfiguration wird die Datenquelle b2bbp verwendet, um dort die Stored Procedure mit dem Namen StoredProcedureName aufzurufen. Diese Procedure erwartet eine Eingabe Parameter, welche aus dem MessageContext geladen werden mit den Schlüsseln integer1 und integer2. Da es sich in unserem Beispiel noch um String-Werte handelt, werden diese zu Integer-Objekten konvertiert mit der Angabe TYPE_INTEGER.
View Me Edit Me