Re: Automated queue creation within a swiftlet
The thread dump shows that it is starting a Kernel Swiftlet, informs the deployer and starts it. Deployer starts Extension Swiftlet which startup method blocks because it creates a JMS connection. The reason why it blocks seems to be that one or more required Kernel Swiftlets like Network, JMS are not yet started because the startup sequence of Kernel Swiftlets hangs due to the blocking of the Extension Swiftlet's startup method. That's what I see in detail.
To solve that you need to register a SwiftletManagerListener at the SwiftletManager in your startup method and wait until every thing is up and then create your CLI connection.
I really do not understand why you don't use the proper ways by either (a) putting your CLI commands in your config.xml or, if you use generated queue names, to (b) create system queues by passing the control to a queue controller.
(a) is actually the way to go. That queue names may change in future isn't a strong argument. Just change it in the config.xml and redeploy. You'd need to change it anyway.