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

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

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

    【轉帖】IBM WAS WPS的腳本語言jacl探索

    作者:keyboardsun 轉載請標明出處,請尊重作者原創權利
    Site:http://www.chinacsharp.net http://blog.csdn.net/keyboardsun

    我們知道WAS,WPS的控制臺功能很強大,也同樣的很復雜,其實呢,這些控制太的操作我們都可以通過編寫jacl腳本實現,為什么要用腳本呢?呵呵,簡單的說方便管理吧,我舉個例子,大家就知道為什么要使用jacl腳本了。
    我 們在做一個電信的投訴項目,里面涉及的流程,包括子流程一共有400多個,按照IBM的建議,一個EAR流程應用最多打20個流程,如果多的話,會影響性 能的,當然我們再按照我們的業務還要分類打包,那結果如何,我們打了40多個ear,這么多ear啊,呵呵,我們光是登陸某一臺機器的web控制臺,我們 一個一個發布,這要多久?呵呵,這需要半天,整整半天,當然我們的后臺的服務器是集群的,有7臺機器需要安裝呢。撇開這個不說,當我們某個應用需要更新的 時候,我們怎么辦?一個一個的控制臺登陸,然后一個一個的更新。這多麻煩啊,對于維護人員,壓力太大。
    如果我們用jacl來解決這問題,那就簡單 多了,因為wsadmin支持遠程命令,可以通過SOAP登陸執行,也就是說,我們的ear在自己的windows里面,我們就可以通過遠程命令把程序安 裝我各個AIX系統的WPS,WAS里面,節省時間,而且容易控制,避免出錯。
     
    本文我不打算詳細介紹jacl,本文側重于應用,根據一個需求,給出解決的辦法。
     
    簡單的說,我們在WAS上安裝一個應用,jacl代碼如下:
    puts "-------------------------------------------------------------------"
    puts "—開始執行jacl代碼啦 --"
    puts "-------------------------------------------------------------------"
     
    #這是我們要發布的應用的存放路徑
    set EARDIR /home/XXX.ear
    #這是我們要發布的應用的名稱
    set APPNAME APPNAME
     
    set NODE [$AdminControl getNode]
    #簡單的理解,取得當前的上下文
    set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=$NODE,process=server1,*]
     
    puts ""
    puts "Stop Application $APPNAME"
    puts ""
    #停止應用
    $AdminControl invoke $APPMANAGER stopApplication $APPNAME
     
    puts ""
    puts "Uninstall Application $APPNAME"
    puts ""
    #卸載應用
    $AdminApp uninstall $APPNAME
     
    puts ""
    puts "Saving configuration"
    puts ""
    #保存修改
    $AdminConfig save
     
     
    puts "-----------------------------------------------------------------"
    puts "--              Install EAR                                    --"
    puts "-----------------------------------------------------------------"
     
    puts ""
    puts "Install Application $APPNAME"
    puts ""
    #安裝應用
    $AdminApp install $EARDIR {-appname $APPNAME}
     
    puts ""
    puts "Saving configuration"
    puts ""
    #保存修改
    $AdminConfig save
     
    puts ""
    puts "Start Application $APPNAME"
    puts ""
    #啟動應用
    $AdminControl invoke $APPMANAGER startApplication $APPNAME
     
    以上的例子我們做的是更新一個應用,麻雀不大,東西不少。包括了停止,卸載,安裝,啟動應用。
     
    有人會問,這個簡單,下面我來說不簡單的。在集群環境下該如何辦呢?需求如下。
    現在我有一個cluster,名稱叫CLUSTER包括兩個節點NODE1,NODE2,每個節點對應兩個SERVER,分別為server1,server2我要把應用安裝在這樣的cluster上面改怎么辦呢?
     
    呵呵,其實很簡單,安裝的口令是這樣的
    $AdminApp install $EARDIR {-cluster CLUSTER}
    這樣就可以了,安裝過后保存下就可以了,這里我們在后面加上一個參數 {-cluster CLUSTER} 這樣就會把這個安裝的應用更新到整個cluster了
    $AdminConfig save
     
    但是這里有個問題,什么問題呢,我安裝的時候可以一下子安裝到cluster,那么我停止呢?卸載呢?啟動呢?這里很遺憾,這里沒有這個功能。那我們該怎么辦呢?我們只能到每個server下面來停止了。比如我要停止一個叫TESTAPP的應用,代碼如下。
     
    set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=NODE1,process=server1,*]
    $AdminControl invoke $APPMANAGER stopApplication TESTAPP
    set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=NODE1,process=server2,*]
    $AdminControl invoke $APPMANAGER stopApplication TESTAPP
     
    set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=NODE2,process=server1,*]
    $AdminControl invoke $APPMANAGER stopApplication TESTAPP
     
    set APPMANAGER [$AdminControl queryNames type=ApplicationManager,node=NODE2,process=server2,*]
    $AdminControl invoke $APPMANAGER stopApplication TESTAPP
     
    這樣要到各自的server下面停止就可以了,這樣這個應用就被停止了,卸載,啟動同樣。
     
    下面還有一種情況,比如有好多臺服務器,不是集群,但是應用都一樣,我們如何在自己的電腦上面來解決這個問題呢?
     
    比如有下面3臺機器
    IP             HOSTNAME
    10.10.10.1      TEST1
    10.10.10.2      TEST2
    10.10.10.3      TEST3
     
    應用在e:/test.ear
    我要把應用安裝到這三臺機器上。呵呵,其實很簡單。
    我們做一個bat文件,內容如下
    F:
    Cd F:"IBM"WebSphere"ID"602"runtimes"bi_v6"bin
    wsadmin -conntype SOAP -host TEST1 -port 8879 -f test.jacl
    wsadmin -conntype SOAP -host TEST2 -port 8879 -f test.jacl
    wsadmin -conntype SOAP -host TEST2 -port 8879 -f test.jacl
     
    test.jacl的代碼為:
    $AdminApp install e:/test.ear
    $AdminConfig save
     
    這樣這個bat文件跑一下,三臺機器的應用就全部都安裝上了,當然啟動,停止如上。同樣的簡單。呵呵,如果每個服務器是集群的,那么加上{-cluster clustername}參數就可以了。

    posted on 2010-11-23 16:54 koradji 閱讀(698) 評論(0)  編輯  收藏 所屬分類: was


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    db2

    dos

    Groovy

    Hibernate

    java

    WAS

    web application

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费中文字幕在线观看| 成人黄软件网18免费下载成人黄18免费视频| 免费观看午夜在线欧差毛片| 亚洲日本VA午夜在线电影| 成年女人喷潮毛片免费播放| 亚洲综合色区中文字幕| 国语成本人片免费av无码| 亚洲欧美成aⅴ人在线观看| 天天干在线免费视频| 老司机午夜在线视频免费观| www亚洲一级视频com| 国产区在线免费观看| 亚洲精品国产美女久久久| 日韩精品人妻系列无码专区免费 | 亚洲AV无码一区二区三区在线观看| 亚洲AV无码国产一区二区三区| 免费人成年激情视频在线观看| 亚洲五月午夜免费在线视频| 亚洲成AV人片在线观看无码 | 美女免费视频一区二区| 亚洲人成无码网WWW| 中文字幕无码日韩专区免费| 亚洲视频精品在线观看| 午夜免费福利影院| 九九视频高清视频免费观看| 亚洲Av无码精品色午夜 | xvideos永久免费入口| 亚洲AV无码AV男人的天堂| 黄瓜视频影院在线观看免费| 欧美日韩亚洲精品| 亚洲av鲁丝一区二区三区| 成年女人看片免费视频播放器| 免费手机在线看片| 亚洲毛片在线观看| 日本一道本高清免费| 久久精品视频免费看| 亚洲GV天堂GV无码男同| 亚洲精品无码MV在线观看| 成人黄动漫画免费网站视频 | 51在线视频免费观看视频| 亚洲精品一卡2卡3卡四卡乱码|