How to query items with the new 3.6 native Java API? Agent still uses DLLs. - Websphere

This is a discussion on How to query items with the new 3.6 native Java API? Agent still uses DLLs. - Websphere ; Hello, I'm having problems with the classloader even when using the native java API: java.lang.UnsatisfiedLinkError: Native Library lib\mqjbnd05.dll already loaded in another classloader Is it because I'm using Agent? How to logon using 3.6 native Java API in order to ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: How to query items with the new 3.6 native Java API? Agent still uses DLLs.

  1. How to query items with the new 3.6 native Java API? Agent still uses DLLs.

    Hello,
    I'm having problems with the classloader even when using the native java API:

    java.lang.UnsatisfiedLinkError: Native Library lib\mqjbnd05.dll already loaded in another classloader

    Is it because I'm using Agent? How to logon using 3.6 native Java API in order to get workitems and so on?

    There are no code examples to query items in MQWF 3.6 that not use Agent. IS there any solution to this?

    Thanks in advance.

  2. Re: How to query items with the new 3.6 native Java API? Agent still usesDLLs.

    Hi,

    Java programs that used to run in MQWF 3.5 should run without any problems
    in MQWF 3.6.
    The functional limitations of the native Java API are documented in the
    Programming Guide.
    Not sure what you mean by 'using Agent'. If you mean that you are using
    the RMI / IIOP locater
    this is indeed no longer supported. If you mean using the Agent class in
    order to set the locator,
    this is exactly the way it is designed and should work. If you think that
    there is a problem
    with the native Java API I recommend to rename and use the classic Java
    API fmcojagt.
    This is documented in the Installation Guide.

    I think your problems stem from using the MQ Server API. See my other
    append for this.

    Volker Hoss
    IBM Websphere MQ Workflow Development

  3. Re: How to query items with the new 3.6 native Java API? Agent still uses<br> DLLs.

    Thank you, Volker.
    I finally was able to solve the problem. You were right, it was related to the MQ API that uses DLLs and the J2EE limitation that specifies that you can load a native shared library only once by an application server.

    This article shows how to solve it:

    http://www-128.ibm.com/developerwork..._kulhanek.html

    Azbel.



  4. Re: How to query items with the new 3.6 native Java API? Agent still uses<br> DLLs.

    Azbel,

    I have to make a comment on you reference to Wolgang's article.
    This article describes the problem of the former MQWF Java API (based on
    JNI)
    and how to overcome it so that you can run multiple applications using the
    MQWF Java API.

    This description is obsolete now with the MQWF 3.6 native Java API!
    The only valid point is that you must ensure that MQ is loaded by a global
    classloader of the AppServer. This is usually achieved by setting the
    WebSphere
    MQ_INSTALL_ROOT variable.

    Volker Hoss
    IBM WebSphere MQ Workflow Development

  5. Re: How to query items with the new 3.6 native Java API? Agentstill uses DLLs.

    Also I have seen a major issue (related to this mqjbnd05.dll) that is part of installation : like "xx\xxx\Java\lib" is not created in many cases under "...\Websphere MQ\Java\lib", not sure why this is happening,
    Any idea about this ?.

    Thanks
    ================================================
    jgeorge@itprototype.com
    www.itprototype.com
    ================================================

  6. Re: How to query items with the new 3.6 native Java API? Agent still usesDLLs.

    What is your problem?
    Do you have an MQ installation that does not come with Java?
    If this is the case, make sure that you installed the appropriate JMS
    component in MQ.

    Volker Hoss
    IBM WebSphere MQ Workflow Development

+ Reply to Thread