Mule2.x Getting Started Guide笔记(一)Using Mule

Mule2.x Getting Started Guide笔记(一)Using Mule
1.Configuring Mule
start mule by calling it from my own code:

MuleContext context = new DefaultMuleContextFactory().createMuleContext(new SpringXmlConfigurationBuilder("foo-config.xml"));
context.start();

to use the class import jar in pom.xml
<dependency>
<groupId>org.mule</groupId>
<artifactId>mule-core</artifactId>
<version>2.0.2</version>
</dependency>

All Mule configuration is accessible from a single object: org.mule.api.config.MuleConfiguration . Configurations in a MuleConfiguration are set when a MuleContext is created. The object becomes immutable after it is started and can be accessed using the following:

MuleContext context = MuleServer.getMuleContext();
MuleConfiguration configuration = context.getConfiguration();

2.mule Schema Defination
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:file="http://www.mulesource.org/schema/mule/file/2.0"
xmlns:jms="http://www.mulesource.org/schema/mule/jms/2.0"
xmlns:smtp="http://www.mulesource.org/schema/mule/smtp/2.0"
xmlns:pop3="http://www.mulesource.org/schema/mule/pop3/2.0"
xmlns:email="http://www.mulesource.org/schema/mule/email/2.0"
xmlns:xm="http://www.mulesource.org/schema/mule/xml/2.0"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.mulesource.org/schema/mule/core/2.0 http://www.mulesource.org/schema/mule/core/2.0/mule.xsd
http://www.mulesource.org/schema/mule/file/2.0 http://www.mulesource.org/schema/mule/file/2.0/mule-file.xsd
http://www.mulesource.org/schema/mule/jms/2.0 http://www.mulesource.org/schema/mule/jms/2.0/mule-jms.xsd
http://www.mulesource.org/schema/mule/smtp/2.0 http://www.mulesource.org/schema/mule/smtp/2.0/mule-smtp.xsd
http://www.mulesource.org/schema/mule/pop3/2.0 http://www.mulesource.org/schema/mule/pop3/2.0/mule-pop3.xsd
http://www.mulesource.org/schema/mule/email/2.0 http://www.mulesource.org/schema/mule/email/2.0/mule-email.xsd
http://www.mulesource.org/schema/mule/xml/2.0 http://www.mulesource.org/schema/mule/xml/2.0/mule-xml.xsd">

</mule>

3、Get properties file
<description>MULE2.0.2 ATHENA</description>
<context:property-placeholder location="athena.properties" />

4.Get jms transport
config athena-config.xml
<jms:activemq-connector name="JMSConnector"
brokerURL="${activeMQ.url}" />
config properties file athena.properties
#=================================
# activeMQ configuration
#=================================
activeMQ.url=tcp\://192.168.50.90\:61616
add the jars in pom.xml
<dependency>
<groupId>org.mule.transports</groupId>
<artifactId>mule-transport-jms</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>4.1.1</version>
</dependency>

5.Import Spring config using <spring:import> tag
<spring:beans>
<spring:import resource="classpath:applicationContext.xml" />
<spring:import resource="classpath:core/applicationContext-dao.xml" />
</spring:beans>
error report below:
Offending resource: URL [file:/E:/work/athena/WebRoot/WEB-INF/classes/athena-config.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate NamespaceHandler for namespace [null]
Offending resource: URL [file:/E:/work/athena/WebRoot/WEB-INF/classes/applicationContext.xml]

the error is caused by the spring schema,modify the xml like this:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

</beans>

6.Start mule in a web application
To embed Mule inside a webapp, you provide one or more configuration file locations as context params and include a context listener to initialize the Mule Server.
web.xml:
<context-param>
<param-name>org.mule.config</param-name>
<param-value>
athena-config.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.mule.config.builders.MuleXmlBuilderContextListener
</listener-class>
</listener>

7.Start mule in a java application
init context:
static MuleContext muleContext = null;

DefaultMuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
SpringXmlConfigurationBuilder configBuilder;
try {
configBuilder = new SpringXmlConfigurationBuilder(
"athena-config.xml");
try {
muleContext = muleContextFactory
.createMuleContext(configBuilder);
} catch (InitialisationException e) {
e.printStackTrace();
}
} catch (ConfigurationException e) {
e.printStackTrace();
}

start context:
try {
muleContext.start();
} catch (MuleException e) {
e.printStackTrace();
}

stop context:
try {
muleContext.stop();
} catch (MuleException e) {
e.printStackTrace();
}
muleContext.dispose();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值