<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

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产一级黄片儿免费看| 456亚洲人成影院在线观| 久久精品国产精品亚洲精品 | 中文字幕视频在线免费观看| 免费少妇a级毛片人成网| 亚洲暴爽av人人爽日日碰| 在线jlzzjlzz免费播放| 亚洲精品国产精品| 国产精品成人免费综合| 亚洲av无码一区二区三区人妖| 国产片免费在线观看| 免费很黄无遮挡的视频毛片| 亚洲高清无码在线观看| 一级做a爱过程免费视频高清| 在线观看国产区亚洲一区成人 | 亚洲AV成人一区二区三区观看| 国产精品黄页在线播放免费| 美女被免费网站视频在线| 亚洲成a人片在线观看久| 久久精品无码免费不卡| 亚洲AV成人片色在线观看高潮 | 日本不卡免费新一二三区| 国产区图片区小说区亚洲区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 8888四色奇米在线观看免费看| 亚洲欧洲校园自拍都市| 全免费a级毛片免费看无码| 色视频在线观看免费| 国产亚洲一区二区手机在线观看| 8888四色奇米在线观看免费看| 亚洲七久久之综合七久久| 亚洲人成电影在线播放| 亚洲a一级免费视频| 亚洲国产精品无码观看久久| 久久久久亚洲AV成人网人人网站 | 最近中文字幕完整版免费高清| 亚洲H在线播放在线观看H| 一本色道久久88综合亚洲精品高清| 免费精品久久天干天干| 中文日韩亚洲欧美制服| 亚洲日韩欧洲无码av夜夜摸|