Apache ServiceMix 是一个灵活的,开源的集成容器,他将 Apache ActiveMQ, Camel, CXF, ODE,Karaf 的特性与功能集成与一个强大的运行时平台,你可以利用他来构建你自己的集成方案。他提供了一个完整的、胜任企业级应用的、独家采用OSGI的ESB。
他在 Apache License v2 下发布。
主要特性包括:
- 可靠的报文收发,基于Apache ActiveMQ
- 报文、路由和企业集成模式,基于Apache Camel
- WS-\* 和 RESTful web services 基于Apache CXF
- 基于Apache ServiceMix NMR的其它组件之间的松耦合集成,包括富事件(rich Event), 报文(Messaging)和监视应用接口(Audit API)
- 完整的WS-BPEL引擎,基于Apache ODE
- 基于OSGi的服务器运行时,基于Apache Karaf
Installation
在我们开始工作前,我们要先把ServiceMix安装在本机上并让它运行。
System requirements
- Java Developer Kit (JDK) 1.6.x (Java 6), for both deployment and compiling.
(注意: Java 7 目前还不支持) - About 100 MB of free disk space
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(ArrayList.java:371)
at java.util.ArrayList.get(ArrayList.java:384)
at org.apache.felix.framework.BundleImpl.getCurrentModule(BundleImpl.java:1050)
at org.apache.felix.framework.BundleImpl.getSymbolicName(BundleImpl.java:859)
at org.apache.felix.framework.Felix.toString(Felix.java:1019)
at org.apache.felix.framework.Logger.doLog(Logger.java:128)
at org.apache.felix.framework.Logger._log(Logger.java:181)
at org.apache.felix.framework.Logger.log(Logger.java:114)
at org.apache.felix.framework.ExtensionManager.<init>(ExtensionManager.java:201)
at org.apache.felix.framework.Felix.<init>(Felix.java:374)
at org.apache.felix.framework.FrameworkFactory.newFramework(FrameworkFactory.java:28)
at org.apache.karaf.main.Main.launch(Main.java:266)
at org.apache.karaf.main.Main.main(Main.java:427)
Downloading Apache ServiceMix
Apache ServiceMix 4.4.2 在Apache License v2发布,你从下面的地址得到它:
http://servicemix.apache.org/downloads.html.
根据你的操作系统来选择你要获得安装文件的格式, tar.gz 或者 zip file:
- tar.gz for Linux/Unix/MacOS X
- zip for Windows
Installing Apache ServiceMix
安装Apache ServiceMix就如同把下载的文件解压到硬盘上一样简单。在本文的剩余部分中,我们会把它所在的位置成为<SERVICEMIX_HOME>。
Starting Apache ServiceMix
根据你所在平台,通过如下指令启动 Apache ServiceMix。启动容器后,你可以通过控制台来管理容器。
启动时如果发生错误,请注意你JVM的版本。
On Windows
启动命令行,进入ServiceMix被解压的位置,运行bin\servicemix.bat。
例如: 如果你的ServiceMix被安装在c:\tools\apache-servicemix-4.4.2 directory
> cd c:\tools\apache-servicemix-4.4.2
> .\bin\servicemix
On Linux/Unix/MacOS X
On a command shell, navigate to the directory where you extracted ServiceMix and the bin/servicemix shell script
Example: if ServiceMix is installed in the ~/Applications/apache-servicemix-4.4.2 directory.
$ cd ~/Applications/apache-servicemix-4.4.2
$ ./bin/servicemix