Error en JCO

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • ekim68
    Member
    • mar
    • 57

    #1

    Error en JCO

    Hola compañeros, me preguntaba si alguno de ustedes ha realizado interfaces con el Java Connector, debido a que en la empresa no se han decidido por el Modulo de PI, solicitarón dos RFC para una aplicación web en JAVA.

    Se desarrollaron las interfaces y los prgramas en Java, se probaron y funcionaban bien.

    Se les proporcionaron a los desarrolladores de la aplicación web y al integrarla con sus aplicación comentan que despues de 6 u 8 ejecuciones la aplicación manda el siguiente error:

    Error 500: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
    JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [sapjcorfc (Library is already loaded in another ClassLoader)].
    java.library.path [C:\Archivos de programa\IBM\SDP\runtimes\base_v61\java\jre\bin;.; C:\Archivos de programa\IBM\SDP\runtimes\base_v61\bin;
    C:\Archivos de programa\IBM\SDP\runtimes\base_v61\java\bin;C:\Arc hivos de programa\IBM\SDP\runtimes\base_v61\java\jre\bin;C: \WINDOWS\system32;
    C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Archivos de programa\Diskeeper Corporation\Diskeeper\;C:\Archivos de programa\IBM\Trace Facility\;
    C:\Archivos de programa\IBM\Personal Communications\;C:\ARCHIV~1\IBM\SQLLIB\BIN;C:\ARCH IV~1\IBM\SQLLIB\FUNCTION;
    C:\ARCHIV~1\IBM\SQLLIB\SAMPLES\REPL;E:\QTSystem\;C :\Archivos de programa\QuickTime\QTSystem\;
    C:\Archivos de programa\IBM\SDP\runtimes\base_v61\profiles\was61p rofile1\bin;C:\Archivos de programa\Windows Imaging\;
    C:\amustieles\proyectos\villacero\winXPversionDelJ ar2;C:\Archivos de programa\IBM\SDP\runtimes\base_v61\lib\WMQ\java\li b]



    tienen que reiniciar el servidor de aplicación para que vuelva a funcionar su aplicación web, alguno sabe algo al respecto?

    Busque información pero generalmente el error es lanzado cada vez que se integra una nueva aplicación web que use librearías Dll.

    El ambiente es Windows XP con servidor de aplicación Websphere 6.1.

    Gracias.
  • Athlit
    Junior Member
    • ene
    • 4

    #2
    Hola ekim68,
    eso te pasa porque en la clase donde haces la conexion, tienes configurado un pool de conexiones (que por defecto está a 5), cuando superas estas 5 conexiones (consultas por ejemplo), has llegado al máximo y te salta el error.

    Tienes dos opciones:
    1.- Cambiar ese parametro a 6000 o el número que quieras (lo cual es algo "guarrillo")
    2.- Cada vez que haces una conexión, limpiar el pool de conexiones. Ésto es más limpio y de echo, lo correcto.

    Te recomiendo la segunda.

    Un saludo.

    Comentario

    • ekim68
      Member
      • mar
      • 57

      #3
      Error Jco

      Hola Athlit, gracias por la pronta respuesta, checando lo que me comentas acerca del pool de conexiones veo que utilice la versión 2.9 del Java Connector el cúal no utiliza pool de conexiones, te digo ésto por que realice las mismas interfaces con la versión 3 del java connector pero el problema surge con la interface que utiliza la versión 2.9.

      No se si tenga que ver algo con el tipo de servidor de aplicación que se esta utilizando.

      Muchas Gracias.

      Comentario

      • Athlit
        Junior Member
        • ene
        • 4

        #4
        Hola ekim68,
        yo uso JCO2.
        Después de cada conexión con la BAPI, ejecuta el método freePOOL().

        Un saludo!

        Comentario

        • ekim68
          Member
          • mar
          • 57

          #5
          Excelente

          Lo voy a probar Athlit, excelente, muchas gracias.

          Comentario

          • Athlit
            Junior Member
            • ene
            • 4

            #6
            ekim68,
            si no tuvieras el metodo freePOOL(), ejecuta después de cada conexión esto:

            JCO.releaseClient(Tuconexion);

            Un saludo!

            Comentario

            Trabajando...