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

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

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

    Jeffrey's Sky

    Go with wind
    隨筆 - 14, 文章 - 1, 評論 - 15, 引用 - 0
    數據加載中……

    2008年11月4日

    安裝配置 IBM FileNet 所遇問題記錄系列 之六 使用好 VWTool工具以及 log。

    在 使用 PE WorkFlow 的過程中, 總會遇到流程中的一些異常情況。 如果,某些節點執行出現異常,Hang住等等。 因此,此時使用一些 PE下的工具尤為重要。

    (1) vwtool 
     
          a. 啟動
              vwtool -r <region number> -Y <admin user>+<pwd>

          b. 常用命令
              count *     : 列出所有系統 queue
              wobquery <Queue name>   : 在這里,可以列出隊列里的內容,以及某個wobnum下的參數值等等,以便debug.

     (2) elog

          elog 記錄了PE在啟動運行過程中的事件, 包括 PE的system default locale. 
          elog 所在的位置在 \fnsw\local\logs\elogs folder (the same folder where you installed the Process Service software).
     

    posted @ 2011-10-21 00:46 Jeffrey Feng 閱讀(345) | 評論 (0)編輯 收藏

    在IBM P Server (LPAR)上重裝AIX操作系統記錄

    前幾天,有機會自己實戰了將刻好的AIX6.1系統(里面還有一些FileNet相關軟件)盤恢復到一個IBM P570 Server 上。 其中,使用了HMC,設置引導程序。
    現將過程記錄如下:

    posted @ 2011-10-21 00:46 Jeffrey Feng 閱讀(445) | 評論 (0)編輯 收藏

    在 WebSphere中 配置 Oracle Datasource 問題記錄

         摘要: 在 WebSphere中 配置 Oracle Datasource 問題記錄  閱讀全文

    posted @ 2010-09-07 11:53 Jeffrey Feng 閱讀(756) | 評論 (0)編輯 收藏

    XA Datasource 與 Non-XA Datasource 區別

         摘要:   閱讀全文

    posted @ 2010-08-27 13:39 Jeffrey Feng 閱讀(4580) | 評論 (2)編輯 收藏

    安裝配置 IBM FileNet 所遇問題記錄系列 之五 打好客戶端的Patch

    CE 和 PE都有自己的客戶端安裝包。 這些安裝包有助于CE,PE, AE間在相互通訊時不會因為某些小版本的改動而使得相互不匹配。

    因此,注意,一定要, CE,PE間相互的Client端相互打好Patch.
    還要將CE,PE的Client 端都給AE打一遍。


    posted @ 2010-08-11 11:00 Jeffrey Feng 閱讀(340) | 評論 (0)編輯 收藏

    安裝配置 IBM FileNet 所遇問題記錄系列 之四 檢查AE,PE, CE 狀態是否正常


    在Install & Config 完 IBM FileNet之后,一個重要的事情就是check所安裝的AE,PE,CE是否安裝正確、能夠正常啟動。 這里,簡要列出一些check方法。

    1. 啟動 CE DB .
        與CE有關的一般有兩個 DB。 一個 是 FNGCDDB用于記錄 CE Domain的一些配置信息。 主要有以FNGCD為 prefix 的四個表(FNGCD, FNGCD_ADDON, FNGCD_CESERVERS, FNGCD_OSCBROWNERS)。 當你有需要想重新建立CE Domain的時候,最好將這四個表刪掉,然后重新建。
         再一個DB就是 Object Store所在的DB,比如FNOS1DB. 在這個DB中,在建完Domain之后共有179張表。
     
          值得注意的是,CE App Server是通過 DataSource來連接CE的DB的。所以,如果,有任何CE DB的改變,也同時需要更改DataSource。 顯而易見,因為有兩個 CE DB,所以也有兩套CE DataSource, 一個是用于連接 FNGCDDB(還有個以XA結尾的,這個在運行時經常被用到),一個是用于連接FNOSDB,即Object Store DB。CE 就是靠這兩個Source來取得CE 信息的。

          Check CE 狀態的方法:
          http://localhost:9080/FileNet/Engine.

    2.  啟動 AE。
    由于 AE是一個 WebApp 程序,所以只需要啟動 AE所在的 Server即可。
         
          Check AE 狀態的方法:
         http://localhost:9080/Workplace

    3. 啟動 PE
    PE 核心是一個 C++程序。在運行時, AE會嘗試連接 PE,CE,而PE和CE之間也有連接關系。

    Windows based 的PE server需要注意有兩個系統 Service(通過 Service.msc)是需要起來的。 一個 叫 PE Service Manager,一個是Img ControlService;需要檢查;

    再有一個 重要的命令是 initfnsw,可以通過這個命令來起停 PE server。

    ① initfnsw start     //-啟動PE
    ② initfnsw stop      //-停止PE
         killfnsw -y          //-停止PE
    ③ initfnsw status    //-查看PE狀態
    ④ initfnsw restart   //-重啟PE

    另外, 檢查 PE的狀態,可以用這個URL 來 check,

    http://localhost:32776/IOR/ping.

    另外,有關 PE 和 CE間連接性的檢查方法:

    在 PE所在 Server上,用如下URL check,

    http://localhost:32776/IOR/FileNet.CE.PEDirectoryServer

    A "good" sample response from the PEDirectoryServer looks something like this:
    IOR:000000000000002049444c3a46696c654e65745f63656d707270632f63656d707270633a312e300000000001000000000000007e000102000000000c31302e31352e372e31303800071d000000000031afabcb000000002084240cba00000001000000000000000100000008526f6f74504f41000000000800000001000000001400000000000002000000010000001800000000050100010000000000010109000000010001010000000026000000020002
     
    此外,quick test are (on PE  server):

    If you’re having trouble with the PE to CE communications, there may be something wrong with the java environment. Try the following tests in a command prompt window on the PE Server (Substituting appropriate host names, ports, user names, group names, and passwords as appropriate for your configuration):

    On your PE Server:

    cd \fnsw\bin

    Try a basic "little pipe" ping:
    \fnsw\java\jre\bin\java -classpath pe.jar;pe3pt.jar filenet.pe.ceorb.test.PEDirectoryClientTest /port=32776 /rpc=ping

    Set the little pipe’s CE connection configuration:
    \fnsw\java\jre\bin\java -classpath pe.jar;pe3pt.jar filenet.pe.ceorb.test.PEDirectoryClientTest /port=32776 /rpc=setConfig /uri=http://hqbpm34:7001/wsi/FNCEWS40DIME/ /user=PEAdmin /password=secret

    Get a list of all realm names:
    \fnsw\java\jre\bin\java -classpath pe.jar;pe3pt.jar filenet.pe.ceorb.test.PEDirectoryClientTest /port=32776 /rpc=getRealmNames

    Get info about a user named PEAdmin:
    \fnsw\java\jre\bin\java -classpath pe.jar;pe3pt.jar filenet.pe.ceorb.test.PEDirectoryClientTest /port=32776 /rpc=getUserInfo /user=PEAdmin

    Get info about a user named PEAdmin in a specific realm:
    \fnsw\java\jre\bin\java -classpath pe.jar;pe3pt.jar filenet.pe.ceorb.test.PEDirectoryClientTest /port=32776 /rpc=getUserInfo /user=PEAdmin /realm= dc=epbdc,dc=eng,dc=filenet,dc=com

    Get info about a group named PEAdministrators:
    \fnsw\java\jre\bin\java -classpath pe.jar;pe3pt.jar filenet.pe.ceorb.test.PEDirectoryClientTest /port=32776 /rpc=getUserInfo /user=PEAdministrators

    Get “group expansion info” for a group named PEAdministrators:
    \fnsw\java\jre\bin\java -classpath pe.jar;pe3pt.jar filenet.pe.ceorb.test.PEDirectoryClientTest /port=32776 /rpc=expandGroup /group=PEAdministrators

    The above runs should produce output of some sort that might shed light on a CE configuration or connection problem…

    取得 PE run 的 LOG:
    Get some detailed information about the PE to CE communications

    If the PE still can not get connected to the CE, we need to enable some of the java tracing to see what’s happening when the PEDirectoryServer communicates with the CE.

    For PE 4.0.2 and newer, including PE 4.5

    To enable the tracing, we need an fnlog4j.properties file in the \fnsw\java\jre\lib directory on the PE Server. The fnlog4j.properties file needs to include a line something like this:

    log4j.logger.filenet.pe.ceorb.server=DEBUG, TXT

    The easiest way to do this is to copy the \fnsw_loc\sd\fnlog4j.properties.sample file as \fnsw\jre\lib\fnlog4j.properties (without the “.sample”). Then, using a simple text editor (e.g., notepad), add the “, TXT” to the above line of text in the fnlog4j.properties file.

    The PEDirectoryServer will see the fnlog4j.properties file and that will trigger additional tracing and logging to occur. After putting the fnlog4j.properties file in the \fnsw\java\jre\lib directory, click the Apply button in the Process Task Manager’s Security tab again.

    After it fails, check the java trace file. The location of the java trace file is defined in the fnlog4j.properties file itself. By default, it's c:\PE.txt.

    3. 檢查 connection to PE from AE.

    在登錄到 AE 之后,可以點擊 AE Site Preference中 Task Pages頁面,看是否能打開。以及PCC, Process Designer是否都能夠打開以及 Transfer Workflow.



    posted @ 2010-08-08 13:20 Jeffrey Feng 閱讀(1120) | 評論 (0)編輯 收藏

    安裝配置(Install configure IBM FileNet) 所遇問題記錄系列 之三 配置 (Configure) Application Engine (AE)

         摘要: 配置 (Configure) Application Engine (AE)  閱讀全文

    posted @ 2010-08-02 23:03 Jeffrey Feng 閱讀(522) | 評論 (0)編輯 收藏

    開源軟件問題記錄系列 之一 在 Tomcat 中設置 Datasource

         摘要: 開源軟件問題記錄系列 之一 在 Tomcat 中設置 Datasource  閱讀全文

    posted @ 2010-08-02 10:51 Jeffrey Feng 閱讀(228) | 評論 (0)編輯 收藏

    安裝配置 IBM FileNet 所遇問題記錄系列 之二 一定要 Enable Application security 在配置完 Content Engine (CE) 之后


    由于使用了 TDS 作為 FileNet 的 LDAP 系統,所以一定要在 WAS中將Admin Security enable。 這時,需要注意的是如果沒有在 WAS 的 Global security 中將 Application Security Enable,那么在配置 Content Engine (CE) Domain 的時候,就會出現 Annoymous user cannot access to CE 的錯誤。 所以,一定要同時 Enable Application Security.



    posted @ 2010-07-30 13:47 Jeffrey Feng 閱讀(297) | 評論 (0)編輯 收藏

    安裝配置 IBM Filenet 所遇問題記錄系列 之一 在IBM Tivoli Directory Server 配置完之后

         摘要: 安裝配置 IBM Filenet 所遇問題記錄系列  閱讀全文

    posted @ 2010-07-30 13:33 Jeffrey Feng 閱讀(465) | 評論 (0)編輯 收藏

    有關在eclipse上遠程debug的問題。

       Java 提供了遠程debug的功能,這確實是一件很好的事。它能夠幫助我們在一些沒有虛機的OS(比如HP,AIX,等等)下調試我們的程序。

       1.建立Remote debug的準備工作。
        a.可以將這些在java命令行中的設置放到一個script中去。例子如下所示:
     
        java -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y  -classpath
        其中,“-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y”是必須的。suspend=y---表明是在程序啟動后hang在那個端口處并監聽(如果設為n,則不會hang);address=8787---表明是在遠端機器上的端口號。除此之外,在java后也可以添加java的系統環境變量,如-D等等。   
        b.在eclipse中可以通過設立一個remote debug的方式來建立這種連接。  
       2.遠程調試時,局部變量的值無法Watch/Inspect問題的解決
        這實際上是由eclipse在build的時候,沒有將javac后的option -g加上去。只有當加上 -g這個參數時,所有的調試信息才會被build到class文件中去。
        但ecipse沒有提供這樣在build時設置參數的user interface。所以,最好的方式就是寫一個Ant腳本。
        例子如下,

         <?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <project basedir="." default="build" name="ssdv">
        <property name="build.location" value="../ssdv_build"/>
        <property name="debuglevel" value="source,lines,vars"/><!--必須的-->
        <property name="target" value="1.5"/>
        <property name="source" value="1.5"/>
        
        <target name="init">
            <mkdir dir="bin"/>
        </target>
        
        
        <target name="clean">
            <delete dir="bin"/>
        </target>
       
        <target depends="init" name="build-project">
            <echo message="${ant.project.name}: ${ant.file}"/>

            <javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">  <!--必須的-->
                <src path="."/>
                <classpath refid="ssdv.classpath"/>
            </javac>

        </target>
        
    </project>
       
         這樣,將生成的build工程拷貝到要測試的遠程OS。啟動腳本,然后就可以看到local variables了。

    posted @ 2008-12-12 17:34 Jeffrey Feng 閱讀(820) | 評論 (0)編輯 收藏

    Drools 規則引擎的使用總結

        前一段時間在開發了一個做文本分析的項目。在項目技術選型的過程中,嘗試使用了Drools規則引擎。讓它來作為項目中有關模式分析和關鍵詞匹配的任務。但后來,因為某種原因,還是撇開了Drools?,F將這個過程中使用Drools的一些經驗和心得記錄下來。
    (一)什么時候應該使用規則引擎
        這實際是一個技術選型的問題。但這個問題又似乎是一個很關鍵的問題(一旦返工的話,你就知道這個問題是多么重要了)。不知大家有沒有過這樣的經驗和體會。往往在項目開始的時候,總會遇到應該選用什么技術?是不是應該使用最新的技術?或者應該選用什么技術呢(PS:現在計算機軟件中的各種技術層出不窮,具有類似功能的技術很多)?
        不管怎么樣,這些問題總會困擾著我。比如,這次的這個項目。項目要求是要在一些log文件中(這些log文件都是很大的應用系統所產生的,但由于legacy的原因,log本身的維護和規范工作一直沒有得到改善,所以想借助于一些外部應用對這些log做以分析和清洗)抽取出有用的信息。
        于是,第一個想到的就是,這是一個文本挖掘類的項目。但又想,要抽取有用信息,必須得建立一些規則或pattern(模式)。所以,我第一個想到了規則引擎。因為這里面要建立好多規則,而這些規則可以獨立于代碼級別(放到一個單獨的drl文件里)并可以用規則引擎去解析和執行。另一個重要的原因是,我原來用過,比較熟悉。這樣,也可以節省開發時間吧。于是,好不猶豫的就開始做了Demo....
        但事實上,在經歷了一個多星期的編碼、測試后,我發現運用規則引擎實在是太笨拙了。
        (1)首先必須建立一些數據模型。通過這些模型來refer規則文件中的LHS和Action。
        (2)還要考慮規則的conflict。如果有一些規則同時被觸發,就要考慮設定規則的優先級或者是設定activiation-group來保證在一個group中的規則只有一個規則可以被觸發。
        (3)對于‘流’規則group ruleflow-group的使用。如果要控制在workingmemory中的規則被觸發的順序,則可以將這些規則分組。然后,通過規則建模的方式來實現。但這也添加了一定的effort。修改或者更新不大方便。
        所以,基于上述體會,我更認為規則引擎更適用于那些對非流程性規則匹配的應用。當然,Drools也支持對流程性規則的建模過程。但,這也許不是最好的方式。
    (二)Drools規則引擎的使用雜記
        (1)Fact 的變更監聽。在Drools里,如果一個Fact通過規則而改變,則需將這種改變通知給規則引擎。這里,一般有兩種方式:顯式和隱式。
             顯式---在drl文件中通過 update、modify來通知;在程序中,通過Fact的引用調用modifyObject等方法來實現。
             隱式---通過在java bean實現property Listener Interface來讓引擎自動監聽到屬性值的變化。我更習慣于這種方式。因為,一般看來凡是在規則引擎中添加到fact都是希望引擎來幫你進行管理的。所以,那它自己看到fact的變化是種很省事的辦法。也很簡單,就是用java bean property 監聽的方式。
             通過StatefulSession來注冊。
             調用StatefulSession的某個instance 的insert(Object,true)實現。而這個object是一個java bean。其中,要實現
          
            
    private final PropertyChangeSupport changes  = new PropertyChangeSupport( this );
        public void addPropertyChangeListener(final PropertyChangeListener l) {
            this.changes.addPropertyChangeListener( l );
        }

        public void removePropertyChangeListener(final PropertyChangeListener l) {
            this.changes.removePropertyChangeListener( l );
        }
      
            然后在set方法中調用
        this.changes.firePropertyChange( "temp",null,this.temp );
         (2)規則觸發的優先級、組設置
        往往,在設計我們自己的規則時,要考慮規則的觸發條件。這不僅限于LHS的條件部分,還有規則本身被觸發的有些設置等等。這里,列出一些比較常用和有效的規則優先級設置方式,以及需要注意的地方。
             A.通過Salience方式。此值可正可負。越大優先級越高,也會被引擎首先執行。
             B.通過ruleflow-group 方式。實際上,使用這種方式也就是在使用建立規則流的方式。在Eclipse 3.3 中,Drools提供了建立規則流的插件。要在drl的同級目錄中建立rf和rfm兩個文件(當然,插件會幫助你建立這些)。
            
    選擇RuleFlow File。
          這里,需要注意的一點是要在啟動規則引擎的時候,加入啟動rule flow的代碼。

         InputStreamReader source = new InputStreamReader(RuleManager.class
                        .getResourceAsStream(rule_path));
               PackageBuilder builder = new PackageBuilder();
                builder.addPackageFromDrl(source);
                builder.addRuleFlow(new InputStreamReader(RuleManager.class
                        .getResourceAsStream(rule_flow_path)));
               Package pkg = builder.getPackage();
                RuleBase ruleBase = RuleBaseFactory.newRuleBase();
                ruleBase.addPackage(pkg);
          然后,在每次啟動規則引擎的時候,調用如下方法:

                StatefulSession ss;
                ss.startProcess(flowProgress);
                ss.fireAllRules();

                flowProgress 是一個string類型。這個flow的名字。

    這個rule flow圖中,顯示了一個簡單的規則流。如RSA就是一個rule-flow的名字。在這個rule set中可以設定一組rules。這樣,就可以分開規則執行的順序。在于rf和rfm同名的另一個 drl文件中定義這些組的名字。通過關鍵字 ruleflow-group 來表明。
        C.通過activation-group的方式。通過這種方式,可以exclude一組rule中一旦有一個rule被invoke,而其它rule不會被execute。同時,可以搭配使用salience關鍵字來標明每個rule的優先級,這樣就能夠使得你想要的一般性概念的rule先被匹配執行。
        D.在使用ruleflow-group 的時候要注意使用lock-on-active true 關鍵字在每個rule。這樣可以避免一旦有rule被觸發,不會造成循環匹配執行。
        E.如果在LHS部分,需要調用某個方法來返回真、假值作為判斷的一個條件,那么可以用eval函數。
        如,eval(pattern.matched(5,$line.getCurrLine()))
        其中,pattern是某個加入到workingmemory中的一個實例。matched是這個實例所代表類的一個方法。它返回boolean類型。
       
      (3)Drools規則引擎的使用感受
       
    總之,Drools還是一個很不錯的開源規則引擎?,F在v4.0以上的版本已經比以前的版本在速度上有了很大的提升。可以作為我們一般應用程序系統的中間件產品(那些規則不是很經常改變的系統,已經非流程類規則)。但是,這其中還是需要一些額外的effort來學習它的使用文檔以及整體架構,有一定的學習曲線。
      
        最后,我想一個較好的對于技術使用的practice就是:首先知道它能為你做什么,它最好的應用領域,然后再去深入。
       
        (PS:如果誰有使用Drools的問題,可以聯系我!一起討論!)

         
        

    posted @ 2008-11-04 14:19 Jeffrey Feng 閱讀(13652) | 評論 (13)編輯 收藏

    主站蜘蛛池模板: 国产成人无码免费视频97 | 91精品成人免费国产片| 亚洲妓女综合网99| 高清国语自产拍免费视频国产 | 一级女性全黄久久生活片免费| 国产亚洲日韩一区二区三区| 91高清免费国产自产| 美女黄频免费网站| 亚洲免费视频网站| 国产免费人视频在线观看免费| 老司机69精品成免费视频| 亚洲精品第一综合99久久| 国产亚洲大尺度无码无码专线 | 精品亚洲综合久久中文字幕| 91免费精品国自产拍在线不卡| 日韩在线视频线视频免费网站| 亚洲综合区图片小说区| 亚洲高清免费视频| 69成人免费视频| 两个人www免费高清视频| 亚洲日本乱码卡2卡3卡新区| 亚洲伊人久久大香线蕉综合图片| 成年女人午夜毛片免费看| 久久久久久噜噜精品免费直播| 亚洲国产成人精品激情| 久久精品亚洲视频| 亚洲成a人片在线观看久| 免费无码又爽又刺激聊天APP| 色www永久免费网站| 国产成人精品亚洲一区| 亚洲国产精品xo在线观看| 国产亚洲综合色就色| 国产一区视频在线免费观看| 18禁网站免费无遮挡无码中文| 国色精品va在线观看免费视频| 国产精品亚洲精品久久精品| 亚洲啪啪免费视频| 久久久亚洲欧洲日产国码是AV| 亚洲人色婷婷成人网站在线观看 | 亚洲一区精品伊人久久伊人| 在线观看亚洲免费|