serviceMix 教程3--转
准备工作:[/b]
下载ServiceMix:http://apache.mirror.phpchina.com/servicemix/servicemix-3/3.2.1/apache-servicemix-3.2.1.zip,文件一共70多M。
环境:
eclipse3.2或以上,JDK1.5或以上。
实例说明:
本实例提供了如何通过ServiceMix传输文件的功能。实现方法很简单,只需要编写一个ServiceMix的配置文件,通过main(Stringargs[])调用该配置文件即可。
在该实例中,我们编写了一个servicemix.xml文件。其内容如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns:sm="http://servicemix.apache.org/config/1.0">
<beanid="jndi"class="org.apache.xbean.spring.jndi.SpringInitialContextFactory"
factory-method="makeInitialContext"singleton="true"/>
<sm:containerid="jbi">
<sm:activationSpecs>
<sm:activationSpeccomponentname="filePoller"
destinationService="fileSenderService"service="filePollerService">
<sm:component>
<beanclass="org.apache.servicemix.components.file.FilePoller">
<propertyname="file"value="inbox"/>
</bean>
</sm:component>
</sm:activationSpec>
<sm:activationSpeccomponentname="fileSender"
service="fileSenderService">
<sm:component>
<beanclass="org.apache.servicemix.components.file.FileWriter">
<propertyname="directory"value="outbox"/>
</bean>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
</beans>
启动ServiceMix:
启动ServiceMix有多种方式,可以通过配置path,使用servicemix.bat启动,也可以通过调用其org.apache.servicemix.Main.main(Stringargs[])来启动ServiceMix。
下面介绍如何通过org.apache.servicemix.Main.main(Stringargs[])的方式启动ServiceMix.
核心代码如下:
....
String[]args=newString[1];
args[0]="classes\\com\\honno\\demo\\servicemix.xml";
org.apache.servicemix.Main.main(args);
....
其中servicemix.xml就是刚才我们提到的servicemix.xml文件。
在eclipse中新建一个JavaProject项目,并通过main(Stringargs[])调用该代码片段后,我们可以发现在eclipse工程下会自动新建两个文件夹,名为inbox和outbox。拷贝一个.xml格式的文件到inbox后,会发现该文件被ServiceMix拷贝到outbox下,并自动删去inbox中的文件。
[本帖最后由honno于2008-7-1617:49编辑]
sarareed发表于2008-7-1514:44
可不可以写的详细点?我按你的操作出现以下错误,很吓人!
而且可不可以把你的那个aegs[0]后的值来源介绍下,谢谢啦!
错误提示如下:
非法选项:s
用法:jar{ctxui}[vfm0Me][jar-file][manifest-file][entry-point][-Cdir]files...
选项包括:
-c创建新的归档文件
-t列出归档目录
-x解压缩已归档的指定(或所有)文件
-u更新现有的归档文件
-v在标准输出中生成详细输出
-f指定归档文件名
-m包含指定清单文件中的清单信息
-e为捆绑到可执行jar文件的独立应用程序
指定应用程序入口点
-0仅存储;不使用任何ZIP压缩
-M不创建条目的清单文件
-i为指定的jar文件生成索引信息
-C更改为指定的目录并包含其中的文件
如果有任何目录文件,则对其进行递归处理。
清单文件名、归档文件名和入口点名的指定顺序
与"m"、"f"和"e"标志的指定顺序相同。
示例1:将两个类文件归档到一个名为classes.jar的归档文件中:
jarcvfclasses.jarFoo.classBar.class
示例2:使用现有的清单文件"mymanifest"并
将foo/目录中的所有文件归档到"classes.jar"中:
jarcvfmclasses.jarmymanifest-Cfoo/.
honno发表于2008-7-1517:33
你可以安装如下步骤操作。
详细步骤:
1.在eclipse中新建一个JavaProject,命名为demo。
2.新建lib文件夹,导入servicemix所需的.jar文件。
3.新建java包:com.honno.demo,将上述servicemix.xml拷贝到该包下。
4.新建类com.honno.demo.FileDemo.java,在该类中定义如下方法,编译后并运行即可启动servicemix。