In search of the correct parameters for a JMS connection bet

Posted by Paul-V on 11-Jul-2016 11:09

I am using Progress OpenEdge 11.5, and have replaced the SonicMQ JMS adapter with the generic JMS adapter.

A connection with an ActiveMQ server works flawlessly, but I am not able to connect to my SonicMQ server.

SonicMQ is version 7.6.2.... the server logfile states 'Failed to create a JMS session. (9290)' but there is no information showing the reason WHY...

Source snippet:

RUN VALUE(DLC + "/jms/jmssession.r") PERSISTENT SET ptpsession ("-H localhost -S 5162").
RUN setBrokerURL      IN ptpsession (INPUT "tcp://sonicMQhost:2506").
RUN setUser           IN ptpsession (INPUT username).
RUN setPassword       IN ptpsession (INPUT userpass).

/* Connect to the broker. */
RUN beginSession IN ptpsession.

and then the program stops with message "Error connecting to the JMS AppServer service".

I have tried several different things already; I have tried port 2500, I have tried adding "-AppService broker1" to the ptpsession parameters, I have tried adding "-AppService xx.SonicMQ1", nothing seems to work.

Help, anyone?

Posted by Paul-V on 13-Jul-2016 07:16

This definitely works; the good thing is that it doesn't matter whether the client is 10.2B or 11.5!

All Replies

Posted by Anand Adike on 12-Jul-2016 02:02

Hi Paul-V,
 
What are the details have you provided in AdminServerPlugins.properties file under “[PluginPolicy.Progress.SonicMQ]” section.
 
Also, could you please let us know are you trying to connect SonicMQ broker using Generic JMS Adapter or without using Generic JMS Adapter?
 
Thanks,
Anand.
 

Posted by Paul-V on 12-Jul-2016 09:57

Hi Anand,

Some excerpts from AdminServerPlugins.properties:

#

# 4GL Sonic Adapter plugin - SonicMQ adapter support

#

[Plugin.SonicMQAdapter] (unchanged)

   dependency=Plugin.System,Plugin.UBPropMgr

   pluginpolicy=PluginPolicy.Progress.SonicMQ

   uniquetype=AD

   license=1048577

   classname=com.progress.ubroker.tools.adapter.AdapterGuiPlugin

   pluginargs=SonicMQ Adapter

#

# Policy for the 4GL SonicMQ Adapter

#

[PluginPolicy.Progress.SonicMQ] (changed!)

   pluginclasspath=/opt/dlc/java/progress.jar,/opt/dlc/java/ext/activemq-all-5.10.0.jar

   classpath=/opt/dlc/java/progress.jar,/opt/dlc/java/ext/activemq-all-5.10.0.jar

   jvmargs=-DsonicMQExtensions=false -DjmsProvider=ActiveMQ

And a new file $DLC/properties/jmsProvider.properties:

[WebsphereMQ]

javax.jms.ConnectionFactory=com.ibm.mq.jms.MQConnectionFactory

javax.jms.QueueConnectionFactory=com.ibm.mq.jms.MQQueueConnectionFactory

javax.jms.TopicConnectionFactory=com.ibm.mq.jms.MQTopicConnectionFactory

[ActiveMQ]

javax.jms.ConnectionFactory=org.apache.activemq.ActiveMQConnectionFactory

javax.jms.QueueConnectionFactory=org.apache.activemq.ActiveMQConnectionFactory

javax.jms.TopicConnectionFactory=org.apache.activemq.ActiveMQConnectionFactory

Connecting from my OE ABLE client to ActiveMQ (server) works fine; just cannot get connected to SonicMQ v 7.6.2....

I have no connectionfactory, for neither connection.

Thanks for your help.

Paul.

Posted by Anand Adike on 13-Jul-2016 02:46

Hi Paul-V,
 
Thank you for providing the details.
 
In AdminServerPlugins.properties file, ActiveMQ is configured under “[PluginPolicy.Progress.SonicMQ]” section. So it will connect only ActiveMQ.
 
If you want to use SonicMQ, then we need to change the configuration details as shown below:
 
Without using Generic JMS Adapter:
[PluginPolicy.Progress.SonicMQ] 
   pluginclasspath=/opt/dlc/sonic/MQ8.5/lib/sonic_Client.jar,/opt/dlc/sonic/MQ8.5/lib/mgmt_client.jar,/opt/dlc/java/progress.jar
   classpath=/opt/dlc/sonic/MQ8.5/lib/sonic_Client.jar,/opt/dlc/java/progress.jar
 
Using Generic JMS Adapter:
[PluginPolicy.Progress.SonicMQ]
   pluginclasspath=/opt/dlc/sonic/MQ8.5/lib/sonic_Client.jar,/opt/dlc/sonic/MQ8.5/lib/mgmt_client.jar,/opt/dlc/java/progress.jar
   classpath=/opt/dlc/sonic/MQ8.5/lib/sonic_Client.jar,/opt/dlc/java/progress.jar
   jvmargs=-DsonicMQExtensions=false -DjmsProvider=SonicMQ
 
Also, we need to add following properties in $DLC/properties/jmsProvider.properties file.
[SonicMQ]
javax.jms.ConnectionFactory=progress.message.jclient.ConnectionFactory
javax.jms.QueueConnectionFactory=progress.message.jclient.QueueConnectionFactory
javax.jms.TopicConnectionFactory=progress.message.jclient.TopicConnectionFactory
 
Hope this helps!!
 
Thanks,
Anand.
 

Posted by Paul-V on 13-Jul-2016 03:23

Hi Anand.

Unfortunately this is not what I'm looking for. I'm trying to connect to ActiveMQ as well as SonicMQ in ONE client session...

GENERIC JMS Adapter should be able to provide for this.. Apparently it doesn't so I'm going to log a support call about this issue.

In the meantime I have come up with an idea of a possibility that might be a temporary solution: I have a version 10.2B implementation running as well as a version 11.5. I can have my client session connect to the 11.5 SonicMQ1 adapter for ActiveMQ connectivity and to the 10.2B SonicMQ1 adapter for SonicMQ connectivity.

I will be trying this today.

Paul.

Posted by Paul-V on 13-Jul-2016 07:16

This definitely works; the good thing is that it doesn't matter whether the client is 10.2B or 11.5!

This thread is closed