Wednesday 11 March 2009

Manually undeploying a Service Assembly in ServiceMix

Adding this entry mainly as a reference for myself.

The issue is that there is a a maven jbi plug-in deploy job but not an undeploy job which from a configuration management point of view is plain stupid.  Anyway if you have a maven service mix project that you've deployed the service assembly using the maven command:

mvn jbi:projectDeploy
Then you're going to have fun undeploying it as apparently there is no undeploy task see http://www.nabble.com/How-to-undeploy-a-SA-in-serviceMix-td16736845.html or http://markmail.org/message/67pysr5olbq6wazt this can be done in ant (great another technology to use !) or manually by doing:
  1. Stop ServiceMix
  2. Go to /data/smx/serviceassemblies & delete the service assembly folder
  3. Restart ServiceMix
To do this in ant you use the command:
ant -f servicemix-ant-task.xml -Dsm.username=smx -Dsm.password=smx -Dsm.service.assembly.name=NAME_OF_THE_SA undeploy-service-assembly

Update:

Instead of using
mvn jbi:projectDeploy -DforceUpdate=true

Clear ServiceMix by stopping ServiceMix, deleting everything in the /data and restarting.  Then just copy the jar from the /target/.jar to the /hotdeploy directory.

Appatently the force update redeploy's artifacts that don't need to be redeployed, see http://cwiki.apache.org/SM/discussion-forums.html#nabble-p21474293

1 comment:

gaoming said...

ervicemix-script you have examples of source?Please give me one, thank you very much!
my email:gaoming25@gmail.com
QICQ:37041182