【原文地址】http://blog.csdn.net/stevene/archive/2006/01/10/575194.aspx
安裝 Tomcat 后,啟動(dòng) tomcat 時(shí),會(huì)出現(xiàn):
2005-10-12 13:46:57 org.apache.commons.modeler.Registry loadRegistry
信息 : Loading registry information
2005-10-12 13:46:57 org.apache.commons.modeler.Registry getRegistry
信息 : Creating new Registry instance
2005-10-12 13:46:57 org.apache.commons.modeler.Registry getServer
信息 : Creating MBeanServer
2005-10-12 13:46:58 org.apache.coyote.http11.Http11Protocol init
嚴(yán)重 : Error initializing endpoint
java.net.BindException: Address already in use: JVM_Bind:8080
?????? at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:270)
??? ……
沖突提示。
在瀏覽器中訪問 http://127.0.0.1:8080 時(shí)出現(xiàn) XDB 登錄窗口而不是 Tomcat 的 Welcome 頁面,如下:
進(jìn)入命令行,運(yùn)行 netstat –a 命令查看端口, 8080 已被占用(如下),什么原因呢?
這是因?yàn)檫@臺機(jī)器上已經(jīng)安裝了 Oracle 9i 數(shù)據(jù)庫。從 Oracle?9i 開始,創(chuàng)建數(shù)據(jù)庫時(shí)默認(rèn)包含了 XDB 特性。 Oracle9i 支持 XML 數(shù)據(jù)庫, 8080 是 Oracle XDB ( XML 數(shù)據(jù)庫) Http 服務(wù)的默認(rèn)端口, Oracle XDB 還有一個(gè) Ftp 服務(wù),默認(rèn)端口是 2100 。而 Tomcat 、 Jboss 等的默認(rèn)端口也是 8080 ,所以出現(xiàn)沖突,另外從網(wǎng)上查詢得知 Oracle?XDB 的端口設(shè)置不在配置文件中,而是在數(shù)據(jù)庫里。
那么怎么解決呢?這里介紹四種解決沖突的方式,都比較簡單:
一、修改 Tomcat 端口
修改 Tomcat 端口比較容易,在 Tomcat 安裝目錄 conf 下的 server.xml 文件中,找到 <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
?????????????? port="8080" minProcessors="5" maxProcessors="75"
?????????????? enableLookups="true" redirectPort="8443"
?????????????? acceptCount="100" debug="0" connectionTimeout="20000"
?????????????? useURIValidationHack="false" disableUploadTimeout="true" />
標(biāo)簽,把
Port=”
二、使用 Oracle 控制臺修改 Oracle XDB Http/FTP 服務(wù)端口
雖然修改 Tomcat 端口可以很容易解決問題,但有時(shí)不想修改 Tomcat 端口,可以修改 Oracle XDB 服務(wù)端口來避免沖突。
登錄 Oracle 控制臺可以以獨(dú)立方式登錄,但必須以 SYSDBA 身份登錄,否則不能操作 XDB 配置參數(shù)。
登錄到 Oracle 控制臺后,展開 ”XML 數(shù)據(jù)庫 ” 項(xiàng), XML 數(shù)據(jù)庫下有配置、資源、 XML 方案三個(gè)子項(xiàng)。選中配置選項(xiàng), XML 數(shù)據(jù)庫 參數(shù)會(huì)顯示在右邊區(qū)域。如圖所示:
修改參數(shù)名為 http-port 的項(xiàng),值 8080 改為 8088 或其他未占用端口值,也可以修改 ftp-port 的值,然后點(diǎn)右下腳“應(yīng)用( P )”按鈕應(yīng)用新修改的端口值。
這里需要注意的是,每個(gè) Oracle 實(shí)例都會(huì)默認(rèn)占用 8080 和 2100 端口,所以需要修改本機(jī) Oracle 上的所有實(shí)例的 XDB 配置。
三、命令行方式 ( 用 Oracle 提供的包 ) 修改 Oralce XDB 端口
1 、進(jìn)入命令行,連接 sqlplus
?
?
?
?
?
?
?
C:\ >sqlplus /nolog
SQL*Plus: Release
Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.
SQL>
2 、以 SYSDBA 身份登錄
?
?
?
?
?
?
?
SQL> conn sys/wangzh@test as sysdba
已連接。
3 、修改 ?HTTP?port? 由 ?8080? 改為 ?8088
?
?
?
?
?
?
?
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
? 2? '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
? 3? ,8088))
? 4? /
?
?
?
?
?
?
?
調(diào)用完成。
4 、 ? 也可以修改 FTP? 端口 ,舉例如下,將端口 2100 改為 2111 ,一般情況下不用改就可以。
SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(),
? 2? '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port /text()'
? 3? ,2111))
? 4? /
?
?
?
?
?
?
?
調(diào)用完成。
5 、提交修改
?
?
?
?
?
?
?
SQL> commit;
?
?
?
?
?
?
?
提交完成。
SQL> exec dbms_xdb.cfg_refresh;
?
?
?
?
?
?
?
PL/SQL 過程已成功完成。
四、使用 Oracle DBCA 向?qū)Чぞ撸梢詥⒂谩⒔煤团渲?/span> XML DB 端口號
1 、啟動(dòng) DBCA ( DataBase Configuration Assistant )向?qū)?/span>
2 、選擇“在數(shù)據(jù)庫中配置數(shù)據(jù)庫選項(xiàng)”,單擊“下一步”按鈕
3 、選擇數(shù)據(jù)庫實(shí)例名,輸入用戶名和口令,用戶必須具備 DBA 權(quán)限,單擊“下一步”按鈕
4 、數(shù)據(jù)庫特性頁,點(diǎn)擊“標(biāo)準(zhǔn)數(shù)據(jù)庫功能”按鈕打開標(biāo)準(zhǔn)數(shù)據(jù)庫功能頁,然后選擇 Oracle XML DB 項(xiàng)后的 “自定義”按鈕,打開“ Oracle XML DB ”頁,如下:
可以選擇啟用或禁用 XML DB 協(xié)議,啟用 XML DB 協(xié)議的情況下,可以配置端口號。配置端口號有兩個(gè)選項(xiàng),使用默認(rèn)配置或自定義配置
如上圖所示,自定義 FTP 和 HTTP 端口值。然后點(diǎn)“確定”按鈕完成配置。