Cloud Pak for Integration

 View Only
  • 1.  Add External Jars to App Connect Integration Server

    Posted Wed September 15, 2021 01:25 PM
    Hi
    I am trying to figure out the way to add external jars while creating a Integration Server on App connect Container for Toolkit Integration. In one of the blogs, it says add external jars to "/home/aceuser/ace-server/shared-classes" and I think it needs to be done once integration server is created and at the pod terminal, correct me if I am wrong

    Do I need to create manually shared-classes folder on /home/aceuser/ace-server ? 


    Is there a way to add external jars while creating the integration server on server.config.yaml file ? (I see placeholder for connectors like salesforce etc to add jarURL's on server.config file but not for all jar file e.g log4j etc)

    And is there any document that defines the steps to add external jars ?

    Thanks
    Preethi

    ------------------------------
    Preethi Ram
    ------------------------------


  • 2.  RE: Add External Jars to App Connect Integration Server

    Posted Thu September 30, 2021 02:40 PM

    Hello Preethi, 

    I've done a bit of research on your questions and here is what I've discovered.  It doesn't look like there is a generic jarURL property in the server.conf.yaml file that can container external jars.  But as you point out, there are a few exceptions here.  The SAP and Salesforce connector do provide a jarURL property that could be used to point to where jars are located.

    However, it may be possible to use a 'Generic File' connection type for your situation.  However I think you will still need to locate these jar assets in the '/home/aceuser/generic' or in '/home/aceuser/ace-server/shared-classes' in order for the server to pick them up.

    Here are a couple doc url's for  your review and consideration.

    https://www.ibm.com/docs/en/app-connect/containers_cd?topic=servers-configuration-types-integration

    https://www.ibm.com/docs/en/app-connect/containers_cd?topic=servers-generic-files-type

    If I pick up  anything new, I'll update this post.



    ------------------------------
    Thomas Campbell
    Software Client Architect
    IBM
    Salt Lake City UT
    (801) 791-7665
    ------------------------------



  • 3.  RE: Add External Jars to App Connect Integration Server

    Posted Fri November 19, 2021 09:24 AM
    Hello @Preethi Ram - as of ACE software 12.0.2 (in ACEcc 12.0.2.0-r1) it is now possible to set additionalSharedClassesDirectories in server.conf.yaml to include extra directories containing JAR files.

    For example, in a custom image with JAR files in /opt/product/jar the server.conf.yaml setting would be

    additionalSharedClassesDirectories: '/opt/product/jar'

    and would then pull all JAR files from that directory into the shared classloader in the same way as if they had been in the /home/aceuser/ace-server/shared-classes directory.

    Hope this helps!




  • 4.  RE: Add External Jars to App Connect Integration Server

    Posted Fri November 19, 2021 09:38 AM
    This is awesome, thank you for the details!

    Regards
    Preethi


    ------------------------------
    Preethi Ram
    ------------------------------



  • 5.  RE: Add External Jars to App Connect Integration Server

    Posted Fri March 04, 2022 04:47 PM
    Hey,

    Just to confirm that this approach works. And to avoid any confusion I would like to add on what @Trevor Dolby explained, this does not mean jars can be seen within shared-classes path when custom image deployed, but those jar within the extra directories are also loaded as same as they are in shared-classes folder.​

    ------------------------------
    Samet Kilictas
    ------------------------------



  • 6.  RE: Add External Jars to App Connect Integration Server

    Posted Tue October 18, 2022 01:30 PM
    Can you please point out exact location in server.conf.yaml where we can set additionalSharedClassesDirectories?

    ------------------------------
    Neel Mehta
    ------------------------------



  • 7.  RE: Add External Jars to App Connect Integration Server

    Posted Wed October 19, 2022 02:00 AM

    Hi Neel,

    It is one of the root key-value pairs in the server conf yaml file.
    Please have a look at the base server.conf.yaml file for an ACE v12.0.2+ integration server.
    It will show up as something like below:
     #additionalSharedClassesDirectories: '' # Extra directories to add to the shared classloader search path; can reference shared libraries using '{shlibname}' syntax.



    ------------------------------
    Peter Giathi
    ------------------------------