Anwendungen, die die Schnittstelle "WSCallHelper" verwenden, auf Liberty migrieren

Die Schnittstelle WSCallHelper, die in WebSphere Application Server Traditional verwendet wird, muss in das JDBC-Wrappermuster (Java™ Database Connectivity) für die Anwendung migriert werden, damit die Anwendung in Liberty funktioniert. Die WSCallHelper-APIs, die in WebSphere Application Server 7.0 als veraltet markiert wurden, sind in WebSphere Application Server Liberty nicht mehr verfügbar.

Informationen zu diesem Vorgang

In WebSphere Application Server Traditional verwenden Anwendungen die Schnittstelle WSCallHelper für den Zugriff auf vom Standard abweichende anbieterspezifische JDBC-APIs. Verwenden Sie für Liberty das JDBC-Wrappermuster, das eine dem Standard eher entsprechende Lösung ist, die auf der JDBC-Spezifikation basiert. Das Wrappermuster ermöglicht JDBC-Programmierern, die Schnittstelle Wrapper zu implementieren, um in einer von einem Anwendungsserver verwalteten Umgebung sicher auf anbieterspezifische JDBC-APIs zuzugreifen. Damit das Wrappermuster funktioniert, muss der JDBC-Treiber mit der JDBC-Spezifikationsstufe 4.0 oder höher kompatibel sein. Zur Bestimmung der JDBC-Spezifikationsstufe wenden Sie sich an den Anbieter Ihres Treibers.

Vorgehensweise

Implementieren Sie die Methoden isWrapperFor und unwrap der Wrapper-Schnittstelle, um auf anbieterspezifische JDBC-APIs zuzugreifen.

Die folgenden Beispiele veranschaulichen, wie Sie mit dem JDBC-Wrappermuster eine native Oracle-Verbindung oder ein natives Oracle-Objekt PreparedStatement anfordern können, um die vom Standard abweichenden anbieterspezifischen Methoden aufzurufen.

  • oracle.jdbc.OracleConnection-Objekt anfordern:
    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();
  • oracle.jdbc.OraclePreparedStatement-Objekt anfordern:
    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();

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_mig_wscallhelper.html