J2EE配置指南 (轉)

worldblog發表於2007-12-13
J2EE配置指南 (轉)[@more@]指南  

  1、介紹

  本文介紹J2EE環境的配置,所有涉及的都在J2EE目錄下的oncfig目錄,這些檔案都是文字檔案,你可以有任意的文字編輯器來編輯它們。

  通常情況下,你沒有改變這些檔案的必要。但是如果你使用的不是cloudscape的時候,你需要遵循本章的內容進行配置。

  2、JC驅動

  預設的J2EE安裝後支援cloudscape資料庫(一個sun公司提供的演示資料庫),如果你的使用的不是連線cloudscape資料庫,那麼你需要按照下面的知道進行配置。(如果你不能確定本版本的J2EE支援你使用的jdbc驅動,請到 11111 看相關資訊。)

  3、驅動的位置


  你必須把驅動檔案(.jar檔案)copy到 $J2EE_HOME/lib/system目錄下。並且保證該檔案包含在J2EE_CLASSPATH 的環境變數中。

  4、J2EE_CLASSPATH 環境變數

  J2EE server透過JDBC驅動連線資料庫。通透過J2EE_CLASSPATH 的環境變數定位驅動檔案(.jar檔案)的位置。你可以在啟動J2EE前在命令列設定這個變數。但是我們推薦你在指令碼中設定J2EE_CLASSPATH 變數。編輯配置檔案在安裝的過程中是必須的一步。在中,使用者配置檔案是 /bin/userconfig.sh, nt中是bin/userconfig.bat

  注意:你應該同時在CLASSPATH環境變數中去掉驅動檔案(.jar檔案)。

  5、JDBC 1.0 驅動

  為了配置jdbc1.0驅動,編輯config/default.properties 檔案的jdbc.s 和 jdbc.datas兩個屬性值。再次要注意的是驅動檔案必須包含在J2EE_CLASSPATH環境變數中。

  jdbc.drivers 屬性

  jdbc.drivers 屬性的值是有一系列的冒號分割的jdbc驅動的類名。格式如下:

  jdbc.drivers=:: . . .

  例如:

   jdbc.drivers=.jdbc.driver.OracleDriver:testutil.MyDriver

   jdbc.datasources 屬性值

   jdbc.datasources 屬性值由兩部分組成,一個是datasource的jndi的名字,一個是資料庫的url。典型的情況是:jndi名字是資料庫的邏輯名字,rul指定資料庫的實際位置。jndi名字和url都是在ejb編碼的過程中指定的。rul的格式,請參照jdbc驅動提供商的文件。

   jdbc.datasources 的語法如下:

   jdbc.datasources=|||. . .

   |符號有兩個作用。第一,它隔開幾個jndi_datasource;第二,它隔開每一個jndi_datasource中的jndi_datasource> 和 元素.

   jndi_datasource元素的語法如下:

    jdbc/

  由jdbc關鍵字開頭,jndi_name是在jndi目錄中指定的datasouce名字。

  例如:

   jdbc.datasources=jdbc/Oracle|jdbc:oracle:thin@rtc:1521:acct|jdbc/MyDB|jdbc:test

  6、支援J他的JDBC2.0驅動

  配置J他的JDBC2.0的驅動,你需要設定以下屬性的值:

  jdbc20.datasources

  xadatasource..jndiname

  xadatasource..classname

  xadatasource..dbuser

  xadatasource..dbpass

  xadatasource..prop.

  同時你也必須在J2EE_CLASSPATH 環境變數中包括jdbc驅動檔案。

  jdbc20.datasources 屬性

  jdbc20.datasources 屬性的值和jndi名字連線,用於定位datasouce的位置(它就是lookup方法的引數)。

  jdbc20.datasources 的語法如下:

  jdbc20.datasources=||||的作用有兩個,第一,隔開jndi_datasource 和並組成一對,第二,隔開每一對的jndi_datasource> 、元素。

  和 jndi_XA_datasource有相同的語法:

  jdbc/

  jdbc關鍵字開頭。jndi_name是datasource名字,這個名字指向jndi目錄。

  例如:

  jdbc20.datasources=jdbc/Merant|jdbc/XAMerant|jdbc/Finch|jdbc/XAFinch

  xadatasource屬性

  xadatasource..jndiname 屬性指定XA DataSource的jndi名字。語法如下:

  xadatasource..jndiname=jdbc/

  n代表每一組xadatasource。第一個jdbc2.0驅動n為0,下一個是1,2等等。jndi_XA_datasource元素和jdbc20.datasources 指定的值對應。The xadatasource..dbuser 和 xadatasource..dbpassword 屬性指定資料庫使用者和密碼。通常該使用者具有管理員的(更多的資訊請看 2222 The distributed.transaction.recovery )。

    xadatasource..prop. 指定和特定的屬性值關聯的值。實際的值可能是jdbc驅動。

  例如:

    xadatasource.0.jndiname=jdbc/XAMerant

    xadatasource.0.classname=com.merant.sequelink.jdbcx.datasource.SequeLinkDataSource

    xadatasource.0.prop.url=jdbc:sequelink://mypc:5000/[Oracle]

  7、事務

  你可以編輯config/default.properties 檔案控制事務發生和超時設定。distributed.transaction.recovery 屬性這個屬性控制分佈事物是否發生。這些事物可以發生的話,下面的條件必須滿足:

  跨庫操作時的事物範圍。

  J2EE透過jdbc2.0 JTA驅動訪問資料庫

  當故障發生的時候,事物的各個的組成部分可以按照符合兩段提交的方式提交或回滾。

  事物發生的時候,server重新啟動後事物可以提交或回滾。

  distributed.transaction.recovery的值為true或者false。J2EE安裝後預設為false。

  distributed.transaction.recovery=false

  transaction.time屬性

  在應用container-managed 事物的ejb中,你可以控制事物超時的間隔透過設定transaction.timeout的值。例如:

   transaction.timeout=5

  在設定以後,如果事物在5秒內沒有完成,J2EE事物管理器將回滾它。當J2EE第一次安裝的時候,timeout的值時0代表沒有超時。

  只有使用container-managed 管理事物的ejb受到timeout的影響。至於在bean-managed和JTA transactions 中你可以引用 UserTransaction 的 setTransactionTimeout方法。同時你也可以在其他組建中引用setTransactionTimeout方法:比如s和。

  8、埠

  J2EE需要埠。修改config目錄下的相應檔案可以修改埠號。下表是埠號和相應的檔案。

  EJB 9191 ejb.properties http.port=9191

  HTTP 8000 .properties port=8000

  HTTPS 7000 web.properties https.port=7000

  Naming and Directory 1050 orb.properties port=1050

  9191 埠用於提供client需要的stub類

  8000 提供http服務

  7000 提供https服務

  1050 基於orb的jndi名字服務使用的埠

  9、日誌檔案

  J2EE server有幾個日誌檔案。預設這些檔案在logs目錄下。編輯config/default.properties 檔案中的 log.directory 屬性可以更改預設目錄。

  log.directory=logs

  同時你也可以編輯default.properties 檔案更改日誌檔案的名字。例如:你可以修改log.output 屬性的值來修改the output.log 檔案的名字。

  一般來說,日誌檔案決定於啟動J2EE的。(single還是multiple VM (virtual machine) 模式) Single VM 日誌檔案預設的情況是Single VM 模式。在這種情況下,日誌檔案位於

   $J2EE_HOME///ejb

  logs是在default.properties 檔案中log.directory 屬性指定的。host元素是名稱。生成下列檔案。

  system.out

  system.err

  event.log

  output.log

  error.log


  system.out 和system.err檔案包括ejb中 System.out 和 System.err的輸出。如果你執行J2EE -verbose數,輸出被寫到stdout(標準輸出) 和stderr(標準錯誤。輸出)。system.out 和 system.err日誌檔案不建。只有config/auth.properties 檔案中audit屬性值為true時audit.lo才建立。

  Multiple VM 日誌

  如果你用J2EE -mutiVM啟動server,ejb和http服務在自己的虛擬機器以單獨的服務啟動。每一個depploy的應用程式也在自己的虛擬機器中執行。日誌檔案和上述的一樣,但是存放的目錄不同。目錄如下:

  EJB $J2EE_HOME//ejb/ejbd

  HTTP $J2EE_HOME//ejb/httpd

  deployed application $J2EE_HOME//ejb/

  web server日誌

  編輯web.properties檔案中的內容,可以改變由web server建立的日誌檔案的名字。

  10、

  未授權使用者

   對於J2EE來說,當有未授權的使用者試圖ejb container的時候,J2EE必須存在一般意義上的未授權使用者存在。在J2EE中這個使用者名稱字是guest,密碼是guest123。你可以在auth.properties 檔案中修改使用者名稱和密碼。

  default.principal.name=guest

  default.principal.password=guest123

  Keystore密碼

  如果使用者使用公鑰訪問https,資訊放在/.keystore 檔案中。同時user-home是System.getProperty("user.home")的返回值。keystore是一個典型的密碼檔案。預設的密碼是changeit。可以在web.properties 檔案中修改keystore.password 屬性的值來改變密碼。

  ANYONE 角色

  在application deployment工具的security皮膚中,預設的情況下方法分配給ANYONE 角色。這樣的結果 是所有的使用者和組都可以呼叫它。如果你沒有影射到一個特定的角色,每一個使用者和使用者都可以呼叫它。可以在auth.properties 檔案中設定anyone.role.name 的值來改變預設anyone角色。

  鈍化發生的條件:限制

  當ejb container開始鈍化一個ejb的時候,它把ejb儲存在附屬中並且試圖重新分配記憶體。預設的情況下,如果記憶體使用超過128m的時候鈍化開始發生。可以編輯config/default.properties 檔案中passivation.threshold.memory 屬性的值來修改預設值。

  passivation.threshold.memory=128000000

值必須是一個正的整數。當你減少這個值的時候鈍化現象回經常發生。

  jndi name server host

  如果jndi name server和J2EE server不在同一個機器上,你必須改變config/orb.properties 檔案中host屬性的值。

  host=localhost

  HTTP 文件根

  預設的情況下,http和https服務的文件是public_html。你可以編輯web.properties 檔案中document屬性的值來改變它。

  documentroot=public_html/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993014/,如需轉載,請註明出處,否則將追究法律責任。

相關文章