App Connect

 View Only
Expand all | Collapse all

How to include shared library in mqsicreatebar command

  • 1.  How to include shared library in mqsicreatebar command

    Posted Mon July 17, 2023 12:13 PM

    Hi Team,

    I am using shared library in one of my project and I am using mqsicreatebar command to generate bar file, while doing this I am getting error Referenced project  doesn't exist on the file system.

    While using mqsipackagebar command I am able to generate bar file but this is not compiling flow before generating bar file.



    ------------------------------
    Sunil kumar Sure
    ------------------------------


  • 2.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Tue July 18, 2023 01:53 AM

    Hi Sunil

    mqsipackagebar and mqsicreatebar perform very different actions, have a read here: https://community.ibm.com/community/user/integration/blogs/matthias-blomme/2023/05/23/ace-bar-build-commands-unraveling-the-differences?CommunityKey=77544459-9fda-40da-ae0b-fc8c76f0ce18

    For the mqsicreatebar command you actually work of a workspace and everything you need to build your bar file should be present in that workspace. Mqsipackagebar doesn't require a workspace and will build with less dependencies present.

    If you are running on v11 or v12, look at the ibmint commands as well, they offer some benefits over the old mqsi commands.

    "Referenced project doesn't exist" just means that your application needs some projects that are not available at the build location.



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 3.  RE: How to include shared library in mqsicreatebar command

    Posted Tue July 18, 2023 03:36 AM

    Thank you Matthias for quick reply, I got difference between mqsicreatbar, mqsipackagebar and ibmint commands.

    My requirement is if any developer knowingly or un-knowingly did mistake in project he suppose to get some build error, by using mqsipackagebar and ibmint commands we will come to know this mistake/error only during deployment time. If we know build error prior to deployment we can save time without building and deployment of that project. 



    ------------------------------
    Sunil kumar Sure
    Hyderabad
    9700044393
    ------------------------------



  • 4.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Tue July 18, 2023 06:41 AM

    Hi Sunil

    That is correct. It sounds like you need to invest in a CI/CD setup. Or at leas incorporate some kind of testing in your build process.

    Basically 

    • ibmint package 
    • integrationserver --work-dir
    • ibmint deploy 

    That packages and deployes to a local standalone integration server giving you all the errors that might occur. Of course you can also use AceCC or other container based setup.

    Build errors will show up in the toolkit anyway, so not sure what mistakes you are referring to. The mqsicreatebar has the full backing of a toolkit and thus can detect a lot of errors. The other commands don't give that, so you need a local runtime that can give you the same analysis.



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 5.  RE: How to include shared library in mqsicreatebar command

    Posted Mon September 25, 2023 08:05 AM

    Hello Matthias

    How do we deploy the shared libraries with subflows in integration server container if the amin flow and the shared library are in different repo path in gitlab.



    ------------------------------
    madhu ram
    ------------------------------



  • 6.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Tue September 26, 2023 01:18 AM

    Hi Madhu

    It depends a bit if you are running on the ace cc container or on an operators. Typically, for containers, you will want to create what you are going to run either via config (like an openshift integrationruntime file) or actually by supplying the code (for instance when running in a docker container) before you actually start your runtime.

    There is no one way of doing this.

    If you are running on a openshift, you can define multiple bar files in an integrationruntime configuration resource, you just need somewhere to store the bar files. This can be on a dashboard operator or some artefact storage location.

    For a docker image you can just use mqsideploy to deploy everything you need. Any required library is referenced by you application anyway, so you can easily find out which ones these are by looking in the project file and getting those bar files from your artefact storage location.

    If you want to prevent any errors, you can create a workdir in your docker image before starting it. If you want to try to do this locally, just run mqsicreateworkdir first, then deploy then start with the integrationserver command.

    Hopes this helps



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 7.  RE: How to include shared library in mqsicreatebar command

    Posted Tue September 26, 2023 01:52 AM
    Edited by madhu ram Tue September 26, 2023 01:56 AM

    Thanks for the reply.. 

    I have created new thread for an issue am facing.. could you please help....

    https://community.ibm.com/community/user/integration/discussion/issue-while-deploying-shared-library-with-subflow?ReturnUrl=%2fcommunity%2fuser%2fintegration%2fcommunities%2fcommunity-home%2fdigestviewer%3fCommunityKey%3d77544459-9fda-40da-ae0b-fc8c76f0ce18

    ------------------------------
    madhu ram
    ------------------------------



  • 8.  RE: How to include shared library in mqsicreatebar command

    Posted Mon October 23, 2023 01:50 AM
    Edited by madhu ram Thu October 26, 2023 04:17 AM

    Hello @Matthias Blomme,

    I followed your steps above for   docker image , but facing few issues

    • I have the  bar file for the common library in the artifactory now
    • I used the ibmint deploy command to deploy the bar to the server
    • Now the main flow  (which references the subflow) is deployed in the server using the ibmint deploy
    • when I run the ibmint optimize server command it says "BIP1360E: Message flow node 'getResult', 'first_test#FCMComposite_1_3' in message flow 'first_test' in Application 'Test' requires subflow 'getResult.subflow' which is not deployed.
      BIP15236E: Optimization not possible. Configuration resolution incomplete. See previous messages.
    • I created a work directory and deployed both the flow.    Any inputs form your side ? Please help

    Regards

    Madhu



    ------------------------------
    madhu ram
    ------------------------------



  • 9.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Thu November 02, 2023 02:30 AM

    Hi Madhu

    Difficult to diagnose from afar.

    Can you send me a project interchange so I can test it?



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 10.