ConnId framework was chosen as the basic implementation. It is a direct successor of the OpenICF framework.
If needed, another ConnId connector can be added into the system by:
Searching for available ConnId connectors is based on the presence of the @ConnectorClass annotation. Due to optimization reasons the class path isn't searched completely and the search is performed only on the packages defined in module-ic.properties (in 'ic.localconnector.packages' property). Only a part of the path can be defined. As default value is set 'net.tirasa.connid', which should ensure accessibility of all ConnId connectors (the setting supports more values).
After some implementation scripted SQL connector on our projects, we are meet with probable memory leak in Scripted SQL Connector, (read some discussion about this problem #563 or similar problem on stackoverflow.com).
Solution of this problem is fork connector-framework-internal-1.4.2.0.jar and update execute method on GroovyScriptExecutorFactory with cache. Similar cache we use in DefaultGroovyScriptService