How to configure an ActiveMQ client for use of JMS from an A

Posted by Paul-V on 01-Feb-2016 04:18

Reading the whitepaper on configuring the generic JMS Adapter (https://community.progress.com/community_groups/openedge_development/m/documents/1986/) I get confused as there are examples for using WebSphere but not ActiveMQ. Do I actually need to create the mentioned class for JNDI access for use with ActiveMQ?

I have followed all other steps from the whitepaper, but it is inconclusive about which entries to add to the PluginClassPath and ClassPath in the AdminServer.properties file.

When I start the broker (SonicMQ broker or the same with a new name) I get: A public jmsfromABL.AdminObjectFinder class was not found.

Anyone, please?

Thanks!

Paul

All Replies

Posted by Anand Adike on 01-Feb-2016 05:16

Hi Paul-v,

Please follow  below steps to configure ActiveMQ with Generic JMS Adapter:

1) Updated [PluginPolicy.Progress.SonicMQ] section in AdminServerPlugins.properties file as show below:

     [PluginPolicy.Progress.SonicMQ]

pluginclasspath=${DLC}/java/progress.jar,${DLC}/java/ext/activemq-all-5.10.0.jar

classpath=${DLC}/java/progress.jar,${DLC}/java/ext/activemq-all-5.10.0.jar

jvmargs=-DsonicMQExtensions=false -DjmsProvider=ActiveMQ

2) Start the AdminServer and SonicMQ Adapter.

Please find the attached pcode.zip file that contains sample example pcode to connect with ActiveMQ.

Hope this helps.

Thanks,

Anand.

Posted by Paul-V on 01-Feb-2016 05:57

Thanks, Anand.

This seems to be exactly the same as I've tried before, but will try it nevertheless.

Will keep you posted.

Posted by Paul-V on 01-Feb-2016 09:06

Excerpt from the sonicMQ1.server.log, directly after starting up the broker (well, agent actually)

18.Main  >(Feb 1, 2016 15:35:35:460) /usr/wrk/sonicMQ1.server.log opened.

19.Main  >(Feb 1, 2016 15:35:35:460) : Starts Adapter server logging.

20.Main  >(Feb 1, 2016 15:35:35:460) : LoggingLevel set to = 2

21.Main  >: A public jmsfromABL.AdminObjectFinder class was not found.

and an excerpt from my AdminPlugins.properties:

#

# Policy for the 4GL SonicMQ Adapter

#

[PluginPolicy.Progress.SonicMQ]

   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

I have not modified the jmsProvider.properties file (ActiveMQ is already in it...)

So what is it that I'm missing here? I have verified that the JAR is indeed in the java/ext directory.

Posted by Paul Connaughton on 01-Feb-2016 09:15

I think that is expected as you are not using JNDI with ActiveMQ. You will get the same error with SonicMQ as the provider. Does the sample code that Anand provided work with the Adapter broker/server in this state?

Posted by Paul-V on 01-Feb-2016 09:30

I was'nt expecting error messages as expected behaviour; I had not yet tried to connect; I will now.. Thanks.

Posted by Paul Connaughton on 01-Feb-2016 09:39

Yes, it could definitely be clearer that this is just a warning message that appears in the adapter's server log whenever the user didn't implement and install a JNDI (or other admin. object storage) support.

For example, you would not see this message if you used WebSphere MQ with a remote adapter client, as JNDI is required in that scenario for the connection to work.

Posted by Anand Adike on 01-Feb-2016 23:54

Here, we are not using JNDI approach to connect with ActiveMQ. It’s a warning message.
 
Directly we can connect to ActiveMQ by providing the connection URL in pcode.
 
There is no problem in the configuration that you did. Set the server logging level to 5 and try to execute the round-trip, it will work.
 
Could please let me know if you have any issues in executing round-trip.
 
Thanks,
Anand.
 

Posted by Paul-V on 02-Feb-2016 03:34

I'm not sure what I did that was different, but you;ve made me get it working!

Thanks guys, much obliged!

This thread is closed