I need the Javadocs or API info for a few SonicMQ jars

Posted by appmath on 03-Feb-2012 17:21

I looked far and wide without any success for the docs for this jars:

  1. sonic_Client.jar
  2. mgmt_client.jar
  3. mgmt_config.jar
  4. sonic_mgmt_client.jar

For example, when I use file:///C:/Sonic/mq_documentation_7.6.htm, ( file:///C:/Sonic/Docs7.6/api/sonicmq_api/index.html and file:///C:/Sonic/Docs7.6/api/mgmt_api/index.html), I can't locate any information about these classes:

  1. com.sonicsw.mx.config.ConfigServiceException
  2. com.sonicsw.mq.mgmtapi.config.impl.QueuesBean

Can somebody

All Replies

Posted by appmath on 03-Feb-2012 17:23

I pressed the "Enter" button by mistake.

I would appreciated if you show me were I can get the docs and my employer has licenses for both 7.6 and 8.0 (not sure about 8.5).

Thanks.

Posted by csemeniu on 03-Feb-2012 17:46

You can find the docs in http://communities.progress.com/pcom/docs/DOC-16131

Christine

Posted by appmath on 03-Feb-2012 17:57

I can't find what I am looking for. I am looking for the Javadocs that would allow me (using my IDE) to link your jars to your docs, I can quickly lookup the javadocs/api while coding (industry standard).

What you sent me are links to PDF files which I can't really use (and I don't see anything about SonicMQ, it's mostly ESB and SOA). Javadocs come in 2 flavors: a URL like this one (http://docs.oracle.com/javase/6/docs/api/) or a folder with HTML files that's usually downloaded with the product.

Posted by teeljb on 04-Feb-2012 09:37

They are installed with Sonic Workbench (V7.6 is all I have), but there is no direct link (as far as I've seen) to them. Using Windows Explorer, I followed the directory path C:\Sonic\Docs7.6\api - from there are different subdirectories for different APIs. File overview-frame.html starts you off within each subdirectory.

Posted by pmeadows on 05-Feb-2012 13:44

As Jim mentioned, they should be installed with SonicMQ 7.x.

If you're using SonicMQ 8.x then open /progress_sonic_welcome.htm and follow the 'Download Documentation Packages' link.  Unpack the downloaded archive (e.g. 850_full_documentation.zip) to the Sonic home directory and this will create/populate a Docs8.x sub-directory.  This in turn has the 'api' directory Jim referred to.  You can point your IDE at the relevant javadoc areas within here, e.g. sonicmq_api

Posted by appmath on 06-Feb-2012 17:22

Using 7.6 version, take a look at sonic_mgmt_client.jar.

I still can't find the javadoc for some of the classes, actually, all of the classes inside the impl folders.

C:\MyProjects\sonic7\lib\sonic_mgmt_client\com\sonicsw\mq\mgmtapi\config\impl

C:\MyProjects\sonic7\lib\sonic_mgmt_client\com\sonicsw\mq\mgmtapi\runtime\impl

C:\MyProjects\sonic7\lib\sonic_mgmt_client\com\sonicsw\mq\mgmtapi\config\gen\impl

C:\MyProjects\sonic7\lib\sonic_mgmt_client\com\sonicsw\mq\common\runtime\impl

And here are some specific classes (I have spent way too much time looking for the javadocs)

BrokerBean.class

RouteDirectBean.class

RouteDirectSoapBean.class

WSProtocolBean.class

...

Posted by davila on 06-Feb-2012 18:08

You want to write your management application using the interfaces, not the implementation classes. Starting from the factories, like com.sonicsw.mq.mgmtapi.config.MQMgmtBeanFactory, you have methods that create beans or retrieve existing beans, all in terms of the interface classes, which is why it is the interface classes that are the ones that are documented. Yes, the implementation classes are also in those client jars, but they are not documented on purpose. In other words, you shouldn't need to refer to the implementation classes. If you have written an app and the API led you to a class that you couldn't find in the doc, could you post the code? So, instead of BrokerBean, you want IBrokerBean, for instance.

Posted by appmath on 08-Feb-2012 14:08

I hope that this example would clearly illustrate my issue: Please, open your "Progress SonicMQ Administrative Programming Guide V7.6", page 44:

"...

IQueuesBean.IQueuesSetType queues = broker.getQueuesBean().getQueues();

IQueuesBean.IQueueAttributes queue;

...

"

Why would I need to reinvent the wheel? In this specific case, I just need the queues. You have a perfectly working object that does e.x.a.c.t.l.y what I need.
All I am asking for is to have access to the missing API. For example, I would like to know what other functionality does QueuesBean have?. At this stage I am not looking for some custom solutions, all I need is to use what you already have

Thanks

Posted by pmeadows on 08-Feb-2012 14:42

To find the available methods for the example you give, look at IQueuesBean in the Mgmt API doc's:

  http://documentation.progress.com/output/Sonic/8.5.0/Docs8.5/api/mgmt_api/index.html

Here's the specific page (missing the surrounding frames):

  http://documentation.progress.com/output/Sonic/8.5.0/Docs8.5/api/mgmt_api/com/sonicsw/mq/mgmtapi/config/IQueuesBean.html

The Mgmt API doc's aren't always particularly easy to follow due to the fairly complex class hierarchies.  In this case getQueues() is inherited from IAbstractQueuesBean, a recurrent pattern you'll see across the Mgmt API.  getQueues() is, I suspect, the only method you're likely to use from IQueuesBean.

Taking another example, if you look at the API doc' for IQueuesBean.IQueueAttributes you'll see the 'interesting' methods are inherited from IAbstractQueuesBean.IAbstractQueueAttributes.  Here you'll find getQueueName(), getQueueMaxSize(), getQueueSaveThreshold(), etc...

As Mari's already stated, when coding you should refer to the main interface (IQueuesBean in this case), not the abstract interface (IAbstractQueuesBean), nor the internal implementation (QueuesBean).

I hope this is some help.

Thanks, Paul.

This thread is closed