Migration d'applications utilisant l'interface WSCallHelper vers Liberty

L'interface WSCallHelper, qui est utilisée dans WebSphere Application Server Traditional, doit être migrée vers le modèle d'encapsuleur JDBC (Java™ Database Connectivity) pour que l'application fonctionne dans Liberty. Les API WSCallHelper, qui ont été dépréciés dans WebSphere Application Server 7.0, ne sont pas disponibles dans WebSphere Application Server Liberty.

Pourquoi et quand exécuter cette tâche

Dans WebSphere Application Server Traditional, les applications utilisent l'interface WSCallHelper pour accéder aux API JDBC non-standard spécifiques aux fournisseurs. Pour Liberty, utilisez le modèle d'encapsuleur JDBC, qui correspond à une approche plus standard basée sur la spécification JDBC. Le modèle d'encapsuleur permet aux programmateurs JDBC d'implémenter l'interface Wrapper pour accéder aux API JDBC spécifiques aux fournisseurs de manière sûre dans un environnement géré par un serveur d'application. Pour que le modèle d'encapsuleur fonctionne, le pilote JDBC doit être conforme à JDBC 4.0 ou à un niveau de spécification ultérieur. Pour déterminer le niveau de spécification JDBC, consultez votre fournisseur de pilote.

Procédure

Implémentez l'interface Wrapper isWrapperFor et les méthodes unwrap pour accéder aux API JDBC spécifiques aux fournisseurs.

Les exemples suivants démontrent comment vous pouvez utiliser le modèle d'encapsuleur JDBC pour obtenir une connexion Oracle native ou un objet Oracle PreparedStatement natif pour appeler les méthodes non standard spécifiques aux fournisseurs.

  • Obtenir un objet oracle.jdbc.OracleConnection.
    Context ic = new InitialContext();
    DataSource ds = (DataSource)ic.lookup("jdbc/OracleDS");
    Connection conn = ds.getConnection();
    
    if (conn.isWrapperFor(oracle.jdbc.OracleConnection.class)) {
        oracle.jdbc.OracleConnection oraCon = conn.unwrap(oracle.jdbc.OracleConnection.class);
        // Do some vendor-specific work here.
    }
    conn.close();
  • Obtenir un objet oracle.jdbc.OraclePreparedStatement.
    Context ic = new InitialContext();
    DataSource ds = (DataSource)ic.lookup("jdbc/OracleDS");
    Connection conn = ds.getConnection();
    
    PreparedStatement pstmt = conn.prepareStatement("SELECT 1 FROM DUAL");
    if(pstmt.isWrapperFor(oracle.jdbc.OraclePreparedStatement.class)){
        oracle.jdbc.OraclePreparedStatement opstmt = pstmt.unwrap(oracle.jdbc.OraclePreparedStatement.class);
        // Do some vendor-specific work here.
    }
    pstmt.close();
    conn.close();

Icône indiquant le type de rubrique Rubrique Tâche



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_mig_wscallhelper
Nom du fichier : twlp_mig_wscallhelper.html