---
title: Custom configuration initialization
description: Connectors created with the Groovy connector toolkit are stateful connectors by default. This means the connector configuration instance is created only once.
component: openicf
page_id: openicf:connector-dev-guide:advanced-custom-config
canonical_url: https://docs.pingidentity.com/openicf/connector-dev-guide/advanced-custom-config.html
---

# Custom configuration initialization

Connectors created with the Groovy connector toolkit are stateful connectors by default. This means the connector configuration instance is created only once.

The Groovy connector toolkit is precompiled code and connector configurations are initialized in a specific way. If you have specific initialization requirements, you can customize how the connector configuration instance is initialized before the first script is evaluated. The `CustomizerScript.groovy` file lets you define custom closures to interact with the default implementation.

The `CustomizerScript.groovy` file, provided with each compiled connector implementation, defines closures, such as `init {}`, `decorate {}`, and `release {}`. These closures are called during the lifecycle of the configuration.

When you unpack the Groovy connector toolkit JAR file, the `CustomizerScript.groovy` file is located at `org/forgerock/openicf/connectors/connector-implementation`.
