Migration d'un script vers une nouvelle version de Jython

Dans TADDM version 7.3, deux versions de Jython sont disponibles. La version actuelle de Jython 2.1 est obsolète, mais elle est toujours utilisée par défaut. Vous pouvez migrer vers un nouveau Jython 2.5.3.

Actuellement, les scripts et détecteurs basés sur des scripts utilisent Jython 2.1 par défaut, bien qu'il soit obsolète. Pour migrer vers Jython 2.5.3, procédez comme suit :
  • Pour modifier le script, modifiez les interpréteurs suivants :
    • #!/usr/bin/env ./jython_coll à #!/usr/bin/env ./jython_coll_253
    • jython_wrap à jython_wrap_253
    • cjython à cjython_253
  • Pour modifier les détecteurs basés sur des scripts, modifiez la colonne
    SCRIPT:<script.jy/py> en SCRIPT[com.ibm.cdb.core.jython253_2.5.3]:<script.jy/py>.
    Important: N'utilisez pas de versions différentes de Jython dans un détecteur de modèle. Toutes les commandes SCRIPT doivent avoir le même ensemble ; celui par défaut ou 2.5.3.
    Pour configurer un script de détecteur afin qu'il utilise Jython 2.5.3, ajoutez le code suivant dans son en-tête :
    import sys
    import java
    from java.lang import System
    coll_home = System.getProperty("com.collation.home")
    jython_home = coll_home + "/osgi/plugins/com.ibm.cdb.core.[jython_1.0.0|jython253_2.5.3]/lib/"
    sys.path.append(jython_home + "/Lib")
    sys.prefix = jython_home + "/Lib"
    
  • Pour modifier le script exécuté à l'aide de UniversalDataAgentConfiguration (lorsque parserClassName est JythonParser), ajoutez l'élément parserBundle , comme dans l'exemple suivant:
    <results>
        <UniversalDataAgentConfiguration
            xsi:type="coll:com.collation.platform.model.discovery.agent.UniversalDataAgentConfiguration">
    ...
    <parserClassName>com.collation.platform.uda.JythonParser</parserClassName>
        <parserBundle>com.ibm.cdb.core.jython253</parserBundle>
    
    ...
        </UniversalDataAgentConfiguration>
    </results>
  • Pour modifier l'interpréteur de script qui est exécuté en utilisant CustomTemplateSensor dans le descripteur CSTTemplate , ajoutez l'élément engineId , comme dans l'exemple suivant :
    <CTSTemplate>
    ...
    <engineId>com.ibm.cdb.core.jython253</engineId>
    ...
    </CTSTemplate>