cancel
Showing results for 
Search instead for 
Did you mean: 

JMS adapter connection with multiple MQ IP's

udayabhaskar
Explorer
0 Kudos

Dear All,

I am working on MQ server and PI connection. We are using PI 7.4 version.

My requirement is, I need to connect 4 IP addresses from MQ server to the PI server. I am using the JMS adapter for the connection. I have received all the necessary information from the IBM MQ team and have followed multiple links in the connection. However, I am able to enter only one IP address in the JMS adapter in PI.

How is it possible to maintain multiple IP addresses in a single JMS sender communication channel? Or, should I create separate sender communication channels for each IP address location?

Data will flow from any of the IP address location from MQ server to PI server. I am creating two scenarios. One is synchronous and other is asynchronous.

Also, there is an error when I start the communication channel: "Error connecting due to missing class: com.ibm.mq.jms.MQQueueConnectionFactory. Please ensure that all needed resources are present in the JMS provider library: com.sap.aii.adapter.lib.sda". What can be done for that? I have already asked my basis team to redeploy the jar files.

Please help me out. It is very urgent.

Regards,

Uday

Accepted Solutions (1)

Accepted Solutions (1)

former_member186851
Active Contributor
0 Kudos

Hello Uday,

You should have 4 channels, I guess you can't connect to multiple queues using a single channel.

The error is due to missing Jar files. As you have already told them to re-deploy wait for it.

And  after deploying do a restart and check.

udayabhaskar
Explorer
0 Kudos

Thank you for your quick response Raghu.

So, it means that I need to create 4 sender communication channels and 4 sender agreements.

I also have another question.

The above scenario I need to be using for both synchronous and asynchronous. For async, it might not be a problem as I will create the channels and agreements.

However, for sync scenario, I need to use three different queues. So, should I be creating different communication channel for each queue?

My sync scenario is, data will be sent from MQ to SAP, there will be a response from SAP and after receiving the response MQ will again re-trigger the data. How exactly can this scenario be created?

Please note that I have 4 different IP's and 3 different queues for this sync scenario.

Regards,

Uday

former_member182412
Active Contributor
0 Kudos

Hi Uday,

You need to create 12 different channels and 12 different sender agreements for this but you can still use one receiver determination, interface determination and one receiver agreement. when you create the sender agreement you need select the check box sender uses virtual receiver and give the different receiver communication component for all 12 sender agreements like MQ1_QUEUE1, MQ1_QUEUE2,MQ1_QUEUE3,MQ2_QUEUE1.....etc.

Regards,

Praveen.

former_member186851
Active Contributor
0 Kudos

Hello Uday,

However, for sync scenario, I need to use three different queues. So, should I be creating different communication channel for each queue?

Yes, You have create different communication Channels.


My sync scenario is, data will be sent from MQ to SAP, there will be a response from SAP and after receiving the response MQ will again re-trigger the data. How exactly can this scenario be created?

We had the same scenario for HANA DB it worked without any additional settings.

Try configuring like Async and check if works else lets c whether we can work it out with Beans with reference of below link


http://a248.g.akamai.net/n/248/420835/89a1f3a2684eff55292be7ff18a875bc9431e974d91f1b4d677cec48a76e1d...

udayabhaskar
Explorer
0 Kudos

Dear Praveen,

Thanks for the info. However, I have a small doubt. Do I need to create 12 sender and 12 receiver communication channels, or will 12 sender communication channels and 1 receiver communication channel be enough?

The receiver will be the same the same RFC in the scenario.

Also, while creating the JMS sender communication channel I am stuck at client authentication. There are 5 options available in Keystroke and X.509 certificate. What should I select over there. IBM has informed that they will be using client authentication. 

Regards,

Uday

former_member182412
Active Contributor
0 Kudos

Hi Uday,

You only need to create 12 different sender channels receiver will be one channel because it is going to be only one interface.

You need to select the Keystore view and private key which you imported for your MQ server. if you see five entries there, may be you have five different private key's in NWA, select the perticular one for your MQ server.

Regards,

Praveen.

Answers (2)

Answers (2)

vinaymittal
Contributor
0 Kudos

It might solve your problem.

udayabhaskar
Explorer
0 Kudos

Dear Vinay,

I have a small doubt in the link that you have provided.

It is mentioned to use host1:port , host2:port. However, the port number needs to be mentioned in the adapter. Will that cause any issue?

I have not tested it yet as I am still in the process of development.

Regards,

Uday

vinaymittal
Contributor
0 Kudos

try without giving server port in the adapters port entry its not manadatory to give it

vinaymittal
Contributor
0 Kudos

just to understand it IBM has given you four IP addresses just for maintaining high availability right?

and the queue names queue manager names etc are all same across those 4 servers...?

and only one server will be active at a time right....

IF IBM gave 4 server details for high availability(i.e if one server fails other can be used or they will direct message through other server) then you should not be using multiple channels...

also network load balancer can come into the picture here..

vinaymittal
Contributor
0 Kudos

former_member182412
Active Contributor
0 Kudos

Hi Uday,

First make sure with IBM MQ team for these points

  • does the messages from at any pointing time only one server (either from first server or second server not from both)
  • The messages always come from both servers for load balancing on their side

Regards,

Praveen.

udayabhaskar
Explorer
0 Kudos

Dear Vinay,

All the servers will be active at any given point of time. (It might be for load balancing.)

Also, I have mentioned earlier that I need to create async and sync scenarios. Both async and sync scenarios need to be connected to 4 servers. Queue manager name is the same for all the scenarios. Queues and channels differ for async and sync scenarios.

For async scenarios there is only one queue and one channel. However, for sync scenario there are 3 queues and the channel is the same for all 3 queues.

Regards,

Uday

udayabhaskar
Explorer
0 Kudos

Dear Praveen,

Messages will be coming from one server at a time. However, all the servers will be active at any given point of time.

Regards,

Uday

vinaymittal
Contributor
0 Kudos

Hi Uday,

Were you able to solve it please do share your knowledge and discoveries...

Regards

Vinay

udayabhaskar
Explorer
0 Kudos

Dear Vinay,

I have still not completed it. I will check and let everyone know if this has helped me or not.

Also, will post a query if any further help required.

Regards,

Uday

former_member200386
Active Participant
0 Kudos

Hello Uday,

For the JMS sync scenario , You can use request , response one way bean. Please refer below blog.

https://wiki.scn.sap.com/wiki/display/XI/Sync-Async+without+ccBPM

udayabhaskar
Explorer
0 Kudos

Dear Pavan,

While creating the sender JMS adapter communication channel, there are already few modules. They are the default modules.

Should I still add the modules that are provided in the link?

Regards,

Uday