Category Archives: ESB

org.apache.bsf.BSFException: unable to load language

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.

Run the Sonic Management Console (SMC) in Developer Mode

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

Add

-Ddeveloper=true

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!  :-)