$ cd $VIRGO_HOME
$ bin/startup.sh -jmxport 9090
As documented in Accessing Gemini Management MBeans from a Groovy Script it's rather easy to get in touch with the JMX console of Virgo (e.g. with Groovy):
System.getProperties().put("javax.net.ssl.trustStore", System.getenv("VIRGO_HOME") + "/configuration/keystore");
def client = new JmxBuilder().connectorClient(port: 9875)
print "connecting to JMX server..."
client.connect([ 'jmx.remote.credentials' : ['admin', 'admin' ] as String[] ])
println "established."
MBeanServerConnection server = client.getMBeanServerConnection()
Once you have a server connection established you've got cool options like deploying your own bundle myBundle.jar
. Grab the deployer MBean named org.eclipse.virgo.kernel:category=Control,type=Deployer
and invoke the deploy command:
static String DEPLOYER_MBEAN_NAME = "org.eclipse.virgo.kernel:category=Control,type=Deployer"
ObjectName deployer = new ObjectName(DEPLOYER_MBEAN_NAME);
File deploymentUri = new File("/tmp/myBundle.jar")
server.invoke(deployer, "deploy", [deploymentUri.toURI().toString() ] as Object[], [String.class.getName() ] as String[])