I’m jazzed about creating a JRuby DSL for message manipulation in SonicMQ/Sonic ESB. No time to go into the details right now, but I ran into a problem that I couldn’t find an answer for. Maybe this will help the next poor soul…
I was able to run this service on my laptop without any problem, but when I tried to distribute it to others, it wouldn’t work. So I went back and tried to deploy my XAR to a clean VM, and I kept getting org.apache.bsf.BSFException: unable to load language: ruby. It didn’t make any sense, because it ran on one copy of Sonic, why not the other?
Well, after a lot of Googling and head-scratching, I came to the realization that I was running my laptop container on Java 5, while the clean install on the VM was, by default, using Java 1.4.2. Once I changed the VM container to Java 5, the problem went away.
To run the Sonic Management Console (SMC) in Developer Mode, just edit <sonic-install-dir>/MQ<version>/bin/startmc.bat. Find the line that says
"%MGMTCONSOLE_JRE%" "%SONIC_BOOT_CLASSPATH%" -cp "%SMC_CLASSPATH%" -Dsonicsw.home="%SONIC_HOME%" %SONICMQ_SSL_CLIENT% %SONICMQ_SSL_CLIENT_EXT% com.sonicsw.ma.gui.MgmtConsole
so that it looks like
"%MGMTCONSOLE_JRE%" "%SONIC_BOOT_CLASSPATH%" -cp "%SMC_CLASSPATH%" -Ddeveloper=true -Dsonicsw.home="%SONIC_HOME%" %SONICMQ_SSL_CLIENT% %SONICMQ_SSL_CLIENT_EXT% com.sonicsw.ma.gui.MgmtConsole
Now, when you start SMC, you won’t have to type the password anymore to connect to the Domain. You’ll also see DEVELOPER in the title bar, as well as a Developer tab.
One thing this does for you is give you lots of interesting information about a component when you hover over it. But not having to type Adminstrator [sic] anymore to connect to SonicMQ is good enough for me!