Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
devel:documentation:systems:dev:supported-connectors [2019/01/03 16:04]
hanakp [ConnId connectors]
devel:documentation:systems:dev:supported-connectors [2019/02/26 08:44]
kotisovam greater part moved to the admin guide section
Line 1: Line 1:
 +====== Connectors: adding new ones======
 +{{tag>connector}}
 +
 +
 +===== ConnId connectors =====
 +
 +[[http://connid.tirasa.net/|ConnId framework]] was chosen as the basic implementation. It is a direct successor of the OpenICF framework.
 +
 +
 +===== Adding more connectors =====
 +If needed, another ConnId connector can be added into the system by:
 +  * Maven dependency in the **IdM-parent** module (the above mentioned 3 basic connectors are connected in this way).
 +  * Maven dependency in any other module (searching for available modules takes place in all the system modules).
 +  * adding a **jar** distribution of the connector directly into the libraries of the resulting **war**.
 +
 +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  [[https://github.com/bcvsolutions/CzechIdMng/blob/develop/Realization/backend/ic/src/main/resources/module-ic.properties|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).
 +
 +===== Probable memory leak in Scripted SQL Connector =====
 +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 [[https://redmine.czechidm.com/issues/563|#563]] or similar problem on [[https://stackoverflow.com/questions/36407119/groovyshell-in-java8-memory-leak-duplicated-classes-src-code-load-test-pr|stackoverflow.com]]).
 +
 +<note tip>Try don't use Scripted SQL Connector, but if you don't have any another choice use this connector rather on remote connector server than direct on IdM</note>
 +
 +Solution of this problem is fork connector-framework-internal-1.4.2.0.jar and update execute method on [[https://github.com/Evolveum/openicf/blob/release1.4.2.0/framework/java/connector-framework-internal/src/main/java/org/identityconnectors/common/script/groovy/GroovyScriptExecutorFactory.java#L67-L71|GroovyScriptExecutorFactory]] with cache. Similar cache we use in [[https://github.com/bcvsolutions/CzechIdMng/blob/develop/Realization/backend/core/core-impl/src/main/java/eu/bcvsolutions/idm/core/model/service/impl/DefaultGroovyScriptService.java#L71-L77|DefaultGroovyScriptService]]
 +
  
  • by apeterova