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

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

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

    隨筆-77  評論-5  文章-2  trackbacks-0
     

    目前使用oracle adf 框架 10.1.3 版本

    1 adf 的源代碼 (交付給apache 的)


    http://people.apache.org/~bdudney/apache-drop.zip

    是從http://www.orablogs.com/jjacobi/ 上面看到了

     

    2. 其實我把 adf-faces-api  adf-faces-impl.jar 用jad 解碼出來了,反正許多編譯不過,里面的代碼版本和apache的版本還不是一致的

     

    3. apache 的myface 正在改adf-faces 的代碼,可以去他們的svn上取,取出來的結構和原來oracle的區別很大。

    懷疑下一個版本的jdeveloper ,如果基于myface的adf 作表示層的話,兼容性很難保證。

     

    4。 adf 空間里面的類層次比較復雜,oracle原來是使用uix機制,為了遵守jsf規范使用jsf繪制的時候,很多處理還是有uix概念。我懷疑如果重新設計的話,adf 完全可以簡單得多。不過目前oracle adf 控件同時支持pda,desktop,

    是了不起的,雖然沒有嘗試過他的pda版本

     

    5 adf-facs-impl.jar!META-INF/faces-config.xml 定義了UIComponent 和Render的對應關系。

    因此如果要修改adf控件的繪制器時,可以干掉jar包下的faces-config.xml,在自己的代碼路徑建立 /META-INF/faces-config.xml  ,修改這個文件來修改控件對應的繪制器

     

    唉,混了這么多年,還在表示層打滾,應該看看工作流了。

     

     

     

     

     


    文章來源:http://stocknewbie.bokee.com/viewdiary.12098419.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(642) | 評論 (0)編輯 收藏

    上周折騰了幾天,oracle workflow 2.6.3沒有裝好,這周和zg交流了一下,發現我沒有看installation guide ,他的中間層裝對了,我的數據庫裝對了,今天終于整合出來了,雖然他是linux,我是winxp

     

    經驗如下:

    workflowserver 2.6.3 依賴 oracle db,oracle db companion cd.oracle httpserver standalone 9.04,

     

    1.裝10g dbserver ,oracle 10g db server 字符集選用中文的UTF-8編碼方式,不能用zhs16gbk,因為
    工作流配置程序WorkflowCA.jar中寫死了zhs對應的字符集是utf8,要出現中文,就得用utf8


    2.安裝dbserver 的伴侶盤oracle 10 g companion cd ,安裝第一項.裝了這個才有一些什么owa_util之類的東西,大概是oracle web agent吧

     

    3.裝完dbserver之后就可以裝workflowserver 的服務器部分,裝到10g服務器下

     

    4.裝完之后,數據庫菜單下面有個 workflow configuration assistant,按照安裝指南設置一下參數。


    5. oracle application server 里面的 httpserver ,需要放到不在數據庫的那個oracle_home,我裝在d:\oracleApache. 這個httpserver ,將一些請求,轉成對數據庫的pl/sql procedure的請求,由plsql代碼生成網頁

     

    (其實伴侶盤里面也是有oracle http server ,我剛開始沒有配置好,也許也是可以的,后來就選zg裝成功的as中的httpserver)

     

    6.安裝workflowserver 的middletier 到 httpserver所在的oraclehome

     

    需要修改dads.conf

    <Location /pls/wf>
      SetHandler pls_handler
      Order deny,allow
      Allow from all
      AllowOverride None
      PlsqlDatabaseConnectString 10.16.33.178:1521:ORCL
      PlsqlAuthenticationMode Basic
      PlsqlDefaultPage wfa_html.home

      PlsqlNLSLanguage      "SIMPLIFIED CHINESE_CHINA.UTF8"
    </Location>

     

    7. windows xp 下啟動httpserver時,

    a.網上鄰居-》本地連接-》屬性-》高級—》Wins標簽-》去掉啟用LMhosts查詢
    前的勾就可以了.

    b 控制面板-》windows防火墻-》高級標簽-》網絡連接設置-》設置-》勾選安
    全Web服務器(HTTPS)"選項,按兩次"確定"即可

    c。關閉一些vpn之類的軟件,一些網絡程序,如skype 時才能正常啟動httpserver

    啟動httpserver失敗時,請查看
    D:\oraApache\Apache\Apache\logs\error_log

    和D:\oraApache\opmn\logs\HttpServer~1


    如果D:\oraApache\Apache\Apache\logs\error_log顯示
    [Tue Jul 18 16:27:33 2006] [crit] (10022)提供了一個無效的參數。:
    setup_inherited_listeners: WSASocket failed to open the inherited socket.

    表示端口被占用,檢查是否啟動了其他特別的vpn軟件,或者軟件占用了apache server的端口,使用有其他網絡程序干擾.
    netstat -a 和netstat -ab

    8.訪問頁面 http://localhost:7777/pls/wf/wfa_html.home

     

    9.后記: 其實這個版本有bug,在有個腳本里面有 select to_number('10g') from ....

    會提示錯誤,windows下面,這個錯誤似乎不影響,可以一直裝下去,linux下面似乎要改掉。


    文章來源:http://stocknewbie.bokee.com/viewdiary.12103536.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(1039) | 評論 (0)編輯 收藏

    今天看cctv-12的道德觀察,里面講一些百姓英雄。在桂林發生一起搶包事件,一個女孩背著包在街上走,此時一個小偷從后面沖過來,小偷搶了包就走,女孩在后面追,大叫抓小偷,追了一陣,女孩體力不支,越追越遠。此時前面有兩個女孩,正在散步,小偷從她們前面沖過去了,這是其中一個叫鄧樹花,聽到抓小偷,于是追了出去,小偷本來以為甩掉了失主,打開包的拉鏈一看,就一個老式的三星舊手機,不值什么錢,這個時候后面有又人追來,趕緊跑,后面的mm緊追不舍,他就把包扔了,心想不會追吧,結果女孩仍然在追,(女孩事后說,我當時好像看見他丟了點什么,但不知道是包),女孩追上去,抓住了小偷的衣領。小偷掏出刀:放了我吧,再不放,我就捅死你,女孩當時一直不肯放手(畫外音說不管小偷怎樣求饒,鄧樹花就不肯放) 鄧樹花后來說:我當時看到刀,嚇懵了,都忘記自己還抓著他的衣領。小偷往她手上割了一刀,她當時感覺麻麻的,沒有放手,又割了兩刀,沒有用,一刀捅在手臂。鄧樹花沒有力氣了,就拉不住小偷,摔到在地上,小偷逃走了,這是鄧樹花大叫抓小偷,幾個在附近的酒吧門口的人發現了,兩個送鄧樹花去了醫院,三個追小偷去了(他們說女人都抓小偷,我們怎么能不追呢),追了一陣,前面也有人攔住小偷,小偷拿刀示威,同時求饒,要他們放了他,此時圍住他的人說:你如果就是偷東西還罷了,還拿刀傷人,一定不能放,最后搏斗,抓住小偷,一人負傷。

    我和lp看了覺得好玩,這位女英雄很真實,很有趣。

     


    文章來源:http://stocknewbie.bokee.com/viewdiary.13204052.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(107) | 評論 (0)編輯 收藏
         摘要:    DHTML,Table標簽,固定行頭,固定列頭列   <html> <head> <!--固定行列頭,曲濱200608--> <style type="text/css"> <!-- body,table, td, a { font:9pt; }   /...  閱讀全文
    posted @ 2009-05-01 10:52 huohuo 閱讀(411) | 評論 (0)編輯 收藏

    最近剛結婚,我媽來了,丈母娘來了,這幾天,發現自己很傻。以前以為我媽是很直爽的人,最近也發現媽媽也是有點精明的。岳母更是非常了得的人。 老婆一直以為岳父已經比較糊涂,頭腦不清楚,岳母也不是那么精明了。這次來了,才知道,岳父其實也很精的。我們年輕一代,其實不如他們,具體事情就不說了。(老婆說,我這口氣,好像是以前認為比他們精明,其實老婆以為岳父母糊涂,就是自己以為自己清楚)。

    具體事情就不說了,記錄以下以前看到的一個段子

     

    My Father

    When I was:
    Four years old: My daddy can do anything.
    Five years old: My daddy knows a whole lot.
    Six years old: My dad is smarter than your dad.
    Eight years old: My dad doesn't know exactly everything.
    Ten years old: In the olden days, when my dad grew up, things were sure different.
    Twelve years old: Oh, well, naturally, Dad doesn't know anything about that. He is too old to remember his childhood.
    Fourteen years old: Don't pay any attention to my dad. He is so old-fashioned.
    Twenty-one years old: Him? My Lord, he's hopelessly out of date.
    Twenty-five years old: Dad knows about it, but then he should, because he has been around so long.
    Thirty years old: Maybe we should ask Dad what he thinks. After all, he's had a lot of experience.
    Thirty-five years old: I'm not doing a single thing until I talk to Dad.
    Forty years old: I wonder how Dad would have handled it. He was so wise.
    Fifty years old: I'd give anything if Dad were here now so I could talk this over with him. Too bad I didn't appreciate how smart he was. I could have learned a lot from him.

    Writer Unknown

    中文翻譯:

    我的爸爸

    當我四歲的時候:爸爸可以做任何事。
    當我五歲的時候:爸爸知道的很多。
    當我六歲的時候:我爸爸比你爸爸聰明。
    當我八歲的時候:爸爸并不是知道每一件事。
    當我十歲的時候:在爸爸成長的舊日里,事情和現在完全不同。
    當我十二歲的時候:哦,很顯然,爸爸對于那件事什么也不知道。他太老了,回憶不起自己的童年了。
    當我十四歲的時候:別管我爸爸。他太守舊了。
    當我二十一歲的時候:他?上帝,他是無可救藥地過時了。
    當我二十五歲的時候:爸爸對此了解,但是這是他應該了解的,因為他已經經歷了這么多。
    當我三十歲的時候:也許我們該問問爸爸他是怎么想的。畢竟他有很多經驗。
    當我三十五歲的時候:除非我和爸爸談談,否則我不能做任何事。
    當我四十歲的時候:我想知道爸爸會怎樣處理這件事。他是如此明智。
    當我五十歲的時候:如果爸爸在這,我會把所有的東西都給他。太遺憾了,我沒有意識到他是多么明智。我本來能從他身上學到更多

     


    文章來源:http://stocknewbie.bokee.com/viewdiary.13391801.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(113) | 評論 (0)編輯 收藏

    最近做性能測試,使用jprofile + microsoft web stress tool  測tomcat上的網頁.

    做了個網頁例子,和.net對比速度,發現速度比不過.net

     

    用jprofile 跟蹤多并發情況,發現在

    bean:write 在寫整數和日期類型時,會找格式,并且從properties中找不同語言版本的格式.于是會訪問

    WriteTag.retrieveFormatString

      TagUtils.getInstance().message

           PropertyMessageResource.getMessage(Locale locale, String key)

     

    PropertyMessageResource.getMessage(Locale locale, String key) 中有個synchronized 塊,這里導致了代碼的等待時間過長.

        


    文章來源:http://stocknewbie.bokee.com/viewdiary.15201750.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(157) | 評論 (0)編輯 收藏

    <?xml version="1.0" encoding="UTF-8"?>

    <project name="cobertura.examples.basic" default="coverage" basedir=".">

     <description>
        Cobertura - http://cobertura.sourceforge.net/
        Copyright (C) 2003 jcoverage ltd.
        Copyright (C) 2005 Mark Doliner &lt;thekingant@users.sourceforge.net&gt;
        Cobertura is licensed under the GNU General Public License
        Cobertura comes with ABSOLUTELY NO WARRANTY
        </description>

     
     <property name="build.dir" value="${basedir}/build"/>
     <!-- 需要測試的代碼生成的代碼路徑-->
     <property name="classes.dir" value="${build.dir}/classes"/>

     <!-- 為需要測試的代碼生成的對應的測量類,用于測量覆蓋率-->
     <property name="instrumented.dir" value="${build.dir}/instrumented-classes"/>

     
     <!-- 單元測試的代碼,這部分代碼不生成覆蓋率數據,因此和待測試代碼要分開-->
     <property name="test.classes.dir" value="${build.dir}/test-classes"/>
     
     <!-- 所有報告的路徑-->
     <property name="reports.dir" value="${build.dir}/reports"/>

     <!-- junit 生成兩種測試報告的路徑,xml和html-->
     <property name="reports.xml.dir" value="${reports.dir}/junit-xml"/>
     <property name="reports.html.dir" value="${reports.dir}/junit-html"/>
     
     <!-- cobertura生成的兩種測試覆蓋呂的報告,xml和html-->
     <property name="coverage.xml.dir" value="${reports.dir}/cobertura-xml"/>
     <property name="coverage.html.dir" value="${reports.dir}/cobertura-html"/>
     
     
     <property name="src.dir" value="${basedir}/src" />
     <!--測試代碼的路徑-->
     <property name="test.dir" value="${basedir}/test" />

     
     <path id="cobertura.classpath">
      <fileset dir="${basedir}">
       <include name="lib/unittest/*.jar" />
      </fileset>
     </path>

     <taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>

     <target name="init">
      <mkdir dir="${build.dir}" />
      <mkdir dir="${classes.dir}" />
      <mkdir dir="${test.classes.dir}" />
      <mkdir dir="${instrumented.dir}" />
      <mkdir dir="${reports.xml.dir}" />
      <mkdir dir="${reports.html.dir}" />
      <mkdir dir="${coverage.xml.dir}" />
      <mkdir dir="${coverage.html.dir}" />
     </target>

     <target name="compile" depends="init">
      <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="yes">
       <classpath refid="cobertura.classpath" />
      </javac>
     </target>
     
     
     <target name="compiletest" depends="compile">
      <javac srcdir="${test.dir}" destdir="${test.classes.dir}" debug="yes">
       <classpath location="${classes.dir}"/>
       <classpath refid="cobertura.classpath" />
      </javac>
     </target>

     <target name="instrument" depends="init,compile">
      <!--
       Remove the coverage data file and any old instrumentation.
      -->
      <delete file="cobertura.ser"/>
      <delete dir="${instrumented.dir}" />

      <!--
       Instrument the application classes, writing the
       instrumented classes into ${build.instrumented.dir}.
      -->
      <cobertura-instrument todir="${instrumented.dir}">
       <!--
        The following line causes instrument to ignore any
        source line containing a reference to log4j, for the
        purposes of coverage reporting.
       -->
       <ignore regex="org.apache.log4j.*" />

       <fileset dir="${classes.dir}">
        <!--
         Instrument all the application classes, but
         don't instrument the test classes.
        -->
        <include name="**/*.class" />
        <exclude name="**/*Test.class" />
       </fileset>
      </cobertura-instrument>
     </target>

     <target name="test" depends="init,compiletest">
      <junit fork="yes" dir="${basedir}" haltonerror="no" failureProperty="test.failed">
       <!--
        Note the classpath order: instrumented classes are before the
        original (uninstrumented) classes.  This is important.
       -->
       <classpath location="${instrumented.dir}" />
       <classpath location="${classes.dir}" />
       <classpath location="${test.classes.dir}" />
       <!--
        The instrumented classes reference classes used by the
        Cobertura runtime, so Cobertura and its dependencies
        must be on your classpath.
       -->
       <classpath refid="cobertura.classpath" />

       <formatter type="xml" />
       <test name="${testcase}" todir="${reports.xml.dir}" if="testcase" />
       <batchtest todir="${reports.xml.dir}" unless="testcase">
        <fileset dir="${test.dir}">
         <include name="**/*Test.java" />
        </fileset>
       </batchtest>
      </junit>

      <junitreport >
       <fileset dir="${reports.xml.dir}">
        <include name="TEST-*.xml" />
       </fileset>
       <report format="frames" todir="${reports.html.dir}" />
      </junitreport>
     </target>

     <target name="coverage-check">
      <cobertura-check branchrate="34" totallinerate="100" />
     </target>

     <target name="coverage-report">
      <!--
       Generate an XML file containing the coverage data using
       the "srcdir" attribute.
      -->
      <cobertura-report srcdir="${src.dir}" destdir="${coverage.xml.dir}" format="xml" />
     </target>

     <target name="alternate-coverage-report">
      <!--
       Generate a series of HTML files containing the coverage
       data in a user-readable form using nested source filesets.
      -->
      <cobertura-report destdir="${coverage.html.dir}">
       <fileset dir="${src.dir}">
        <include name="**/*.java"/>
       </fileset>
      </cobertura-report>
     </target>

     <target name="clean" description="Remove all files created by the build/test process.">
      <delete dir="${build.dir}" />
      <delete dir="${classes.dir}" />
      <delete dir="${instrumented.dir}" />
      <delete dir="${reports.dir}" />
      <delete file="cobertura.log" />
      <delete file="cobertura.ser" />
     </target>

     <target name="coverage" depends="clean,compile,instrument,test,coverage-report,alternate-coverage-report" description="Compile, instrument ourself, run the tests and generate JUnit and coverage reports."/>

    </project>


    文章來源:http://stocknewbie.bokee.com/viewdiary.15201790.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(672) | 評論 (0)編輯 收藏

    select level, d1.dept_id,d1.dept_code,sys_connect_by_path(dept_code,'/') path from zte_fbp_depts d1
    start with  d1.dept_id=12
    connect by prior d1.dept_id= d1.parent_dept_id


    文章來源:http://stocknewbie.bokee.com/viewdiary.16533973.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(149) | 評論 (0)編輯 收藏

    性能測試經驗總結
    1.要有信心
    2.要有穩定,干凈的環境,要停掉服務器上不必要的進程和服務

    3.要在檢查資源是否正常釋放了,
    內存是否存在泄漏,內存的不斷增長,也會影響請求的相應時間
    數據庫連接是否在使用后得到釋放.
    可以查看對象的分配狀況

    要檢查查詢的時候是將所有的數據查出來了還是只查了一頁數據

    4.連接池的配置,可以分配足夠初始連接,同時配置沒有連接時的等待時間,要保證始終是取到連接的
    免得測出的是假相.

    給出一個配置的例子
     <bean id="dataSource" class="com.zte.platform.db.FolDataSource"
           destroy-method="close">
       <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
     <property name="url" value=""/>
     <property name="username" value=""/>
     <property name="password" value=""/>
       <property name="initialSize" value="50" />
       <property name="maxActive" value="200" />
       <property name="maxWait" value="-1"/>
       <property name="maxIdle" value="100"/>
       <property name="removeAbandoned" value="true"/>
       <property name="removeAbandonedTimeout" value="30000"/>
       <property name="logAbandoned" value="true"/>
     </bean>

    5 要用profile工具,判斷在多并發情況下,時間的分配狀況,抓住主要矛盾,解決最影響性能的地方

    6.服務器需要配置好,對內存和線程都需要配置.
        tomcat配置
        <Connector
    port="8088"               maxHttpHeaderSize="8192"
                   maxThreads="100" minSpareThreads="100" maxSpareThreads="450"
                   enableLookups="false" redirectPort="8443" acceptCount="300"
                   connectionTimeout="20000" disableUploadTimeout="true" />

    內存配置:
    這次測試只配置了java vm,  -Xms1024M -Xmx1024M


    有人推薦這樣配置:
    JVM_ARGS= -Xms1408M -Xmx1408M -XX:MaxPermSize=96M -XX:NewSize=500M -XX:MaxNewSize=500M -Xss128k -XX:+UseConcMarkSweepGC -XX:+UseParNewGC


    7.測試腳本中不能帶session標識,如http://..../app/perftest.jsp;jsessionid=D68FC8BDDB954F33AD2626D67553EC8E
    需要去掉 ;jsessionid=D68FC8BDDB954F33AD2626D67553EC8E ,因為帶sessionid會導致測試結果是多個線程訪問一個用戶的會話.
    實際應用中是一個用戶一個會話一個線程

    8 日志分析,分析日志中出現的異常,異常發生的時候,往往性能會降低,也會引發失敗事務.

    9. 和其他系統集成了,要先和其他系統分開進行測試,達標一個再集成進來,將問題局部化定位.

    10.最好調優人員學會使用 loadrunner測試工具,先自己使用loadrunner測試通過再給測試人員,提高效率

     

     


     


    文章來源:http://stocknewbie.bokee.com/viewdiary.17160571.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(117) | 評論 (0)編輯 收藏

    還缺少一個onchange處理,使用正則表達式的處理方式,

    以下是限制文字的輸入
    <style>
     INPUT.num_text
     {
      imme-mode:disabled;
      onkeydown: expression(onkeydown=function ()
      {
       var   k=window.event.keyCode;  
       if(
       k==46||k==8||k==189||k==109||k==190||k==110|| k>=48 && k<=57
       ||k>=96 && k<=105||k>=37 && k<=40 )
       {
        return true;
       }
       else if (k==13)
       {
        window.event.keyCode = 9;
        
        return true;
       }

       else{
        
          return false;
       } 
      });


     }

     

    </style>

     

    <form>
           <input type="text"   class="num_text"  />

        
    </form>


    文章來源:http://stocknewbie.bokee.com/viewdiary.18663505.html
    posted @ 2009-05-01 10:52 huohuo 閱讀(126) | 評論 (0)編輯 收藏
    僅列出標題
    共5頁: 上一頁 1 2 3 4 5 下一頁 
    主站蜘蛛池模板: 一区二区三区视频免费观看| 久久亚洲精品无码av| 中文在线免费观看| JLZZJLZZ亚洲乱熟无码| 四虎影视久久久免费 | 中国在线观看免费国语版| 亚洲日韩图片专区第1页| 无码av免费网站| 亚洲综合久久久久久中文字幕| 美女内射无套日韩免费播放| 亚洲男女一区二区三区| 无码一区二区三区AV免费| 亚洲国产精品无码观看久久| 无码欧精品亚洲日韩一区夜夜嗨 | 国产精品亚洲专区一区| 全亚洲最新黄色特级网站| 亚洲精品偷拍视频免费观看| 亚洲熟妇av一区二区三区| 99免费在线观看视频| 亚洲国产精品人久久电影| 日韩在线免费电影| 日本高清不卡中文字幕免费| 亚洲色无码专区在线观看| 免费A级毛片无码专区| 亚洲中文字幕无码av| 亚洲av无码成人精品区在线播放| 久草免费福利在线| 亚洲最新黄色网址| 四虎影在线永久免费观看| 三年片免费高清版| 亚洲国产精品白丝在线观看| 日韩一区二区免费视频| 国产色爽免费无码视频| 精品丝袜国产自在线拍亚洲| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 国产亚洲精品自在线观看| 鲁大师在线影院免费观看 | 97国产免费全部免费观看| 直接进入免费看黄的网站| 久久狠狠高潮亚洲精品| 国产裸模视频免费区无码|