<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    吳密的博客

    每天進步一點點
    posts - 12, comments - 1, trackbacks - 0, articles - 1

    2015年4月9日

    在本章我們介紹在serviceMIx 中圖和使用 ActiveMQ、features命令,入門的3篇文章來自
    http://servicemix.apache.org/docs/5.0.x/quickstart/index.html,有興趣的可以再去看看英文的。

    ActiveMQ
        每個
    Apache ServiceMix的實例是一個嵌入式activemq jms代理,這樣可以很方便的在同一臺機器上使用持久消息來通信,
    但是它也支持集群和負載均衡。
       在這個實例中,我們依然像上個例子一樣,在2個目錄中移動文件,把記錄日志的部分改為發送一條jms消息到消息隊列,
    然后再創建一個新的route來接受事件并記錄日志:
    ?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">

        <camelContext xmlns="http://camel.apache.org/schema/blueprint">
          <route>
            <from uri="file:activemq/input"/>
            <to uri="file:activemq/output"/>

            <setBody>
              <simple>
                FileMovedEvent(file: ${file:name}, timestamp: ${date:now:hh:MM:ss.SSS})
              </simple>
            </setBody>
            <to uri="activemq://events" />
          </route>
        </camelContext>
    </blueprint>

       保存這個文件,并且放到serviceMix的deploy目錄,會看到復制到 activemq/input 目錄中的文件被復制到 activemq/output 

       接受消息
       在第一個文件中,除了復制文件,你看不到任何的log記錄。它發送了jms消息,但是沒有接受者,我們可以創建一個route來接受消息:

    <?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">
        <camelContext xmlns="http://camel.apache.org/schema/blueprint">
          <route>
            <from uri="activemq://events"/>
            <to uri="log:events"/>
          </route>
        </camelContext>
    </blueprint>

      你可以通過log:display來查看日志消息。你可以通過osgi:start 和 osgi:stop來啟動和關閉這個bundle.當你重啟完第一個bundle后,你收到所有文件移動后發出
    的消息事件。

        features命令

    karaf@root> features:list | grep camel
    [uninstalled] [5.4.0           ] examples-activiti-camel                 servicemix-examples-5.4.0
    [uninstalled] [5.4.0           ] examples-akka-camel                     servicemix-examples-5.4.0


    karaf@root> features:install webconsole

    karaf@root> features:list | grep webconsole
    [installed  ] [2.4.1           ] webconsole                              karaf-2
    .4.1               Karaf WebConsole for administration and monitoring

        通過features:install webconsole可以安裝  webconsole bundle,成功后你可以通過  http://localhost:8181/system/console  用戶名密碼:smx/smx來
    登錄
    ,可以通過瀏覽器來上傳、啟動,停止bundle。

    posted @ 2015-04-10 15:37 xiaolang 閱讀(5169) | 評論 (0)編輯 收藏

    本章我們通過一個簡單的實例來介紹如何使用camel。
    這個實例中,我們會把文件從目錄
    camel/input 移動到camel/output.為了方便我們跟蹤哪些文件被移動,我們會記錄日志。

    1、創建一個xml
     ServiceMix中定義一個新的 route,最簡單的方式之一就是定義一個Blueprint XML file,就像下邊一樣:

    <?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">
        <camelContext xmlns="http://camel.apache.org/schema/blueprint">
          <route>
            <from uri="file:camel/input"/>
            <log message="Moving ${file:name} to the output directory"/>
            <to uri="file:camel/output"/>
          </route>
        </camelContext>
    </blueprint>
                                               

    2.部署
       我們只需要將第一步創建的xml復制到serviceMix下的 deploy 目錄,就會被serviceMix 識別并部署。你會看到被放到目錄camel/input下的文件被
    移動到camel/output,如果你使用log:display命令,會看到文件移動的日志:

    2015-04-09 17:10:19,515 | INFO  | le://camel/input | route1
          | ?                                   ? | 116 - org.apache.camel.camel-cor
    e - 2.14.1 | Moving test.xml.bak to the output directory

    3. 使用命令行管理  route
    使用osgi:list,你會看到剛才我們部署的bundle
    [ 221] [Active     ] [Created     ] [       ] [   80] test.xml (0.0.0)
    你會看到我們剛才部署的bundle ID是221,我們可以通過這個bundle ID來啟動或者關閉bundle

    karaf@root> osgi:stop 221
    karaf@root> osgi:start 221

    posted @ 2015-04-09 17:19 xiaolang 閱讀(4482) | 評論 (0)編輯 收藏

    本章我們主要介紹下如何安裝serviceMiX,使用命令來查看osgi bundles、日志。

    1、下載
    serviceMiX5.4.0
    http://servicemix.apache.org/downloads.html
    到下載頁面選取:
    tar,gz  for Linux/Unix/MacOS X
    zip for windows

    如果僅僅是運行
    serviceMiX,你需要jre1.6.x 或者 jre1.7.x  serviceMiX5.4.0大概需要100M的空間
    如果你要開發自己的一些集成應用和osgi bundles,你還需要安裝  jdk1.6.x 或者 jdk1.7.x  apache maven3.0.4 或者更高的版本


    2.解壓,指定<SERVICEMIX_HOME>.
    解壓,在環境變量中配置 <SERVICEMIX_HOME>.例如:C:\apache-servicemix

    3.啟動serviceMiX(windows)

    C:\Users\Administrator>cd c:\apache-servicemix\bin

    c:\apache-servicemix\bin>servicemix
    Please wait while Apache ServiceMix is starting...
     27% [===================>                                                    ]


    4.啟動成功

    Please wait while Apache ServiceMix is starting...
    100% [========================================================================]
     ____                  _          __  __ _
    / ___|  ___ _ ____   _(_) ___ ___|  \/  (_)_  __
    \___ \ / _ \ '__\ \ / / |/ __/ _ \ |\/| | \ \/ /
     ___) |  __/ |   \ V /| | (_|  __/ |  | | |>  <
    |____/ \___|_|    \_/ |_|\___\___|_|  |_|_/_/\_\
      Apache ServiceMix (5.4.0)
    Hit '<tab>' for a list of available commands
    and '[cmd] --help' for help on a specific command.
    Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown ServiceMix.

    5. 
    使用命令 osgi:list  osgi:list|grep camel 查看bundles 

    karaf@root> osgi:list
    START LEVEL 100 , List Threshold: 50
       ID   State         Blueprint      Spring    Level  Name
    [  81] [Active     ] [            ] [       ] [   50] geronimo-annotation_1.0_spec (1.1.1)
    [  82] [Active     ] [            ] [       ] [   50] geronimo-jms_1.1_spec (1.1.1)
    [  83] [Active     ] [            ] [       ] [   50] geronimo-j2ee-management_1.1_spec (1.0.1)
    [  84] [Active     ] [            ] [       ] [   50] JAXB2 Basics - Runtime (0.6.4)
    [  85] [Active     ] [            ] [       ] [   50] Apache ServiceMix :: Bundles :: jaxb-impl (2.2.1.1_2)

    karaf@root> osgi:list|grep camel
    [ 116] [Active     ] [            ] [       ] [   50] camel-core (2.14.1)
    [ 117] [Active     ] [Created     ] [       ] [   50] camel-karaf-commands (2.14.1)
    [ 118] [Active     ] [            ] [       ] [   50] camel-jms (2.14.1)
    [ 124] [Active     ] [            ] [       ] [   50] camel-spring (2.14.1)
    [ 125] [Active     ] [Created     ] [       ] [   50] camel-blueprint (2.14.1)

    6.
    使用log:display查看日志,其他 log:display-exception

    karaf@root> log:display
    2015-04-09 16:09:07,433 | INFO  | 0 - timer://wumi | timerToLog  | ?                                   ? | 116 - org.apache.camel.camel-cor
    e - 2.14.1 | The message contains Hi from Camel at 2015-04-09 16:09:07

    posted @ 2015-04-09 16:25 xiaolang 閱讀(6353) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 免费国产黄线在线观看| 国产精品亚洲专区在线播放| 亚洲成无码人在线观看| 羞羞漫画在线成人漫画阅读免费| 成人免费看片又大又黄| 亚洲午夜在线播放| 毛片基地免费观看| 亚洲欧洲精品成人久久曰| 日韩一级免费视频| caoporn国产精品免费| 亚洲日韩中文无码久久| 四虎影视在线影院在线观看免费视频| 亚洲精品午夜无码专区| 久久国产精品成人片免费| 亚洲小视频在线播放| 好爽又高潮了毛片免费下载| 亚洲aⅴ无码专区在线观看春色 | 2019亚洲午夜无码天堂| 成人毛片视频免费网站观看| 国产精品亚洲专区无码牛牛| 亚洲AV成人精品日韩一区18p| caoporn成人免费公开| 亚洲AV无码乱码国产麻豆穿越| 99视频有精品视频免费观看| 亚洲欧洲日韩综合| 国产精品嫩草影院免费| 国产成人无码精品久久久免费| 亚洲国产精品福利片在线观看| 日韩在线播放全免费| 女bbbbxxxx另类亚洲| 亚洲AV无码一区二区乱子伦| 又黄又爽又成人免费视频| 特黄aa级毛片免费视频播放| 久久精品国产亚洲AV麻豆~| 日韩一区二区a片免费观看| 日本视频免费观看| 亚洲成无码人在线观看| 国产精品V亚洲精品V日韩精品| 亚洲一级免费毛片| 永久免费无码日韩视频| 亚洲精品自在线拍|