# MSMQ produce/consume

**URL:** <https://forum.inductiveautomation.com/t/msmq-produce-consume/44931>\
**Category:** Ignition\
**Created:** [March 25, 2021, 9:41pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931 "2021-03-25T21:41:02Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![CTavakoli](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@CTavakoli](https://forum.inductiveautomation.com/u/CTavakoli)\
**Post date:** [March 25, 2021, 9:41pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/1 "2021-03-25T21:41:02Z")

</div>

I’m required to talk to a legacy system using MSMQ, I can do this with standalone python (-v 3…) codes and pywin32 libraries, but have trouble installing the package on Ignition (being jython -v 2.7…), any idea what other library/package I can use? tx.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 25, 2021, 9:57pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/2 "2021-03-25T21:57:00Z")

</div>

It sounds like those Python packages use native libraries, which wouldn’t work with Jython anyway.

If you google a bit for MSMQ Java libraries you’ll find a commercial option and a couple pretty old open source options. Can’t vouch for any of them.

---

<div class="post-metadata">

**Author:** ![CTavakoli](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@CTavakoli](https://forum.inductiveautomation.com/u/CTavakoli)\
**Post date:** [March 26, 2021, 1:15pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/4 "2021-03-26T13:15:12Z")

</div>

Thanks for the reply Kevin,

---

<div class="post-metadata">

**Author:** ![CTavakoli](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@CTavakoli](https://forum.inductiveautomation.com/u/CTavakoli)\
**Post date:** [March 29, 2021, 8:41pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/5 "2021-03-29T20:41:18Z")

</div>

@Kevin.Herron  
I found some libraries which works fine outside ignition, with 32 bit jdk and dll  
but I get error obviously when importing,  
what is the work around this? is there any way to make it work, without the need to change the whole ignition installation to 32 bit? thanks for the help

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 29, 2021, 8:43pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/6 "2021-03-29T20:43:58Z")

</div>

Not sure, I thought maybe a 32-bit DLL would work in a 64-bit JVM but not the other way around.

If you’re on Ignition 7.9 we do still ship a 32-bit version. Ignition 8 drops 32-bit x86 support.

---

<div class="post-metadata">

**Author:** ![CTavakoli](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@CTavakoli](https://forum.inductiveautomation.com/u/CTavakoli)\
**Post date:** [March 29, 2021, 8:52pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/7 "2021-03-29T20:52:05Z")

</div>

No, I am unfortunately on 8.1.2,

I am not an avid java developer, but what I see here, even in eclipse, if I use a 64 bit jdk as the build library, it fails with:  
Error: Can’t load IA 32-bit .dll on a AMD 64-bit platform

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 29, 2021, 8:53pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/8 "2021-03-29T20:53:37Z")

</div>

Sorry, this DLL/library is not the solution to your problem then.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 29, 2021, 8:57pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/9 "2021-03-29T20:57:01Z")

</div>

You might need to build or buy a custom solution that goes in between Ignition and MSMQ and speaks something suitably modern on the Ignition-facing side. I don’t know exactly what that would look like, but if it could expose RESTful HTTP endpoints it would be pretty easy to get that data into Ignition. Not sure how well that maps to whatever data model MSMQ uses.

---

<div class="post-metadata">

**Author:** ![CTavakoli](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@CTavakoli](https://forum.inductiveautomation.com/u/CTavakoli)\
**Post date:** [March 29, 2021, 9:17pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/10 "2021-03-29T21:17:50Z")

</div>

Thanks, could you expand please a little bit in more details on the RESTful idea, my legacy system only talks MSMQ, are you suggesting that I build something like: MSMQ \<\<\>\> RESTfull \<\<\>\> Ignition ?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 29, 2021, 9:18pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/11 "2021-03-29T21:18:43Z")

</div>

Yes, and you’d build in .NET or some other language where you would have no problem communicating with MSMQ.

---

<div class="post-metadata">

**Author:** ![CTavakoli](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@CTavakoli](https://forum.inductiveautomation.com/u/CTavakoli)\
**Post date:** [March 29, 2021, 9:29pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/12 "2021-03-29T21:29:56Z")

</div>

Ok, thanks, although, I was hoping to contain all my code within Ignition to avoid maintaining a separate piece, but it seems I might not have many choices.

Thank you again Kevin for taking your time and advices, very much appreciated.

---

<div class="post-metadata">

**Author:** ![CTavakoli](https://avatars.discourse-cdn.com/v4/letter/c/278dde/32.png) [@CTavakoli](https://forum.inductiveautomation.com/u/CTavakoli)\
**Post date:** [March 30, 2021, 9:25pm UTC](https://forum.inductiveautomation.com/t/msmq-produce-consume/44931/13 "2021-03-30T21:25:15Z")

</div>

For all those who might be interested in this topic, for this specific need, the link below contains java libraries as well as associated 64 bit dll bridge to talk to MSMQ, which you can import and use with ignition.

It can be downloaded from:

> **[qlamp/jMSMQClient](https://github.com/qlamp/jMSMQClient)**
>
> This is a MSMQ client in Java supporting transactional and non-transactional types based on 64bit JRE. - qlamp/jMSMQClient

P.S. Obviously it goes without saying that neither I, nor the source, would offer any guarantee on this code. This is only used as a temporary patch until replacing the legacy system 🙂
