EJB Classloader issue (dmcl40 library.dll already loaded)

I have written a stateless session bean. The session bean calls a documentum connection pool. This connection pool are java classes that use a dll (dmcl40.dll).
The Project is wrapped into a DC (one for ejb, one for app libs)
The dll-directory is set in the PATH environmentvariable.
Also, I set the classpath to my jar files in application-j2ee-engine.xml (tab expert settings -> classpath).
My problem is the EJB classloading. Any time the createSession method in the EJB (documentum) tries to create a session pool, i get the dmcl40 library already loaded error.
1. Where do I have to set the path to the library in WebAS to fix this?
2. is there a setting in the VisualAdmin, where one can set the path. Where can i set the path for parent classloader?
I am greateful for any hints.
thanks markus

Hi Markus,
  Can u please let me know how did u solve ur problem?..
I am facing same problem and not able to fix it. So ur answer may be greatful to fix my problem..
Thanks in Advance.
Waiting ur Reply.
Best Regards,
Sadik.

Similar Messages

  • Error: native library oljdbc40.dll already loaded in another classloader

    Hi, we're using Oracle 8iLite in combination with Tomcat (on WinNT4.0) to run servlets accessing our OLite db. We use a deployed db (Deployment tool: PolUtil.exe) and pure JDBC connections.
    When starting tomcat, the servlet is automatically initialized (exactly once!). It comes to the point, where a database connection is to be established. At this point, we get the following error message:
    Native Library E:\MyServer\DB\BIN\oljdbc40.dll already loaded in another classloader
    The strange thing is, that this error only occurs on some machines. There are no other java apps running.
    Where does this error come from, and how can someone avoid this seemingly arbitrary error?
    Thanks in advance for your time, Holger
    null

    You are having some problems with that Oracle Driver and Orion.
    Do you have any JSP at your Installation that work with Oracle?
    Orion needs to know where that Diver is located is that Driver in
    some package that is in Orion's Class Path?

  • Native Library ocijdbc8.dll already loaded in another classloader

    Hi,
    help me please!
    I have Platform: Win2000/Orion/JSP + Oracle 8.1.7
    and while using this testdb.jsp file
    (simple select from some table and print result)
    i get error:
    java.lang.UnsatisfiedLinkError: Native Library C:\oracle\ora81\bin\ocijdbc8.dll already loaded in another classloader
    testdb.jsp
    <%@ page import="java.util.*" %>
    <%@ page import="java.sql.*" %>
    <%
    String user = "sa";
    String password = "dbo";
    String jdbcClass = "oracle.jdbc.driver.OracleDriver";
    String jdbcURL = "jdbc:oracle:oci8:@DB02";
    Connection conn = null;
    PreparedStatement pstmt = null;
    Statement stmt = null;
    ResultSet rs = null;
    try
    Properties props = new Properties();
    props.put("user", user);
    props.put("password", password);
    Driver myDriver = (Driver) Class.forName(jdbcClass).newInstance();
    conn = myDriver.connect(jdbcURL, props);
    catch (Exception e)
    e.printStackTrace(response.getWriter());
    try
    stmt = conn.createStatement();
    rs = stmt.executeQuery("select * from fxqs_users");
    while(rs.next())
    out.print("User: " + rs.getString("LOGIN") + "<hr size=1>");
    rs.close();
    stmt.close();
    catch(Exception e)
    e.printStackTrace(response.getWriter());
    %>
    Error:
    500 Internal Server Error
    java.lang.UnsatisfiedLinkError: Native Library C:\oracle\ora81\bin\ocijdbc8.dll already loaded in another classloader
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1346)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
    at java.lang.Runtime.loadLibrary0(Runtime.java:749)
    at java.lang.System.loadLibrary(System.java:820)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:228)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:249)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
    at /fxqs/admin/index.jsp._jspService(/fxqs/admin/index.jsp.java:222) (JSP page line 185)
    at com.orionserver[Orion/1.5.2 (build 10460)].http.OrionHttpJspPage.service(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._ah._rad(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)].server.http.JSPServlet.service(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._cxb._abe(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._cxb._uec(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._io._twc(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._io._gc(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._if.run(Unknown Source)
    have you any solutions?

    You are having some problems with that Oracle Driver and Orion.
    Do you have any JSP at your Installation that work with Oracle?
    Orion needs to know where that Diver is located is that Driver in
    some package that is in Orion's Class Path?

  • Library ocijdbc8.dll already loaded in another classloader

    Hi,
    help me please!
    I have Platform: Win2000/Orion/JSP + Oracle 8.1.7
    and while using this testdb.jsp file
    (simple select from some table and print result)
    i get error:
    java.lang.UnsatisfiedLinkError: Native Library C:\oracle\ora81\bin\ocijdbc8.dll already loaded in another classloader
    testdb.jsp
    <%@ page import="java.util.*" %>
    <%@ page import="java.sql.*" %>
    <%
    String user = "sa";
    String password = "dbo";
    String jdbcClass = "oracle.jdbc.driver.OracleDriver";
    String jdbcURL = "jdbc:oracle:oci8:@DB02";
    Connection conn = null;
    PreparedStatement pstmt = null;
    Statement stmt = null;
    ResultSet rs = null;
    try
    Properties props = new Properties();
    props.put("user", user);
    props.put("password", password);
    Driver myDriver = (Driver) Class.forName(jdbcClass).newInstance();
    conn = myDriver.connect(jdbcURL, props);
    catch (Exception e)
    e.printStackTrace(response.getWriter());
    try
    stmt = conn.createStatement();
    rs = stmt.executeQuery("select * from fxqs_users");
    while(rs.next())
    out.print("User: " + rs.getString("LOGIN") + "<hr size=1>");
    rs.close();
    stmt.close();
    catch(Exception e)
    e.printStackTrace(response.getWriter());
    %>
    Error:
    500 Internal Server Error
    java.lang.UnsatisfiedLinkError: Native Library C:\oracle\ora81\bin\ocijdbc8.dll already loaded in another classloader
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1346)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
    at java.lang.Runtime.loadLibrary0(Runtime.java:749)
    at java.lang.System.loadLibrary(System.java:820)
    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:228)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:249)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:365)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:260)
    at /fxqs/admin/index.jsp._jspService(/fxqs/admin/index.jsp.java:222) (JSP page line 185)
    at com.orionserver[Orion/1.5.2 (build 10460)].http.OrionHttpJspPage.service(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._ah._rad(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)].server.http.JSPServlet.service(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._cxb._abe(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._cxb._uec(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._io._twc(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._io._gc(Unknown Source)
    at com.evermind[Orion/1.5.2 (build 10460)]._if.run(Unknown Source)
    have you any solutions?

    Make sure that the Oracle JDBC driver is in the "common" library location, not in the per-webapp location. If this were tomcat, I'd say put it in tomcat's own common/lib, rather than the webappname/WEB-INF/lib.
    Basically, you want to make sure that the classes12.zip is only loaded once by one classloader.

  • UnsatisfiedLinkError ... ntvinv.dll already loaded in another classloader

    Hi,
    I'm trying to run a program using JCOM from the command line. My program is a
    test runner which spawns a number of users in separate threads and runs a sequence
    of requests. For every new user, the constructor which initializes the jcom proxy
    object (IWlsTrigWrapProxy below) is called. Running the test with one user works
    fine. In a multiple user test, the first user is successful, but when subsequent
    users try to initialize I get the following message:
    -----------------------8<---------------------------
    BEA WebLogic 6.1 license found...
    java.lang.UnsatisfiedLinkError: Native Library C:\bea\wlserver6.1\jcom\bin\ntvinv.dll
    already loaded in another classloader
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1346)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1306)
    at java.lang.Runtime.loadLibrary0(Runtime.java:749)
    at java.lang.System.loadLibrary(System.java:820)
    at com.bea.jcom.NativeObjRef.r(NativeObjRef.java)
    at com.bea.jcom.Dispatch.a(Dispatch.java)
    at com.bea.jcom.Dispatch.isNativeMode(Dispatch.java)
    at com.bea.jcom.Dispatch.createDispatch(Dispatch.java)
    at com.bea.jcom.Dispatch.<init>(Dispatch.java)
    at xx.xxx.IWlsTrigWrapProxy.<init>(IWlsTrigWrapProxy.java:49)
    at .......................
    [ stuff deleted ]
    -----------------------8<---------------------------
    Is there an obvious reason for this? What can be done about it?
    Best regards,
    Lars Cronsioe

    Hi Cronsioe,
    I encountered the same error as you mentioned here when trying to access the COM
    object using jcom.
    The message I am getting is
    UnsatisfiiedLinkError:getNegociateMessage()
    I have put the jcom\bin in the path variable and the jcom.jar in the system classpath.
    I have even sepcified the path for jcom\bin\ntvauth.dll in path variable.
    Did you get any solution to your problem. If so please let me know. I appreciate
    your responses.
    Quraishi
    "Lars Cronsioe" <[email protected]> wrote:
    >
    Clarifying my question from yesterday, I would like to add the following:
    From the JCom Reference Guide, chapter 8, first section "From Java to
    COM", it
    seems that "The WebLogic jCOM runtime DCOM engine will allow multiple
    simultaneous
    requests to the same COM object". However, since nothing is said about
    the native
    mode, I draw the conclusion that simultaneous requests to the same COM
    object
    are not supported. Is this correct? What can I do about it?
    Regards
    Lars Cronsioe again

  • Libdb_java46.dll already loaded in another classloader

    I'm trying to use DB XML in a servlet with Tomcat 5.5. In the init() method, I open a container and in destroy(), I do the cleanup.
    The problem is that if I recompile my code and let Tomcat reload the webapp, I get the following error:
    "java.lang.UnsatisfiedLinkError: Native Library libdb_java46.dll already loaded in another classloader"
    I'm using Java 1.5.
    Is there a way to get around this error? it is very annoying in development mode to stop and restart Tomcat each time I make a modification.
    Thanks.

    hi
    try with putting db.jar and dblxml.jar into
    $CATALINA_HOME/common/lib
    more to read about classloading at following url
    http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html
    yurss rober

  • Java Connector. "sapjcorfc.dll already loaded in another classloader"

    Dear all:
    I'm fighting against a Java Connector problem.
    I'm using:
    -JCO version 2.16
    -Apache Tomcat 5.5.17
    I have written the environment variables:
    CLASSPATH pointing where I have sapjco.jar, sapjcorfc.dll
    Path where i have sapjco.jar, sapjcorfc.dll.
    I try to make a webservice which calls a RFC function in SAP.
    Java program compiles and Deploy OK.
    I load the web service in Tomcat.
    When I call the java server page, I get this error message from Tomcat:
    org.apache.jasper.JasperException: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
    JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc Native Library C:\Traspas\Projecte\lib\sapjcorfc.dll already loaded in another classloader. java.library.path C:\Tomcat5.5.17\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Java\jdk1.5.0_07\bin;C:\Traspas\Projecte\lib
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Seems that is trying to load twice sapjcorfc.dll?
    I would be grateful if someone can give me help.
    Thanks in advance.
    Jordi

    I received a message asking for further clarification. I try to further explain.
    Be sure sapjco.jar is not included in the application. Doing so will lead the system to load more than one time the SAP Java Connector. Sapjco.jar has to be loaded only once in the server.
    To do so (in Windows & Tomcat environment):
    1-Be sure sapjco.jar is not included in the WEB-INF folder.
    2-Put sapjcorfc.dll and librfc32.dll in c:Windowssystem32
    3-Put sapjco.jar in c:Tomcatcommonlib
    4-Add a reference to sapjco.jar in the project (In Eclipse: Project/Properties/Java Build Path, Tab Libraries, Add External JARs.
    5-Compile and deploy the application. Generate War file. If ant gives problems, add proper command to find sapjco.jar (section <path id=u201Dpath.baseu201D>, <include name=u201Dsapjco.jaru201D>)
    6-Load the WAR file in Tomcat.
    7-Stop and Start Tomcat.
    8-Run the application.
    A related thread: [SAP J2EE engine problem|SAP J2EE engine problem]
    Hope this helps.

  • Library is already loaded in another ClassLoader

    Hi,
    We have deployed our java application in NetWeaver. To decrpyt the logon cookie we are using the library libsapssoext.o. When we are tying to load this library it fails with the following exception.
    [ERROR] SSO2Ticket.<clinit>() - Error during initialization of SSO2TICKET:
    libsapssoext.o (Library is already loaded in another ClassLoader)
    This had actually worked first time when we deployed the app but after that when we redeployed the application..it throws this error and any native calls fails after this point.
    Below is the java code snippet which we are using to load this library.
         static {
              try {
                   logger.debug("java.library.path - "+System.getProperty("java.library.path"));
                   System.loadLibrary("libsapssoext.o");
                   System.out.println("SAPSSOEXT loaded.");
                   logger.debug("SAPSSOEXT loaded.");
              } catch (Throwable e) {
                   System.out.println("Error during initialization of SSO2TICKET:\n"+ e.getMessage());
                   logger.error("Error during initialization of SSO2TICKET:\n"+ e.getMessage());
    Kindly advise.

    Hi
    The reason of such behavior might be in the mapping between the library and the old version of your Java class. It seems that the library when it was loaded first time is still mapped to the previous Java class version. Try to undeploy your application from the server and deploy it again.
    BR, Siarhei

  • About JNI.***.dll already loaded in another class loader.

    About JNI.***.dll already loaded in another class loader.
    When I run a WEB program that use's JNI and DLL.The following excetpion information is throwed:
    .***.dll already loaded in another class loader.(string "***" represents a dll name).
    Help! Who can provide a solution.
    Thanks.

    i got the same problem before. seems it happens when
    you load the .dll not using static{ } block. And when
    your web application got an error and you fix it to
    restart your application without restarting your
    server, you will get this error message. You can
    either put load library stuff in the static{ } block
    or restart your server.And again.......
    If all you want is to have the dll loaded, and it is loaded (that is why the exception occurs) then it does not matter that the exception occurs. You can catch it and ignore it.

  • JCo: "sapjcorfc.dll already loaded in another classloader"

    Hi,
    using Eclipse 3.2 I created some Java classes, which are using com.sap.mw.jco.*.
    Now I create two JSP projects, which using my Java classes.
    The JSPs are hosted by a Tomcat 5.5.
    The reason of the error above is written in SAP note 542175.
    Can somebody explain me please, which settings inside Eclipse 3.2 I have to make, that I can use my JSP applications at the same time.
    What's to do on the Tomcat server?
    In thread 15622 was written: "Add the library reference to the J2EE module ...", but how to do that?
    Any help would be appreciated!
    Regards,
    Peter

    Inside Eclipse open project properties, go to "Java Build Path" and then I pressed "Add variable", there I picked the SAPJCo.jar.
    On tomcat installation directory I added the SAPJCo.jar inside file directory
    "C:\Program Files\Apache Software Foundation\Tomcat 5.5\shared\lib"
    I also extended the environment PATH variable with SAP JCo installation directory "C:\Program Files\SAP\sapjco-ntintel-2.1.7"
    Hope this helps!
    Peter

  • Problem :  Native Library already loaded in another classloader

    I created a shared library HaspKeyAPI.dll by using JNI and add path to Java class library. I need to call native functions in my servletAction class to check some information in a key. Sometimes not always, I met �java.lang.UnsatisfiedLinkError: Native Library C:\eclipse\workspace\HaspKey\SharedLib\HaspKeyAPI.dll already loaded in another classloader� problem. I have to restart tomcat server then to restart my web app.
    Does anyone know how to fix it?
    Thank you in advance!
    ////////////////////////////////////my native function class, a singleton class////////////////////////////////
    package haspkey.api;
    import java.util.Collection;
    import java.util.Vector;
    import haspkey.HardwareSecurityKey;
    Public class HaspKeyAPI {
    Public static final int KEYEXIST = 1;
    //A Singleton Class
    private static HaspKeyAPI haspKeyAPI;
    private HaspKeyAPI()
    public static HaspKeyAPI getSingletonObject()
    if ( haspKeyAPI== null)
    haspKeyAPI = new HaspKeyAPI();          
    return haspKeyAPI;
    public Object clone()
         throws CloneNotSupportedException
    throw new CloneNotSupportedException();
    /**********use native functions to call hasp C API***********/
    public native int keyPresent(int password1, int password2);
    public native int getId(int password1, int password2);
    public native void readBlock(int startMemoryLocation, int size,
    byte[] block, int password1, int password2);
    public native void writeBlock(int startMemoryLocation,int size, byte[] block, int password1,
    int password2);
    public native boolean decodeData(int size, byte[] block, int password1,
    int password2);
    public native boolean encodeData(int size, byte[] block, int password1,
    int password2);
    static {
    System.loadLibrary("HaspKeyAPI");
    private int getPrivMachineSpeed(boolean decrypt, int pass1, int pass2, String MLOCRTypeCode){
    byte[] block = new byte[8];
    int privMachineSpeed = 0;
    boolean isNumeric = true;;
    readKeyMemory(40,8,block, decrypt, pass1, pass2);
    if(block.length!=8){
    return -1;
    }else{
    String s = new String(block);
    for(int n=0; n<3; n++){
    if(s.charAt(n)<48 || s.charAt(n)>57){
    isNumeric = false;
    if(isNumeric){
    privMachineSpeed = Integer.parseInt(s.substring(0,3));
    return privMachineSpeed;
    public HardwareSecurityKey getHardwareSecurityKey(boolean decrypt, int pass1, int pass2, String AuthorizationCodes,String MLOCRTypeCode){
    HardwareSecurityKey key = new HardwareSecurityKey();
    if(keyPresent(pass1,pass2)==KEYEXIST){
    key.setPrivKeyID(getId(pass1, pass2));
    key.setPrivMachineSpeed(getPrivMachineSpeed(true, pass1,pass2, MLOCRTypeCode));
    }else{
    return null;
    /////////////////////////////// a class include some static final information to call the native function///////////////
    import com.bowebellhowell.haspkey.api.HaspKeyAPI;
    import com.bowebellhowell.winsort.vo.haspkey.HardwareSecurityKey;
    public class HaspKey{
    public static final String MLOCRTypeCode ="mmmmmmmmmmmmmmm";
    public static final String AuthorizationCodes = "bbbbbbbbbbbbbbbb";
    public static final int p1 = 0;
    public static final int p2 = 0;
    public static HardwareSecurityKey getHardwareSecurityKey(){
    HaspKeyAPI key = HaspKeyAPI.getSingletonObject();
    return key.getHardwareSecurityKey(true,p1,p2,AuthorizationCodes,MLOCRTypeCode);
    /////////////////////////////////// a servlet to call native function///////////////////////////////////
    public class LogonAction extends Action {
         public ActionForward execute(
              ActionMapping mapping,
              ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
              throws Exception {
              int n = HaspKey.isKeyPresent();
              if(n!=1){
              if(n==2){
              message = "KeyDriverNotMatch";          
              }else if(n==3){
              message = "KeyOldModel";
              }else if(n==4){
              message = "KeyPasswordNotMatch";
              }else if(n==-1){
              message = "keyNotExist";
              request.getSession().setAttribute("message",message);
    java.lang.UnsatisfiedLinkError: Native Library C:\eclipse\workspace\HaspKey\SharedLib\HaspKeyAPI.dll already loaded in another classloader
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1551)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
    at java.lang.Runtime.loadLibrary0(Runtime.java:788)
    at java.lang.System.loadLibrary(System.java:834)
    at haspkey.api.HaspKeyAPI.<clinit>(HaspKeyAPI.java:76)
    at util.HaspKey.isKeyPresent(HaspKey.java:35)
    at LogonAction (LogonAction .java:65)

    Hi EveryBody:
    i working in 2 servlets, these servlets import a login.jar library and login.jar call to Login.dll (a native Library)
    then. when i start second servlet i have this message
    java.lang.UnsatisfiedLinkError: Native Library dllLogin.dll already loaded in another classloader
    i read about class loader and i know about a only one load for native library but i don't know how resolve this exception because both servlets need dllLogin.dll to validate the user
    please anybody knows how or have any idea?
    Kind Regards
    Edson
    --sorry i know. my english is very bad                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Library already loaded Oracle OCI8

    Hello !
    I work with Weblogic 701, oracle 9.2.0.1 database, oracle 9.2.0.2 client, and
    oracle jdbc drivers classes12.zip
    When I connect with the oci8 (not the thin) driver and try to execute the application,
    I get this error :
    java.lang.UnsatisfiedLinkError: Native Library D:\oracle\ora92\bin\orageneric9.dll
    already loaded in another classloader
    I have to shutdown weblogic and start it again. If I redeploy my application,
    I get the same error and I have to shutdown again ...
    and when I connect with the thin driver and try to execute the extract method
    on a XMLType object, I always have a sqlException.
    I see on the web that the extract method can only be applied with the oci8 driver.
    How can I do ???
    Thx

    OCI drivers use native code, you can only load a JNI/native library once. It
    seems that this library is being loaded within your application, either more
    than once, or most probably within weblogic itself. So when your application
    tries to initialise oci8 drivers, it fails because weblogic has already done
    so before your application tries it.
    Do you have a jdbc pool configured from within weblogic that is using oci8
    drivers. If so you might want to disable that, alternately your application
    might want to use that db pool.
    Haider
    "Partyboy" <[email protected]> wrote in message
    news:328_3f0423c7$[email protected]..
    >
    Hello !
    I work with Weblogic 701, oracle 9.2.0.1 database, oracle 9.2.0.2 client,and
    oracle jdbc drivers classes12.zip
    When I connect with the oci8 (not the thin) driver and try to execute theapplication,
    I get this error :
    java.lang.UnsatisfiedLinkError: Native LibraryD:\oracle\ora92\bin\orageneric9.dll
    already loaded in another classloader
    I have to shutdown weblogic and start it again. If I redeploy myapplication,
    I get the same error and I have to shutdown again ...
    and when I connect with the thin driver and try to execute the extractmethod
    on a XMLType object, I always have a sqlException.
    I see on the web that the extract method can only be applied with the oci8driver.
    >
    How can I do ???
    Thx

  • [XMLType]Native Library already loaded

    Hi !
    I work with oracle DB 9.2.0.3 and J2ee server.
    I connect to the db with JDBC driver (oci8 client)
    When I use the method CreateXML method (XDB.jar package) I have this error :
    java.lang.UnsatisfiedLinkError: Native Library D:\oracle\ora92\bin\orageneric9.dll already loaded in another classloader
    I have to shutdown and reopen my J2ee server ...
    Any Idea ?

    If you use the session of the myserver1, then store some value in session to identify that the library is loaded.
    As a first step in myserver2, Check in session whether the value is set.
    If you cannot propagate session information across myserver1 and myserver2, then
    myserver1:
    static
    loadLibrary("YourDLL")
    "Include this here..........."
    This code will be there in some class
    "Include this here..........."
    Just write in ser file that DLL is loaded.
    myserver2:
    static
    checkWhetherAlreadyLoaded();
    loadLibrary("YourDLL");
    Or have the loading of library alone in a class in a static method.
    public class LoadClass
    public static loadLibrary()
    System.loadLibrary("YourDLL");
    In myserver1, just call this.
    In myserver2, before calling this method,
    just call any native method - a test method will do
    public boolean checkLoadedStatus()
    try
    // Call the testing nativemethod.
    catch(UnsatisfiedLinkerError e)
    try
    LoadClass.loadLibrary();
    return true;
    catch(Exception e)
    return false;
    }

  • Bonjour java already loaded in another classloader error

    I'm using the java bonjour library (dns_sd.jar) in a web application running in Jboss web server.
    When I start the server a Servlet finds every resource on the network with bonjour and returns to the user. The first time everything runs great but when I redeploy the web app I get:
    java.lang.UnsatisfiedLinkError: Native Library C:\Windows\System32\jdns_sd.dll already loaded in another classloader
    I already tried deletting the .dll and the samething happens.
    Why does it even refer the .dll if I have the .jar lib in my web app?
    Does anyone have any idea on how to fix this?

    marcosRoriz wrote:
    But I can't use another instance of IXCRegistry?You understand that you have two class loaders right?
    The shared library is loaded by the OS into the application. There can be only one.
    The VM wants to associate that single shared library with the class loader that loaded it.
    One solution is to have a class loader for just that class. Note that the OS, not the VM, will not let you have two instances of the shared library so it is generally pointless (in terms of class loaders) to have more than one.

  • Unable to deploy App more than once, ClassLoader Issues

     

    Here is a way to solve your problem.
    try to use
    Runtime.getRuntime().load(absolute_library_path);
    However, make a copy of the library you tried to load and name it uniquely such
    as
    append the current miliseconds.
    After completed loading the library into the Runtime, new File(new_library_path).delete();
    or you can try to use deleteOnExit() (createdTempFile instead).
    "Bob H" <[email protected]> wrote:
    >
    I am working on a project that relies on the SAP Java Connector (JCO).
    This "connector"
    consists of a JAR containing some Java classes, and some native platform
    libraries
    (i.e. DLLs for Windows). The problem is I can only deploy the application
    once
    on a running WL Server 7.0 node. If after the first deployment I remove
    the application
    (via the WL server console) and try to redeploy, deployment works fine,
    but the
    JVM will not be able to load the SAP JCO stuff... if fails on calling
    the native
    library with an ExceptionInInitializerError:
    java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not
    load middleware
    layer 'com.sap.mw.jco.rfc.MiddlewareRFC' Native Library C:\WINDOWS\system32\sapjcorfc.dll
    already loaded in another class loader
    Based on this error message it appears that the class loader created
    for the previous
    deployment still exists (even though the application is no longer deployed),
    and
    therefore still has a hold on the native library (which apparently can't
    support
    multiple processes).
    What I have to do is stop the server, start back up and then redeploy.
    This is
    a very exhausing ordeal during development, and also leads to a not-very-flexible
    situation for production.
    Does anyone know if there a way to terminate this other classloader instance
    while
    the server is running?
    Thanks,
    Bob

Maybe you are looking for

  • Problem with Expiry Period for Multiple Caches in One Configuration File

    I need to have a Cache System with multiple expiry periods, i.e. few records should exist for, lets say, 1 hour, some for 3 hours and others for 6 hours. To achieve it, I am trying to define multiple caches in the config file. Based on the data, I ch

  • How to copy or rename a SapScript logo or graphic ?

    I do NOT have the original bitmaps/tiff, etc. for some logos for my client.  They want to make a copy or rename the original graphic, then import this new graphic into the existing one. I can not find anyway to do a copy or rename in SE10 or SE78 - i

  • Color Picture of Steve Jobs that I would like to send to Apple for use in his honor. I prefer Color

      I would like to send Apple a Color Picture of Steve Jobs that I found on Google. it's the same picture Steve Jobs Biography that  Walter Isaacson wrote. except it's in color. What I did was use my Drawing Pad Program to bring in the picture and the

  • MONTH VIEW CUT OFF AT MARGINS WHEN PRINTED

    I've seen some archived threads about this--it appears to be unresolved, but I'll ask again anyway, just in case. When I print month calendars on letter-size paper, the printing at the left and top edges of the calendar is cut off. Why, and how can I

  • ORA-01000 while EXPORT DATABASE  - 1.5.1 MAIN 5440

    I am using the following version of Sql Developer Oracle SQL Developer 1.5.1 Version 1.5.1 Build MAIN-5440 IDE Version: 11.1.1.0.22.49.42 Product ID: oracle.sqldeveloper Product Version: 11.1.1.54.40 I tried to export a database to a file but I got t