Ü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