隨筆-124  評(píng)論-194  文章-0  trackbacks-0
           
               摘要: 本文說(shuō)明了 Linux 系統(tǒng)的配置文件,在多用戶、多任務(wù)環(huán)境中,配置文件控制用戶權(quán)限、系統(tǒng)應(yīng)用程序、守護(hù)進(jìn)程、服務(wù)和其它管理任務(wù)。這些任務(wù)包括管理用戶帳號(hào)、分配磁盤配額、管理電子郵件和新聞組,以及配置內(nèi)核參數(shù)。本文還根據(jù)配置文件的使用和其所影響的服務(wù)的情況對(duì)目前 Red Hat Linux 系統(tǒng)中的配置文件進(jìn)行了分類。
            閱讀全文
          posted @ 2007-09-10 18:24 我愛佳娃 閱讀(445) | 評(píng)論 (0)編輯 收藏

           

          posted @ 2007-09-10 17:54 我愛佳娃 閱讀(512) | 評(píng)論 (0)編輯 收藏

          今天被SWFObject困擾一天,發(fā)現(xiàn):

          1. SWFObject通過(guò)本地HTML用不成功,必須通過(guò)WEB在線方式取。
          2. 直接用ADOBE的OBJECT標(biāo)簽都可以。但是如果一旦加入EXT-YUI的使用,在IE下不行,F(xiàn)F可以。所以還是用SWFObject穩(wěn)妥些。
          3. 就算是在線取,如果在嵌套IE的瀏覽工具里(如TT)也會(huì)不成功,F(xiàn)F沒(méi)有問(wèn)題。
          4. 用SWFObject時(shí)還要注意,如果要訪問(wèn)FLASH的函數(shù),輸出完FLASH后,并不能馬上取得指針使用,而要在其它函數(shù)中使用,比如:通過(guò)某個(gè)按鈕事件激發(fā)。

          也就是,把這部分放在初始化中:

          var so = new SWFObject(format_path ("swf/hehe.swf"), "mytopo", "800", "600", "8", "#FFFFFFFF");
          so.write("flashcontent");
          this._topo = thisMovie("mytopo");

           

          使用的語(yǔ)句放在另一處:

          _topo.setBK(format_path ("images/pic3.jpg"));

           

          歸根結(jié)底,F(xiàn)LASH函數(shù)調(diào)用的調(diào)試,目前實(shí)驗(yàn)成功的:一是要用SWF,二是要在線調(diào)試。

          posted @ 2007-09-08 22:02 我愛佳娃 閱讀(893) | 評(píng)論 (0)編輯 收藏
          上一篇文章中的問(wèn)題,今天又再試了下,居然解決了,看來(lái)把遇到問(wèn)題放一放是有好處的。

          第一,是要用對(duì)CXF的庫(kù),在一行代碼未變的情況下,只要使用最新的庫(kù)。看來(lái)在最新庫(kù)里解決了數(shù)組問(wèn)題:
          2.1-incubator-SNAPSHOT
          就沒(méi)問(wèn)題,如果是用:
          2.0-incubator
          就會(huì)出現(xiàn)上篇文章的情況。我使用MAVEN2,就寫成:
                <!--for cxf-->
              
          <dependency>
                  
          <groupId>org.apache.cxf</groupId>
                  
          <artifactId>cxf-rt-frontend-jaxws</artifactId>
                  
          <version>2.1-incubator-SNAPSHOT</version>
                  
          <!-- version>2.0-incubator</version-->
              
          </dependency>
              
          <dependency>
                  
          <groupId>org.apache.cxf</groupId>
                  
          <artifactId>cxf-rt-transports-http</artifactId>
                  
          <version>2.1-incubator-SNAPSHOT</version>
              
          </dependency>
              
          <dependency>
                  
          <groupId>org.apache.cxf</groupId>
                  
          <artifactId>cxf-rt-databinding-aegis</artifactId>
                  
          <version>2.1-incubator-SNAPSHOT</version>
              
          </dependency>


          第二,對(duì)SOAP::Lite的改變,SOAP::Lite不支持doc/literal,但通過(guò)閱讀
          "NET-based Web Service Using the SOAP::Lite Perl Library".
          我的上篇文章有鏈接,我寫的PERL程序在某些情況下依然不行。
          這次再加了兩處改動(dòng)后就可以了:(注意:CXF里不要使用aegisDatabinding,用默認(rèn)的即可)
          my $soap = SOAP::Lite
                 
          -> uri('http://magic.nms.exchangebit.com/')
                 
          -> on_action( subjoin '/', 'http://www.alfredbr.com', $_[1] })
                 
          -> proxy('http://127.0.0.1:8080/ebnms/NotifyService')
                     
          ->autotype(0);


          其中的autotype(0)非常重要。另外一處改動(dòng)是,程序中的根變量名改成"arg0",即與WSDL中定義一致。
          實(shí)驗(yàn)發(fā)現(xiàn),帶不帶attr中的xmlns都可以。完整代碼如下:
           use SOAP::Lite ( +trace => all, maptype => {} );

          my $soap = SOAP::Lite
                 
          -> uri('http://magic.nms.exchangebit.com/')
                 
          -> on_action( subjoin '/', 'http://www.alfredbr.com', $_[1] })
                 
          -> proxy('http://127.0.0.1:8080/ebnms/NotifyService')
                     
          ->autotype(0);

          #$soap->sendAlarmString ("good");

          #$soap->sendAlarm (SOAP::Data->name(arg0=>{devName=>"hehe", devIp=>"ip1"}));


          {
          # call send alarm
              my @params = (
              
          #   $header,
                 SOAP::Data->name(arg0 => goodhehe) 
              );
              
              
          my $method = SOAP::Data->name('ns1:sendAlarmString')
                 
          ->attr({"xmlns:ns1" => 'http://magic.nms.exchangebit.com/'});
              
              
          my $result = $soap->call($method => @params);
              
              
          print "\nsend string alarm result:\n";
              
          if ($result->fault)
              {
                 
          print $result->faultstring;
              }
              
          else
              {
                 
          print $result->result;
              }
              
          print "\nn";
          }

          {
          # call send dev alarm
              my @params = (SOAP::Data->name(arg0=>{devName=>"hehe", devIp=>"ip1"}));
              
              
          my $method = SOAP::Data->name('sendAlarm');
          #       ->attr({"xmlns:ns1" => 'http://magic.nms.exchangebit.com/'});
              
              
          my $result = $soap->call($method => @params);
              
              
          print "\nsend string alarm result:\n";
              
          if ($result->fault)
              {
                 
          print $result->faultstring;
              }
              
          else
              {
                 
          print $result->result;
              }
              
          print "\n\n";
          }

          {
          # call send arr alarm
              my @params = (
                 SOAP
          ::Data->name(arg0 => [
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe1", devIp=>"ip1"}, 
                 {devName
          =>"hehe2", devIp=>"ip2"}])
              );
              
              
          my $method = SOAP::Data->name('sendAlarmArr');
              
              
          my $result = $soap->call($method => @params);
              
              
          print "\nsend string alarm result:\n";
              
          if ($result->fault)
              {
                 
          print $result->faultstring;
              }
              
          else
              {
                 
          my @a = @{$result->result->{item}};
                 
          foreach $i (@a) {
                         
          print "ele: $i->{devName}, $i->{devIp}\n";
                 }
              }
              
          print "\n\n";
          }
          posted @ 2007-08-23 14:13 我愛佳娃 閱讀(1442) | 評(píng)論 (1)編輯 收藏
               摘要: 最近需要一個(gè)能根據(jù)請(qǐng)求數(shù)變化的線程池,JAVA有這樣的東西,可是C++下好像一般只是固定大小的線程池。所以就基于ACE寫了個(gè),只做了初步測(cè)試。 主要思想是:1. 重載ACE_Task,這相當(dāng)于是個(gè)固定線程池,用一個(gè)信號(hào)量(ACE_Thread_Semaphore)來(lái)記數(shù)空閑線程數(shù)。2. 初始化時(shí)根據(jù)用戶的輸入,確定最少線程數(shù)minnum和最大線程數(shù)maxnum,當(dāng)多個(gè)請(qǐng)求到來(lái),并且無(wú)空閑線程(信...  閱讀全文
          posted @ 2007-08-14 17:56 我愛佳娃 閱讀(6091) | 評(píng)論 (4)編輯 收藏

          編譯指南:

          http://support.hyperic.com/confluence/display/DOCSHQ30/Build+Instructions

           

          直接按照這個(gè)走,設(shè)置一些變量:

          JBOSS_HOME=C:\Program Files\server-3.1.0\hq-engine

           

          JAVA_HOME = %SDKS_HOME%\jdk1.5.0_04

          JAVA_OPTS = "-ea"

           

          ANT_HOME = %TOOLS_HOME%\apache-ant-1.6.5

          ANT_OPTS = -Xmx256M -XX:MaxPermSize=128m

           

           

          發(fā)現(xiàn)SERVER起不來(lái),后來(lái)不用自己下載的JBOSS,而是直接下載個(gè)可以直接解壓的HQ安裝包,然后把JBOSS_HOME改到安裝目錄(如上)。然后再運(yùn)行ant deploy就安過(guò)去了。

          AGENT沒(méi)有發(fā)現(xiàn)問(wèn)題,編譯出來(lái)的直接運(yùn)行就好了,在build/agent目錄下。

          posted @ 2007-08-12 15:59 我愛佳娃 閱讀(496) | 評(píng)論 (0)編輯 收藏
               摘要: 最近因?yàn)橛肏YPERIC產(chǎn)品,裝了一下Postgres數(shù)據(jù)庫(kù),下面簡(jiǎn)說(shuō)下在WINDOWS下安裝的情況。   下載那個(gè)直接解壓版,解壓 在"$PG"目錄下創(chuàng)建一個(gè)rootpass.txt文件,內(nèi)容為數(shù)據(jù)庫(kù)的超級(jí)用戶密碼。可以填個(gè)“p”,方便后面登陸。準(zhǔn)備工作到此結(jié)束,下面的步驟以管理員身份執(zhí)行。 移動(dòng)DLL文件[8.1.5及以上版本不需要這一步驟]: cd...  閱讀全文
          posted @ 2007-08-12 15:56 我愛佳娃 閱讀(5776) | 評(píng)論 (0)編輯 收藏
          最近想用PERL通過(guò)SOAP與JAVA通信,想到了XFIRE,現(xiàn)在叫CXF提供的服務(wù)。但總是差一點(diǎn)成功。

          第一步,
          由于用了SPRING,所以最先看了這篇文章:Writing a service with Spring
          服務(wù)是建成功了,PERL和JAVA是可以正常通信了,詳見上篇文章
          可是CXF自己的CLIENT生成代碼卻訪問(wèn)“自定義結(jié)構(gòu)數(shù)組”的函數(shù)不成功:
           public List<DeviceValue> sendAlarmArr (List<DeviceValue> arr);

          第二步,
          左試右試不成功,甚至去試了Axis2,但那個(gè)生成的WSDL把上面的結(jié)構(gòu)變成AnyType,估計(jì)不對(duì)。
          又回來(lái),看了Aegis綁定,我還找到將它用到SPRING里的方法:
          <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:jaxws
          ="http://cxf.apache.org/jaxws"
           xsi:schemaLocation
          ="
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
           http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"
          >

           
          <import resource="classpath:META-INF/cxf/cxf.xml" />
           
          <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
           
          <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

             
          <bean id="serviceClass" class="com.exchangebit.nms.magic.NotifyServiceImpl"/>
            
              
          <bean id="aegisDatabinding" class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
                    
              
          <bean id="serviceFactory" class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
                  
          <property name="dataBinding" ref="aegisDatabinding"/>
              
          </bean>
              
              
          <bean id="serverBeanFactory" class="org.apache.cxf.frontend.ServerFactoryBean" init-method="create">
                  
          <property name="address" value="/NotifyService"/>
                  
          <property name="bindingId" value="http://schemas.xmlsoap.org/soap/"/>
                  
          <property name="serviceBean" ref="serviceClass"/>
                  
          <property name="serviceFactory" ref="serviceFactory"/>
              
          </bean>

              
          <jaxws:endpoint 
                
          id="notifyService" 
                implementor
          ="com.exchangebit.nms.magic.NotifyServiceImpl" 
                address
          ="/NotifyService">
                   
          <!--jaxws:serviceFactory>
                      <ref bean="serviceFactory"/>
                   </jaxws:serviceFactory
          -->
               
          </jaxws:endpoint>
             
          </beans>


          其實(shí),跟前一種JAX-WS的方式轉(zhuǎn)換非常簡(jiǎn)單,把其中的注釋去掉就是Aegis綁定,注釋掉就是JAX-WS。
          客戶端沒(méi)有在SPRING里試成功,但寫代碼也相當(dāng)簡(jiǎn)單,Aegis真好:
                  getBean ("notifyClient");
                  
                  ClientProxyFactoryBean factory 
          = new ClientProxyFactoryBean();
                  factory.setServiceClass(NotifyService.
          class);
                  factory.setAddress(
          "http://127.0.0.1:8080/ebnms/NotifyService");
                  factory.getServiceFactory().setDataBinding(
          new AegisDatabinding());
                  NotifyService client 
          = (NotifyService) factory.create();
                  DoTest (client);


          這次,到是CXF的SERVER和CLIENT都可以正常通信了。但我不說(shuō)也知道啦,PERL又出問(wèn)題了!

           

          第三步,
          又進(jìn)一步搜,才知道Document, Literal, RPC, Encoding對(duì)SOAP消息的影響,這篇文章(中文的)相當(dāng)好!
          大義是RPC/Encoding將方法名稱放入了operation節(jié)中,并且消息里含有類型信息,不方便檢驗(yàn)。
          而Document/Literal通過(guò)增加WSDL復(fù)雜度,將方法名、參數(shù)類型全部放入了types一節(jié),方便了處理。
          而SOAP::Lite只支持RPC/Encoding的方式,但也有辦法讓它形成Doc/Lit的消息:點(diǎn)這里
          但,這種方法只支持JAX-WS的服務(wù),Aegis的PERL就會(huì)出錯(cuò)了。

          所以,不管用哪種要么JAVA的CLIENT和SERVER通信有問(wèn)題,不然就是把PERL拒之門外。我懷疑是不是CXF的JAX-WS的數(shù)組處理有問(wèn)題,不然Aegis為何不出錯(cuò)?另外,Aegis對(duì)PERL的消息不夠?qū)捜荩疽咽荄oc/Lit格式,只是帶有TYPE信息也會(huì)出錯(cuò)。
          不知如何解,先記在此,以后回過(guò)頭來(lái)再研究了。
          posted @ 2007-08-07 21:39 我愛佳娃 閱讀(2925) | 評(píng)論 (1)編輯 收藏
               摘要: SOAP::Lite的Lite是說(shuō)其好用,其實(shí)它的實(shí)現(xiàn)并不“輕量”,功能也非常強(qiáng)大,所以我們要用好它。 在調(diào)用服務(wù)時(shí),有時(shí)遇到有復(fù)雜結(jié)構(gòu)或者數(shù)組時(shí),還是有點(diǎn)小麻煩,下面以調(diào)用以下三個(gè)函數(shù)為例分別寫出SOAP::Lite如何組合它們的參數(shù),其它情況也應(yīng)該能迎刃而解。 public class DeviceValue {  &nbs...  閱讀全文
          posted @ 2007-08-03 22:37 我愛佳娃 閱讀(2884) | 評(píng)論 (0)編輯 收藏

          一般bat只能運(yùn)行一個(gè)程序,有時(shí)需要在電腦啟動(dòng)或者自己有多個(gè)程序要啟動(dòng)時(shí),編輯一個(gè)bat實(shí)現(xiàn)一組程序的啟動(dòng)。可以使用start語(yǔ)句。

          它不支持帶空格的目錄名,可以先CD到程序目錄,再start,舉例如下:

          cd "C:\Program Files\Tor\"
          start tor.exe
          cd "C:\Program Files\Privoxy\"
          start privoxy.exe
          cd "C:\Program Files\Mozilla Firefox\"
          start firefox.exe

          posted @ 2007-07-29 10:36 我愛佳娃 閱讀(4548) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題
          共13頁(yè): First 上一頁(yè) 4 5 6 7 8 9 10 11 12 下一頁(yè) Last 
          主站蜘蛛池模板: 洛宁县| 钦州市| 上饶市| 永靖县| 合阳县| 化德县| 习水县| 渝北区| 德江县| 哈密市| 略阳县| 迭部县| 巴马| 陵水| 镇坪县| 修武县| 南京市| 洪洞县| 墨江| 普安县| 抚州市| 威宁| 江北区| 晋江市| 平安县| 黄石市| 锡林郭勒盟| 如东县| 温宿县| 晋城| 凤冈县| 乡宁县| 灌云县| 蒙自县| 大城县| 武冈市| 三穗县| 永宁县| 革吉县| 弥渡县| 延安市|