ServiceMix正常运行后,我们尝试编写一个Blueprint XML文档:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0;http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
default-timeout="0">
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="file:c:/inbox"/>
<to uri="file:c:/outbox"/>
</route>
</camelContext>
</blueprint>
将以上内容保存成example1.xml,并将此文件拷贝到<ServiceMix Home>/deploy/文件夹下。
到ServiceMix的console里输入命令list,可以看到:
可以看到最后一行那个ID为178的项,名字为example1.xml,它的Blueprint容器状态为Created,证明这个文档已被正常解析了。
再检查一下电脑的C盘,是否多了个inbox的文件夹?
现在,尝试随意复制任意一个文件(假设为log.txt)到C:\inbox文件夹下。
再看看,C盘是否又多了一个C:\outbox文件夹,而且文件夹有一个文件(log.txt)?
这是怎么发生的呢?
我们看回刚才的example1.xml,里面有个<camelContext>,里面嵌套一个<route>,<route>标签里又嵌套一个<from>和<to>,这就定义了一个camel路由。
这个Camel路由从<from>标签取出信息,然后交由<to>标签消费。那么这个信息是什么东西呢?这就要看<from>和<to>标签中指定的uri属性了。
在这里,uri分别是file:c:/inbox和file:c:/outbox,它就是代表当有<from>的uri所代表的file endpoint的数据产生(将log.txt文件拷入inbox文件夹)后,camel路由就开始工作:endpoint从inbox文件夹里取出log.txt,交由<to>的uri(file:c:/outbox)代表的file endpoint处理(将log.txt写入c:\outbox文件夹内)。
那么endpoint在这里是什么概念呢?这个endpoint是属于camel的概念,首先camel项目定义了一系列针对不同功能的Component,这些Component用不同格式的URI来代表,比如:
file:directoryName[?options]
当我们将这些Component用于定义Camel路由时,Component就相当于一个实例工厂,在有信息需要处理时,这个工厂就产生一个实例来处理这些信息,而这个实例就是叫做一个endpoint。
如果理解了Camel的Component、URI、Endpoint的概念和他们之间的关系,那么恭喜你,你基本上就算入了Camel的门了。
- 大小: 28.1 KB
分享到:
相关推荐
Apache ServiceMix快速入门指南旨在帮助用户在20分钟内熟悉并开始使用这款开源企业服务总线(ESB)。ServiceMix是基于OSGi的Java应用程序,它提供了集成多种不同技术和服务的能力,如Java消息服务(JMS)、Web服务、...
2. **企业集成模式(EIP)**:ServiceMix内置了众多企业级集成模式,如消息路由、消息转换等,这有助于简化复杂系统的集成工作。 3. **协议支持**:ServiceMix支持多种通信协议,包括HTTP、FTP等,可以方便地与其他...
#### 一、ServiceMix安装及入门 - **ServiceMix简介**:ServiceMix是一款开源的企业服务总线(ESB),基于Java Business Integration (JBI) 规范构建,用于实现企业级应用和服务的集成。它是Apache软件基金会的一个...
1. **ServiceMix 安装与入门** ServiceMix 的安装非常简单,只需从Apache官网下载对应的压缩包,解压后进入bin目录,运行ServiceMix.bat即可启动。为了添加或发布服务,你可以将组件拷贝至hotdeploy目录,...
总的来说,JBI开发指南(ServiceMix开发指南)是一份珍贵的资源,为开发者提供了一条学习JBI和ServiceMix的入门之路。通过这份指南,开发者可以掌握JBI规范的核心概念,包括JBI定义的消息交换模式和应用程序接口。而...
7. **适用于多个项目:** 可以作为路由和中介引擎用于 Apache ServiceMix(最流行和强大的分布式开源企业服务总线和 JBI 容器)、Apache ActiveMQ(最流行和强大的开源消息代理)、Apache CXF(智能 Web 服务套件)...
- **Apache ServiceMix**:最流行和强大的分布式开源ESB(企业服务总线)和JBI(Java Business Integration)容器。 - **Apache ActiveMQ**:最受欢迎和强大的开源消息代理。 - **Apache CXF**:一个智能的Web服务...
- Apache ServiceMix:最流行且强大的分布式开源企业服务总线(ESB)和 JBI 容器。 - Apache ActiveMQ:最受欢迎的开源消息代理。 - Apache CXF:一套智能 Web 服务套件(JAX-WS)。 - Apache MINA:网络框架。 ###...
- **Apache ServiceMix**:最流行且功能强大的分布式开源企业服务总线(ESB)和JBI容器之一。 #### 二、架构与特性 Apache Camel的设计旨在提供一种灵活且强大的集成解决方案。其核心架构特点包括: 1. **URI驱动**...
3. **部署灵活性**:可在轻量级容器如Tomcat、Spring,JBI容器如ServiceMix,或J2EE应用服务器如Geronimo、JBoss、WebLogic、WebSphere上部署。 4. **多语言支持**:不仅限于Java,还支持JavaScript、E4X、CORBA等。...
- **Apache ServiceMix**:这是最受欢迎且功能强大的分布式开源 ESB 和 JBI 容器。 - **Apache ActiveMQ**:这是最受欢迎且功能强大的开源消息代理。 - **Apache CXF**:这是一个智能 Web 服务套件(JAX-WS)。 - **...
- Apache ServiceMix:一个流行的分布式开源ESB和JBI。 - Apache ActiveMQ:一个成熟且广泛使用的开源消息代理。 - Apache CXF:一个智能的Web服务套件(包括JAX-WS和JAX-RS)。 - Apache Karaf:一个小型的基于OSGi...
- **Apache ServiceMix**:这是一个流行的分布式开源ESB(Enterprise Service Bus)和JBI(Java Business Integration)容器。 - **Apache ActiveMQ**:这是一个成熟的、广泛使用的开源消息代理。 - **Apache CXF...
- 企业级应用服务器:许多Java EE应用服务器,如Apache Karaf和Apache ServiceMix,都是基于OSGI技术构建的。 - 插件系统:OSGI常用于实现应用程序的插件系统,如Eclipse IDE和Jetty Web服务器都使用OSGI来实现其...
- `org.apache.servicemix.bundles.commons-dbcp-1.2.2_3.jar` - `commons-pool-1.4.jar` - `subethasmtp-wiser-1.2.jar` - `slf4j-nop-1.5.8.jar` - 数据库驱动(例如`mysql.jar`) - `btm-1.3.jar` - JBPM运行时的...
**二、CXF 入门示例** **HelloWorldService** 是一个经典的入门示例,展示了如何创建和发布一个简单的Web服务。 1. **服务器端代码**: - 使用了JDK5的注解(Annotation),如`@WebService`和`@SOAPBinding`。 -...
- **集成能力**:CXF能够很好地与各种应用服务器集成,比如内置的Jetty应用服务器,同时还支持通过Yoko实现CORBA的支持,通过Tuscany支持SCA,通过ServiceMix支持JBI。 #### 二、CXF环境搭建与配置 CXF的安装非常...
【WebService CXF详解与入门】 WebService是一种允许不同系统之间进行通信和交互的标准协议,它基于HTTP协议,使得应用程序可以无视具体实现细节地调用互联网上的服务。这种技术使得分布式应用程序的发展成为可能,...