interceptors/

ColdBox-Lifecycle-Interceptors, gescoped über eine @scope-Annotation.

On this page

interceptors/

interceptors/*.bx sind ColdBox-Interceptors (Lifecycle-Hook-Klassen - preProcess, postProcess usw.), gescoped über eine @scope-Annotation auf der Klasse selbst:

// interceptors/AuditLogger.bx
/**
 * @scope agent
 */
class {

	function preProcess( event, interceptData ) {
		// ...
	}

}

agent- vs. runtime-Scope

ScopeWirkung
agent (Standard)Wird in den eigenen interceptors/-Ordner der generierten App kopiert und in der generierten config/ColdBox.bxs interceptors-Liste registriert - wirkt nur auf diese App.
runtimeWird separat kopiert (nicht in die generierte App) zur Registrierung auf dieselbe Weise, wie ein BoxLang-Modul seine eigenen Interceptors registriert - wirkt auf die gesamte BoxLang-Runtime, nicht nur auf diese App.

Ein Interceptor ganz ohne @scope-Annotation fällt standardmäßig auf agent zurück - den engeren, sichereren Standard, da runtime-Scope Wirkungen über diese eine App hinaus hat.

Ein @scope-Wert, der weder agent noch runtime ist (ohne Berücksichtigung von Groß-/Kleinschreibung), lässt den Build mit einem klaren Fehler scheitern - es gibt keinen stillen Fallback für einen vertippten Scope.

Generierte Verdrahtung

Für Interceptors mit agent-Scope erhält die generierte config/ColdBox.bx einen Eintrag pro Interceptor:

interceptors = [
	{ class : "interceptors.AuditLogger" }
]

referenziert deterministisch jeden Interceptor mit agent-Scope genau einmal.

Edit this page Download Markdown Last updated Aug 21, 2026, 6:33:28 PM