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