Vsersion 7.0-SNAPSHOT 第七版速览
(未经博主同意严禁转载,严禁用于任何商业目的,持续更新中………..)
1.介绍
首先,欢迎来到Apache ServiceMix 项目!
快速指南的目的是让你在20分钟内快速了解ServiceMix是什么,你能用它来做什么,我们将会在你的设备上安装ServiceMix,部署一些基础的集成路由和附带额外功能的扩展容器。
2.安装
在开始使用Apache ServiceMix 之前,我们需要安装这个软件并且在本地运行。
2.1系统要求
为了运行Apache ServiceMix ,你需要
.Java Runtime Enviroment 1.6x(java 6) 或者
.Java Runtime Enviroment 1.7x(java 7)
.100MB的磁盘空间来安装默认组件。
如果你要开发自己的集成应用和OSGI 包,你还需要一下配置
.Java Developer Kit (JDK)1.6x(java 6)或者
.Java Developer Kit (JDK)1.7x(java 7)
.Apache Maven 3.0.4或者更高版本
2.2 下载Apache ServiceMix
Apache SerViceMix 7.0.0-SNAPSHOT 在Apache License v2 下可以获得,可以从 http://servicemix.apache.org/处下载。
基于你的操作系统,你需要下载对应的版本
.tar.gz适用于Linux/unix/macos X
.zip 适用于windows
2.3安装Apache ServiceMix
安装Apache ServiceMix 只需将你下载的安装包解压到你的硬盘上即可。在指导的后面部分,我们将把安装路径称为SERVICEMIX_HOME
。
2.4启动Apache ServiceMix
依据你的平台,依照以下说明来启动Apache ServiceMix。启动container之后 , 你就可以通过控制台来管理容器。
在windows系统
在命令提示窗口,进入ServiceMix的目录,运行bin\servicemix.bat 文件。
例如:如果ServiceMix 的安装目录为 c:\tools\apache-servicemix-7.0.0-SNAPSHOT
在Linux/Unix/MacOS X系统上
在shell中,进入你的安装目录运行bin/servicemix 的脚本
例如:如果你的ServiceMix安装在~/Applications/apache-servicemix-7.0.0-SNAPSHOT目录。
3.Apache ServiceMix 的控制台
现在我们已经成功的安装和启动了Apache ServiceMix ,接下来我们将进一步了解控制台。在控制台你将管理你的ServiceMix 的实例,添加或者移除包,加载自定义功能,………..。
3.1操作包
当ServiceMix第一次被启动时,一个用于生产的核心功能的包集将会被加载,让我们使用控制台来探索更多关于这些包……
bundle:list命令可以用来获得当前被加载的所有包,键入如下:
对于每一个包,你将会看见
包的id
包的状态
包是否包含一个Blueprint或者Spring XML文件,在接下来显示的两行将会显示被定义的beans是否成功被创建
包开始的水平
包的名字和版本
如果你想在列表里看一些特别的信息,你可以使用类似于nuix的管道和工具来帮助你。
例如:查看和包所相关的所有Camel
3.2日志
许多你写的应用都会有某种形式的日志的输出。查看日志文件中的信息,你可以使用log:display命令。
如果你只想加载异常日志,你可以使用log:display-exception命令.
你也可以改变日志的等级在运行期间,使用log:set命令。你现在可以尝试这些指令在你的实例上,首先将日志等级设置成DEBUG然后使用grep来确定你的确能看见额外的日志记录。
在这之后,使用log:set命令将日志等级恢复成INFO
3.3更多关于
上面显然只有少量的例子展示了shell命令是什么。除此之外还有很多命令可以帮助你部署,监视,管理和你创建的SserviceMxi的故障排除。
4.使用Camel
现在我们知道了如何通过shell控制台来操作Apache ServiceMix ,现在我们开始来使用它。让我们使用Camel路由来创建我们的第一个集成解决方案,并将它部署在ServiceMix上。
4.1简单的方案
在这个简单的方案中,我们将移动文件从输入目录camel/input到一个输出目录camel/output。为了确保我们可以跟踪哪些文件被移动了,我们也会写一个信息到日志文件当我们一dion个一个文件时。
4.2创建一个路由
一个最简单的在ServiceMix上部署一个新的路由的方法是在Blueprint XML文件中定义路径。
4.3部署路由
为了部署和启动一个路由,只需要复制你刚才创建的XML文件到ServiceMix的部署目录。这个文件将会被ServiceMix捡起和部署。你将会看见一个camel/input文件夹显示在你的ServiceMix的安装目录上,并且任何你复制到该目录的文件都会被移动到camel/output目录。
如果你在shell中输入log:display命令,你将会看见被移动文件的日志的输出。
4.4使用shell管理路由
使用bundle:list命令,你将会注意到你的XML文件已经被转换成为了一个包,并且Blueprint容器已经被创建来启动你的Camelia路由。
从这个输出,你也可以了解到你的xml文件的包的id是,这使得你可以启动或者停止这个路由,当你觉得需要的时候。让我们来演示一下。
首先,停止这个路由
这个路由不再处于活动状态,所以现在你复制任何文件到orders/input文件夹下都仍然会保持在那。当你重新启动这个路由时,这个待处理文件才会被移动。
5.向Mix中添加ActiveMQ
开箱即用,每一个Apache ServiceMix 的实例都嵌入了ActiveMQ JMS的中间件。这使得Camel路由之间可以很方便的在同一个设备上使用持久化消息进行通信,除此之外它也可以使你在类聚或者载入平衡时通过复杂实例发布你的路由。
5.1我们的脚本
在这个脚本中,我们也想在两个目录之间移动文件。在这我们不再直接记录移动日志,我们将会发送一个JMS message事件到队列中去,然后我们将会创建一个临时的Camel路由来接受这个时间并且记录他们。
5.2移动文件和发送事件消息
我们创建的第一个Blueprint XML文件包含了一个Camel路由,它将会把文件从activemq/input移动到activemq/output目录下。在这之后,它将会生成一个事件消息,发送到一个叫做events的ActiveMQ队列。
保存这个文件在ServiceMix的发布文件中,然后使用bundle:list来检查包的状态,就像你之前在Camel的简单示例中做的那样。你现在可以将文件放置在activemq/input目录下并且看到它们被移动到了activemq/output目录下。
5.3接受事件消息
发布第一个XML文件之后,很显然你没有看到任何一个事件被记录。事件消息被发送到ActiveMQ队列,但是没有来接受这个消息的结构体,所以让我们现在创建一个临时的Blueprint XML文件来接受它。
当这个临时文件被部署之后,你将会看见这个事件消息在你的log:display的output中。
5.4使用shell来管理路由
你现在可以通过控制台来启动或停止路由。现在你需要注意的重要的事情是当文件被处理时你可以停止事件管理路由。只要你重新启动包,在这之后你将会接受到来自所有文件的事件,这些文件在路由没有运行时就已经被移动了。
6.可选择的功能
以上所讨论的是在开箱即用的Apache ServiceMix 中已经加载的功能,但是我们仍然有很多可选则的功能可以被加载到容器中去,如果需要的话。
6.1功能列表
这个功能列表可以通过features:list命令获得。这个概览可以向你展示功能是否已被安装,版本号和功能的名字。
这整个列表包含了许多不同的功能。
6.2web控制台
为了加载web控制台在你的SeerviceMix中,加载这个功能通过你的控制台。
在这之后你可以证实这个功能在概览中已经被标识加载。你将会注意到webconsole_base功能已经作为webconsole功能自身的一个必要条件被加载了。
你现在你就可以浏览http://localhost:8181/system/console登陆,user:smx,password:smx,来登陆web控制台。从webconsole,你也可以启动和停止包,再次加载可选功能,………。
7.结束
到此我们的Apache ServiceMix 介绍之旅就结束了,我们只是尽可能的窥探了表面的东西,但是我们希望你能从Apache ServiceMix中获得一些想法,并将它应用到你的环境中。
关于更多资讯,请参考我们的用户指导,如果你有任何疑问,欢迎email我们。