如何配置監聽器
❶ java中為什麼要設置監聽器,有什麼用
豬哥解答:
1、private JButton jb=new JButton("按鈕");這句話聲明了一個按鈕,名字叫jb。
2、jb.addActionListener(this);這里給jb那個按鈕設置了監聽,默認為點擊觸發,當然你寫的這個監聽有點怪異~
3、點擊按鈕jb觸發監聽處理方法actionPerformed,在這里可以做你想要的操作,你代碼實現的是改變lab這個label標簽的內容。
4、至於java中為什麼要用監聽,這就像銀行裝監控一樣,監視你的一舉一動,銀行裝監控是為了捕捉每個進銀行的人的動作,預防危險的發生。
java中做監聽同樣是為了監視某個客戶端動作用的,萬一你給我搞破壞怎麼辦(監聽的作用遠不止如此),當然也像平時生活中不是所有的地方都要放監控,要不就沒法過了,java中也不是所有的地方都要放監聽,具體哪裡要放監聽,不該是在課本里學的,應該根據實際工廠、公司的需求來定。
❷ oracle怎麼配置監聽
何為一個instance配置多個監聽,並且實現Client Load Balancing和Client Load Balancing。
打開NETCA,配置兩個監聽器。
LISENTER,默認監聽器,一路next,就配置完畢, 監聽埠1521。
配置LISENTER2,注意監聽埠改為1522,其它和LISENTER一致。
這個時候,LISENTER已經可以使用了。
但是LISENTER2還是不行,因為Oracle只會為第一個默認的監聽注冊服務。
在$ORACLE_HOME/NETWORK/ADMIN,編輯lisenter.ora文件,如下:
紅色字體為需要增加的內容
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = WWJ)
(ORACLE_HOME = d:\oracle\proct\10.2.0\db_1)
(GLOBAL_DBNAME = WWJ)
)
)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = valen)(PORT = 1522))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\proct\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = valen)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
需要解釋的是,SID_LIST_<lisenter name> 這里的<lisenter name>要和LISTENER名稱一致。
SID_DESC則注冊要提供服務的資料庫實例名。這樣LISTENER2 才能夠提供服務。
否則會報TNS-錯誤。
測試過程,配置local tns name如下:
1522 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
1521 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
local =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
1522和1521分別對應兩個監聽器,local稍後再解釋:
測試:
sql> conn [url=mailto:wwj/wwj@1521]wwj/wwj@1521
已連接。
sql> conn [url=mailto:wwj/wwj@1522]wwj/wwj@1522
已連接。
OK,再看local,
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
這里的意思是,該命名對應了兩個監聽埠,如果一個Crash,會立刻切換到另外一個。
並且如果多個連接,會隨機的分配監聽。
測試
sql> conn [url=mailto:wwj/wwj@local]wwj/wwj@local
已連接。
STOP LISENTER,再次連接,這個時候,連接比第一次慢了1秒鍾左右
sql> conn [url=mailto:wwj/wwj@local]wwj/wwj@local
已連接。
成功,這時連接上了LISTENER2
❸ Oracle如何配置監聽
一、監聽器(LISTENER)
監聽器是Oracle基於伺服器端的一種網路服務,主要用於監聽客戶端向資料庫伺服器端提出的連接請求。既然是基於伺服器端的服務,那麼它也只存在於資料庫伺服器端,進行監聽器的設置也是在資料庫伺服器端完成的。
二、本地服務名(Tnsname)
Oracle客戶端與伺服器端的連接是通過客戶端發出連接請求,由伺服器端監聽器對客戶端連接請求進行合法檢查,如果連接請求有效,則進行連接,否則拒絕該連接。
本地服務名是Oracle客戶端網路配置的一種,另外還有Oracle名字伺服器(Oracle Names Server)等。Oracle常用的客戶端配置就是採用的本地服務名,本文中介紹的也主要是基於本地服務名的配置。
三、Oracle網路連接配置方法
配 置Oracle伺服器端與客戶端都可以在其自帶的圖形化Oracle網路管理器(Oracle Net Manager)里完成(強烈建議在這個圖形化的工具下完成Oracle服務端或客戶端的配置)。在Windows下,點擊「開始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager」啟動Oracle網路管理器工具,在Linux/Unix下,利用netmgr命令來啟動圖形化Oracle網路管理器,如:
$ netmgr
Windows下啟動Net Manager圖形窗口如下圖示:
Oracle
1、 Oracle監聽器配置(LISTENER)
如 圖(一)示,選中樹形目錄中監聽程序項,再點擊左上側「+」按鈕添加監聽程序,點擊監聽程序目錄,默認新加的監聽器名稱是LISTENER(該名稱也可以 由任意合法字元命名)。選中該名稱,選中窗口右側欄下拉選項中的「監聽位置」,點擊添加地址按鈕。在出現的網路地址欄的協議下拉選項中選中 「TCP/IP」,主機文本框中輸入主機名稱或IP地址(如果主機即用作服務端也作為客戶端,輸入兩項之一均有效;如果主機作為服務端並需要通過網路連 接,建議輸入IP地址),埠文本框中輸入數字埠,默認是1521,也可以自定義任意有效數字埠。配置好的監聽位置如下圖示:
Oracle
選 中窗口右側欄下拉選項中的「資料庫服務」,點擊添加資料庫按鈕。在出現的資料庫欄中輸入全局資料庫名,如myoracle。注意這里的全局資料庫名與數據 庫SID有所區別,全局資料庫名實際通過域名來控制在同一網段內資料庫全局命名的唯一性,就如Windows下的域名控制器,如這里可以輸入 myoracle.192.168.1.5。Oracle主目錄可以不填寫,輸入SID,如myoracle。完整的資料庫服務配置如下圖示:
Oracle
保 存以上配置,默認即可在Oracle安裝目錄下找到監聽配置文件 (Windows下如D:.ora,Linux/Unix下$ ORACLE_HOME/network/admin/listerer.ora)。至此,Oracle服務端監聽器配置已經完成。
2、 本地服務名配置(Tnsnames)
本 地服務名是基於Oracle客戶端的網路配置,所以,如果客戶端需要連接資料庫伺服器進行操作,則需要配置該客戶端,其依附對象可以是任意一台欲連接數據 庫伺服器進行操作的pc機,也可以是資料庫伺服器自身。如前面所介紹,可以利用Oracle自帶的圖形化管理工具Net Manager來完成Oracle客戶端的配置。選中如圖(一)中的服務命名,再點擊左上側「+」按鈕,彈出如下圖示對話框:
Oracle
輸入Net服務名,如myoracle,點擊下一步,進入下圖示對話框:
Oracle
選中TCP/IP(Internet協議),點擊下一步,如下圖示:
Oracle
輸入主機名與埠號。注意這里的主機名與埠號必須與資料庫伺服器端監聽器配置的主機名和埠號相同。點擊下一步,如下圖示:
Oracle
選 中(Oracle8i或更高版本)服務名,輸入服務名。這里的服務名實際上就是資料庫伺服器端監聽器配置中的全局資料庫名,前者與後者必須相同。連接類型 通常選專用伺服器,這要視資料庫伺服器的配置而定,如果配置的共享資料庫伺服器,這里的連接類型就要選共享伺服器,否則建議選專用伺服器(關於專用伺服器 的介紹請參閱相關文檔)。配置好後點擊下一步,如下圖示:
Oracle
如 果資料庫伺服器端相關服務啟動了,可以點擊測試按鈕進行連接測試。Oracle默認是通過scott/tiger用戶進行測試連接,由於scott用戶是 Oracle自帶的示例用戶,對於正式的業務資料庫或專業測試資料庫可能沒有配置這個用戶,所以需要更改成有效的用戶登錄才可能測試成功。如果這里測試連 接不成功,也不要緊,先點完成按鈕結束配置。
回 到Oracle網路管理器(Oracle Net Manager)主窗口,保存配置,默認即可在Oracle安裝目錄下找到本地服務名配置文件 (Windows下如D:.ora,Linux/Unix下$ ORACLE_HOME/network/admin/ tnsnames.ora)。配置完成的本地服務名如下圖示:
Oracle
樹形目錄下的服務命名可以通過編輯菜單里的重命名菜單更改成任意合法字元組成的服務名稱,注意服務名稱前不能有空格字元,否則可能無法連接資料庫伺服器。
3、 連接資料庫伺服器
(1) 啟動伺服器端監聽器與資料庫服務
Linux/Unix下,啟動監聽器:
$ lsnrctl start
關閉監聽器:
$ lsnrctl stop
查看監聽狀態:
$ lsnrctl status
啟動資料庫:
$ sqlplus /nolog
SQL>conn sys@myoracle as sysdba --這里的myoracle是前面配置的客戶端本地服務名
或
SQL>conn / as sysdba
SQL>startup
Windows下,啟動監聽器:
C:lsnrctl start
啟動Oracle實例服務:
C:oradim ?a href="http://game.pchome.net/pcgame" class="none" title="cs" rel="external">cstartup –sid myoracle
關閉Oracle實例服務:
C:oradim –shutdown –sid myoracle
以上服務必須同時啟動,客戶端才能連接資料庫。由於默認配置的監聽器名稱是Listener,上述命令可以正常啟動監聽器,如果監聽器名稱是其它名稱,如aListener,則需要用下列方式才能啟動:
Linux/Unix下:
$ lsnrctl start aListener
Windows下:
C:lsnrctl start aListener
(2) 測試連接資料庫伺服器
測試的方法多種多樣,可以在上面配置本地服務名時進行測試,也可以是第三方客戶端工具,如PL/SQL Developer,最方便的是用Oracle自帶的sqlplus工具,以下利用sqlplus進行測試:
C:sqlplus /nolog
SQL>conn zgh@myoracle
已連接。
四、客戶端連接伺服器端常見問題排除方法
要排除客戶端與伺服器端的連接問題,首先檢查客戶端配置是否正確(客戶端配置必須與資料庫伺服器端監聽配置一致),再根據錯誤提示解決。下面列出幾種常見的連接問題:
1、 ORA-12541: TNS: 沒有監聽器
顯而易見,伺服器端的監聽器沒有啟動,另外檢查客戶端IP地址或埠填寫是否正確。啟動監聽器:
$ lsnrctl start
或
C:lsnrctl start
2、 ORA-12500: TNS: 監聽程序無法啟動專用伺服器進程
對於Windows而言,沒有啟動Oracle實例服務。啟動實例服務:
C:oradim –startup -sid myoracle
3、 ORA-12535: TNS: 操作超時
出現這個問題的原因很多,但主要跟網路有關。解決這個問題,首先檢查客戶端與服務端的網路是否暢通,如果網路連通,則檢查兩端的防火牆是否阻擋了連接。
4、 ORA-12154: TNS: 無法處理服務名
檢 查輸入的服務名與配置的服務名是否一致。另外注意生成的本地服務名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每項服務的首 行服務名稱前不能有空格。
5、 ORA-12514: TNS: 監聽進程不能解析在連接描述符中給出的 SERVICE_NAME
打開Net Manager,選中服務名稱,檢查服務標識欄里的服務名輸入是否正確。該服務名必須與伺服器端監聽器配置的全局資料庫名一致。
6、 Windows下啟動監聽服務提示找不到路徑
用 命令或在服務窗口中啟動監聽提示找不到路徑,或監聽服務啟動異常。打開注冊表,進入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener項,查看ImagePath字元串項是否存在,如果沒 有,設定值為D:oracleora92BINTNSLSNR,不同的安裝路徑設定值做相應的更改。這種方法同樣適用於Oracle實例服務,同 上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE項,查看ImagePath字元串項是否存在,如果沒有,則新建,設定值為d:oracleora92 binORACLE.EXE MYORACLE。
❹ spring監聽器怎麼用
系統啟動的時候,系統自動載入org.springframework.web.context.ContextLoaderListener這個類,然後由它負責創建Spring容器即WebApplicationContext,系統會把bean放在其中,一般情況下,創建完成後,負責IOC操作,你不需要獲取它,如果非要在程序中調用它,可以通過WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);來獲取這個容器。
❺ Java,設置監聽器,打開一個窗口,窗口中有個按鈕,怎樣在這按鈕中再設置個監聽器,打開另一個窗口
你要打開的窗口裡有按鈕,總得要代碼那按鈕放到窗口上,那個時候設置監聽不就好了。
❻ JAVA程序如何加入監聽器
1、如果你的是純java的應用,那麼可以通過給事件增加一個事件監聽器的方式來加入相應的監聽器
2、如果你寫的是Web應用的java程序,那麼你可以去通過去實現一個servlet的監聽器介面來實現自己的監聽器,在寫完自己的監聽器之後,你還要把監聽器配置到你的web.xml文件中,這事在伺服器載入你的web應用項目的時候,就會自動的載入該監聽器從而進行相應的初始化操作了。
❼ 如何為Oracle配置多個監聽器
在安裝Oracle時,系統已經自動創建了一個名為LISTENER的監聽器(使用1521埠),我們也可以再為伺服器添加其他的監聽器,如使用1522埠創建一個監聽器名為LISTENERNEW,但是如果使用NET 配置助手創建完成後,如果直接添加客戶端服務名,用1522埠連接測試總是不能成功!
解決方法:
一:在NET MANAGER工具中,選中LISTENERNEW監聽器,然後在其右側的下拉列表中選擇「資料庫服務」,相應地修改全局資料庫名和SID名稱,並輸入正確的主目錄地址(如E:\oracle\proct\10.2.0\db_1)
二:修改參數文件:
在$ORACLE_HOME/NETWORK/ADMIN,編輯lisenter.ora文件,增加如下內容:
SID_LIST_LISTENERNEW =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = d:\oracle\proct\10.2.0\db_1)
(GLOBAL_DBNAME = ORCL)
)
)
❽ 在java中如何配置監聽器,使瀏覽器關閉,立即觸發相關方法事件
判斷瀏覽器是否關閉,此功能Java做不到,只能用JavaScript來彌補。
window.close()
window.closed
或者在訪問過程的某一個點做此處理。
------------->
伺服器端程序無法直接控制瀏覽器。
lz死鑽ssh也沒有用。
❾ java怎麼個監聽器設置監聽時間,比如說按一個鍵就是隔開多少時間才會監聽一次
Java自帶的java.util.Timer類,通過調度一個java.util.TimerTask任務。這種方式可以讓程序按照某一個頻度執行。
具體用法請自行網路,詳細資料很多