OSX Manual Execution Fails

Create issue
Issue #37 resolved
Becky Benton created an issue

I have been unable to find much documentation on installing SonicMessageManager and running on OSX manually. Due to corporate constraints, I cannot use the .jnlp method.

It would be good to know what prerequisites are necessary to run SonicMessageManager from OSX. The docs at https://queuemanager.nl/offline-installation/ mention copying files "to your SonicMQ lib directory". I do not have any Sonic product installed.

In any event, I downloaded the files and tried running them:

ls -lha 
-rw-r--r--@  1 bentr016  DISID\Domain Users   800K Jul 20 12:19 SonicMessageManager.jar
-rw-r--r--@  1 bentr016  DISID\Domain Users   595K Jul 20 12:19 jhall.jar
-rw-r--r--   1 bentr016  DISID\Domain Users   1.3M Jul 21  2016 sonic_Client.jar

java -cp "*" nl.queuemanager.smm.Main
Exception in thread "main" java.lang.NoClassDefFoundError: com/sonicsw/ma/mgmtapi/config/AttributeNotFoundException
    at nl.queuemanager.smm.Main.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sonicsw.ma.mgmtapi.config.AttributeNotFoundException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

Presuming that this can run on OSX, the issue is simply missing documentation.

Comments (3)

  1. Gerco Dries repo owner

    Hello Rebecca,

    The program runs just fine on OS X, it's my main development platform, Windows and Linux are secondary. Because the program uses SonicMQ management APIs, it needs more than the minimum amount of jar files for a regular Sonic client.

    The jar files required are generally as follows:

    • MFdirectory.jar
    • activation.jar
    • javax.jms.jar
    • mail.jar
    • mgmt_agent.jar
    • mgmt_client.jar
    • mgmt_config.jar
    • smc.jar
    • sonic_Client.jar
    • sonic_Crypto.jar
    • sonic_XMessage.jar
    • sonic_mgmt_client.jar
    • xercesImpl.jar

    This list varies a little with Sonic versions due to Sonic internal implementation details that I have no control over or insight in. I've been able to piece together this list mostly due to trial and error. You can see the required jars for each Sonic version at https://bitbucket.org/gerco/messagemanager-2.x/src/c6f6ed3b0157/lib. If your Sonic version is not on that list, you'll have to do a little experimentation to find out which jars are needed. The differences between the versions are small so usually it doesn't take long to work it out.

    This is easiest if you have the Sonic management tools for the appropriate Sonic version installed, then you can just point to the SonicMQ lib directory on the profile screen and it will work itself out. I also noticed that the page you refer to has old links for the application jar file. The correct link is now:

    https://queuemanager.nl/app/messagemanager-app-jar-with-dependencies-3.0.jar

    The jhall.jar is no longer needed. I'll mark this down to out of date documentation and update that page. The application jar is standalone and does not need to be colocated with the SonicMQ jar files but you do need to have the SonicMQ jar files available somewhere.

  2. Becky Benton reporter

    Hello Gerco,

    This is exactly the answer I needed. Thank you, and thank you for building and maintaining such an amazing project!

    Cheers,

    Becky

  3. Log in to comment