热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheServiceMix7.0.0-001

Vsersion7.0-SNAPSHOT第七版速览(未经博主同意严禁转载,严禁用于任何商业目的,持续更新中………..)1.介绍首先,欢迎来到ApacheServiceMi

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我们。


推荐阅读
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 标题: ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
author-avatar
楼兰祈珞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有