If you want to embed mule inside a webapp have a look here. To configure mule from any java application you can call one of it's configuration builders. To use Mule Xml configuration-
MuleXmlConfigurationBuilder builder = new MuleXmlConfigurationBuilder();
UMOManager manager = builder.configure("mule-main-config.xml,mule-components.xml);
Or to use Spring configuration -
SpringConfigurationBuilder builder = new SpringConfigurationBuilder();
UMOManager manager = builder.configure("mule-spring-config.xml,mule-spring-components.xml");
Note that in both examples a comma separated list of configuration files is provided. You can use just a single configuration file if you want
To interact with the Mule server from your application you can use the [MULEUSER:Mule Client].
MuleClient client = new MuleClient();
client.dispatch("jms:, "some data", null);
UMOMessage message = client.receive("pop3:, 3000);
UMOMessage message2 = client.send("vm:, "Some more data", null);