oracle+tns+01106,TNS-01106:Listener using listener name already been started

最近在做HACMP雙機互備切換測試的時候,發現一個問題:

A節點的listener端口為1521 ,B節點的listener端口為1522,為什么兩個節點的監聽要用不同的端口號?

當時AB機使用不同端口是基于如下考慮:

HACMP的切換數據庫的過程中,希望同時控制監聽的啟動和停止,如果兩個數據庫使用同一個監聽,考慮如下情況

監聽在A機和B都正常運行在1521

A機故障,db1切換到B機,先關閉A機的監聽,文件系統切換到B機,db1在B機啟動,啟動監聽,提示端口已被占用,可以忽略,因為A的實例會動態注冊到可用的listener中去。

A機修復,db1會優先切換回A機,如果腳本中這時關閉B機監聽,雖然不會影響B機已經連接的客戶端,但是如果B機有新客戶端連接,將不能連接到B機的數據庫。

問題:為什么在一個節點上不能同時起兩個同一端口的listener呢?(這個問題困惑我好久了,就連做夢都在問為什么?)

回答:其實不光是不能同時起動端口相同的listener,在listener.ora文件中,同一個KEY值的listener也是不可以同時啟動的,就類似于是listener的唯一標識。即IPC addresses(KEY) or TCP port numbers are not duplicated.

在考慮這個問題的過程中,做了一些有關listener的實驗,在這里與大家分享

1. 一個端口的listener可以注冊多個實例

(備注:這個當然了,比如我們在一個節點上安裝多個實例)

e.g.

LSNRCTL> status

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1521)))

LISTENER 的 STATUS

------------------------

別名????????????????????? LISTENER

版本????????????????????? TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

tion

啟動日期????????????????? 08-6月 -2009 09:17:22

正常運行時間????????????? 4 天 0 小時 25 分 6 秒

跟蹤級別????????????????? off

安全性??????????????????? OFF

SNMP????????????????????? OFF

監聽器參數文件????????? d:\oracle\network\admin\listener.ora

監聽器日志文件????????? d:\oracle\network\log\listener.log

監聽端點概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.15.99)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=8080))(Presentation=HTTP)

(Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=2100))(Presentation=FTP)(

Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=8080))(Presentation=HTTP)

(Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=2100))(Presentation=FTP)(

Session=RAW))

服務摘要..

服務 "PLSExtProc" 包含 1 個例程。

例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...

服務 "leiz" 包含 2 個例程。/*實例LEIZ*/

例程 "leiz", 狀態 UNKNOWN, 包含此服務的 1 個處理程序.../*靜態注冊*/

例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程序.../*動態注冊*/

服務 "leiz2" 包含 2 個例程。/*實例LEIZ2*/

例程 "leiz2", 狀態 UNKNOWN, 包含此服務的 1 個處理程序.../*靜態注冊*/

例程 "leiz2", 狀態 READY, 包含此服務的 1 個處理程序.../*動態注冊*/?? 服務 "leiz2XDB" 包含 1 個例程。

例程 "leiz2", 狀態 READY, 包含此服務的 1 個處理程序...

服務 "leizXDB" 包含 1 個例程。

例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程序...

命令執行成功

2. 一個實例可以同時注冊到多個不同端口的listener去

(備注:這個也沒問題,比如一個實例注冊到多個不同端口的listener中)

e.g.

LSNRCTL> status listener?? 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1521)))

LISTENER 的 STATUS

------------------------

別名????????????????????? LISTENER?? 版本????????????????????? TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

tion

啟動日期????????????????? 08-6月 -2009 09:17:22

正常運行時間????????????? 4 天 0 小時 13 分 14 秒

跟蹤級別????????????????? off

安全性??????????????????? OFF

SNMP????????????????????? OFF

監聽器參數文件????????? d:\oracle\network\admin\listener.ora

監聽器日志文件????????? d:\oracle\network\log\listener.log

監聽端點概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.15.99)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=8080))(Presentation=HTTP)

(Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=2100))(Presentation=FTP)(

Session=RAW))

服務摘要..

服務 "PLSExtProc" 包含 1 個例程。

例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...

服務 "leiz" 包含 2 個例程。

例程 "leiz", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...

例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程序...?? 服務 "leizXDB" 包含 1 個例程。

例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程序...

命令執行成功

LSNRCTL> status listener3?? 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1522)))

LISTENER 的 STATUS

------------------------

別名????????????????????? LISTENER3?? 版本????????????????????? TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

tion

啟動日期????????????????? 08-6月 -2009 09:17:22

正常運行時間????????????? 4 天 0 小時 25 分 32 秒

跟蹤級別????????????????? off

安全性??????????????????? OFF

SNMP????????????????????? OFF

監聽器參數文件????????? d:\oracle\network\admin\listener.ora

監聽器日志文件????????? d:\oracle\network\log\listener3.log

監聽端點概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.15.99)(PORT=1522)))

服務摘要..

服務 "PLSExtProc" 包含 1 個例程。

例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...

服務 "leiz" 包含 1 個例程。

例程 "leiz", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...?? 命令執行成功

3. 一個節點不可以同時啟動同樣 IPC keys 或者同樣 listener port number的listener

即Verify IPC addresses or TCP port numbers are not duplicated

a. 一個節點可以啟動多個不同端口的listener?? e.g.

[oracle@rac1 admin]$ more listener.ora

LISTENER_1522 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

)

)

LISTENER_1521 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1521))

)

)

SID_LIST_LISTENER_1522 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = devdb1)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

)

)?????? 一個節點可以啟動多個不同端口的listener

LSNRCTL> start listener_1521

LSNRCTL> start listener_1522

LSNRCTL> status listener_1521?????????? Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias????????????????????listener_1521?????????? Version?????????????????? TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date??????????????? 17-JUN-2009 21:41:39

Uptime??????????????????? 0 days 0 hr. 1 min. 0 sec

Trace Level?????????????? off

Security????????????????? ON: Local OS Authentication

SNMP????????????????????? OFF

Listener Parameter File?? /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File???????? /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1521)))

Services Summary...

Service "+ASM" has 1 instance(s).

Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

Service "+ASM_XPT" has 1 instance(s).

Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

Service "devdb" has 1 instance(s).

Instance "devdb1", status READY, has 1 handler(s) for this service...

Service "devdbXDB" has 1 instance(s).

Instance "devdb1", status READY, has 1 handler(s) for this service...

Service "devdb_XPT" has 1 instance(s).

Instance "devdb1", status READY, has 1 handler(s) for this service...

The command completed successfully

LSNRCTL> status listener_1522?????????? Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

STATUS of the LISTENER

------------------------

Alias???????????????????? listener_1522?????????? Version?????????????????? TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date??????????????? 17-JUN-2009 21:41:48

Uptime??????????????????? 0 days 0 hr. 0 min. 55 sec

Trace Level?????????????? off

Security????????????????? ON: Local OS Authentication

SNMP????????????????????? OFF

Listener Parameter File?? /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File???????? /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1522.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "devdb1" has 1 instance(s).

Instance "devdb1", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

LSNRCTL> stop listener_1521

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1521)))

The command completed successfully

LSNRCTL> stop listener_1522

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

The command completed successfully

b. 一個節點不可以同時啟動同樣 listener port number的listener??????????e.g.

[oracle@rac1 admin]$ more listener.ora

LISTENER_1522 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

)

)

LISTENER_1521 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

)

)

SID_LIST_LISTENER_1522 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = devdb1)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

)

)???????????? 一個節點不可以同時啟動同樣 listener port number的listener

LSNRCTL> start listener_1521???????????? Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

STATUS of the LISTENER

------------------------

Alias???????????????????? listener_1521

Version?????????????????? TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date??????????????? 17-JUN-2009 21:46:12

Uptime??????????????????? 0 days 0 hr. 0 min. 0 sec

Trace Level?????????????? off

Security????????????????? ON: Local OS Authentication

SNMP????????????????????? OFF

Listener Parameter File?? /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File???????? /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

The listener supports no services

The command completed successfully

LSNRCTL> start listener_1522???????????? TNS-01106: Listener using listener name listener_1521 has already been started

c.一個節點不可以同時啟動同樣 IPC keys 的listener???????????? e.g.

[oracle@rac1 admin]$ more listener.ora

LISTENER_1522 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

LISTENER_1521 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

SID_LIST_LISTENER_1522 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = devdb1)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

)

)???????????? 一個節點不可以同時啟動同樣 IPC keys 的listener

LSNRCTL> start listener_1522???????????? Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1522.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

STATUS of the LISTENER

------------------------

Alias???????????????????? listener_1522

Version?????????????????? TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date??????????????? 17-JUN-2009 22:09:40

Uptime??????????????????? 0 days 0 hr. 0 min. 0 sec

Trace Level?????????????? off

Security????????????????? ON: Local OS Authentication

SNMP????????????????????? OFF

Listener Parameter File?? /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File???????? /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1522.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "devdb1" has 1 instance(s).

Instance "devdb1", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

LSNRCTL> start listener_1521???????????? Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1521)))

Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))

TNS-12542: TNS:address already in use

TNS-12560: TNS:protocol adapter error

TNS-00512: Address already in use

Linux Error: 98: Address already in use

Listener failed to start. See the error message(s) above...

Symptoms

There are two or more oracle instances in two seperate oracle homes. Both listeners need to run concurrently. When starting a second listener, a TNS-01106 "Listener using listener name %s has already been started" error is received.

Cause

A second listener process attempted to start with the same IPC key, port address as that of an listener already running.

Solution

Verify IPC addresses or TCP port numbers are not duplicated

#listener.ora file for the first listener

LISTENER =

(ADDRESS_LIST =

(ADDRESS= (PROTOCOL= IPC)(KEY= ORCL))

(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))

(ADDRESS= (PROTOCOL= TCP)(Host= jumbo)(Port= 1521))

)

#listener.ora file for the second listener

LISTENER =

(ADDRESS_LIST =

(ADDRESS= (PROTOCOL= IPC)(KEY= ORCL))

(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))

(ADDRESS= (PROTOCOL= TCP)(Host= jumbo)(Port= 1521))

)

The listener.ora file for the 2nd listener example must have different IPC keys from the first listener.ora file and the port number for the TCP address must be different between any other listener definitions.Implement the changes and restart the listeners

參考文獻:

1.Subject:? TNS-01106: "Listener using listener name %s has already been started"

Doc ID:? 102430.1 Type:? PROBLEM

Modified Date :? 22-JAN-2008 Status:? PUBLISHED

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371561.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371561.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371561.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Centos7 開機顯示 ERST: Failed to get Error Log Address Range” 導致無法開機解決方法

開機顯示 ERST: Failed to get Error Log Address Range” 導致無法開機,也無法重新安裝系統,解決方法:開機進入BIOS , 關閉ACPI選項即可正常開機 轉載于:https://www.cnblogs.com/zhangjianghua/p/6376811.html

Spring MVC 3模板和Apache Tiles

對于任何Web應用程序而言,有效的設計考慮因素是使用模板引擎(或工具),并且由于具有Spring的“可插拔”特性,因此集成模板機制(例如Apache Tiles)的確要容易得多。 在這篇簡單的文章中&#xff0…

hihocoder1543 SCI表示法

題意:任何一個數可以表示為連續整數相加,問這些連續整數的最大長度 題解:假設左右是l,r,那么(lr)*(l-r1)/2就是這段序列的和,枚舉2n的所有因子,找到最大的就可以了 我的做法是預處理前綴和,二分找到答案位置…

linux自動安裝Java環境腳本,Linux 自動添加JAVA環境腳本

Linux 自動添加JAVA環境腳本1. 刪除原有的JAVA環境變量配置### --------------delete old config -------------------- ###sed -i -e /JAVA_HOME/d -e /JRE/d /etc/profile刪除包含JAVA_HME 、JRE的行2. 加入現有的JAVA環境變量配置### -------------- add new config ----…

輾轉相除法的證明

輾轉相除法的證明設兩數為a、b(b<a),求它們最大公約數的步驟如下:用b除a,得a=bq+r(0≤r<b)(q是這個除法的商)。若r0,則b是a和b的最大公約數。若r≠…

linux查看有幾個終端命令,如何知道你在 Linux 里最常使用的幾個命令?

不知道大家自接觸 Linux 以來,都使用過哪些命令,其中最常用的命令是什么?我最常用的命令之一是 sudo ,因為我每天都在使用它在 Linux 上安裝、更新、刪除軟件包以及其它各種需要超級用戶權限的操作。那么你知道你自己最經常使用的…

使用JUnit的ExpectedException和@Rule測試自定義異常

異常測試 為什么要測試異常流? 就像所有代碼一樣,測試覆蓋率會在代碼和應該生成的業務功能之間寫一個合同,從而為您提供代碼的有效文檔 ,以及增加的盡早且經常強調功能的功能。 我不會介紹測試的許多好處,而是只關注異…

線程的工具類(Exchange)

public class Exchanger<V>extends Object 可以在對中對元素進行配對和交換的線程的同步點。每個線程將條目上的某個方法呈現給 exchange 方法&#xff0c;與伙伴線程進行匹配&#xff0c;并且在返回時接收其伙伴的對象。Exchanger 可能被視為 SynchronousQueue 的雙向形…

js 判斷瀏覽器是否64位

js判斷是否64位 瀏覽器 navigator.userAgent.match(/x64/i); 轉載于:https://www.cnblogs.com/fanlinglong/p/7298733.html

linux ss 軟件,linux ss 網絡狀態工具

ss是Socket Statistics的縮寫查看網絡狀態&#xff0c;經常用的命令&#xff1a; watch ss -lntss命令用于顯示socket狀態. 他可以顯示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等統計. 它比其他工具展示等多tcp和state信…

Lambda項目:邁向多核及超越

周一下午在JavaOne 2011的希爾頓舊金山大宴會廳B上做了“ Project Lambda&#xff1a;邁向多核和超越”&#xff08;會議27400&#xff0c;不要與Brian Goetz的同名演講相混淆&#xff09; 的演示 。大宴會廳關閉&#xff0c;這是一個非常大型的非主題演講場地&#xff0c;并且…

Python 06-字典

字典是一種key-value的數據類型&#xff0c;就像日常用的字典&#xff0c;通過字母或者筆畫來查找對應頁的詳細內容。 字典是無序的&#xff0c;沒有順序。因為有key。 info {stu1001:wang er,stu1002:zhang san,stu1003:li si } print(info)#打印字典所有kv print(info[stu10…

hashMap 源碼解讀理解實現原理和hash沖突

hashMap 怎么說呢。 我的理解是 外表是一個set 數組&#xff0c;無序不重復 。 每個set元素是一個bean &#xff0c;存著一對key value 看看代碼吧 package test;import java.util.HashMap; import java.util.Map.Entry;public class HashMaptest {public static void main(Str…

浙江大學linux網絡通信,浙江大學鐘財軍副教授——“Wireless Powered Communication Networks”...

2016年5月17日&#xff0c;浙江大學鐘財軍副教授應徐正元教授邀請在中科大西區科技實驗樓東樓十層1011會議室做了一場題為“Wireless Powered Communication Networks”的學術報告。報告會由龔晨教授主持&#xff0c;共50余名師生參加。此次報告會得到了“中科院無線光電通信重…

自定義Spring Data JPA存儲庫

Spring Data是一個非常方便的庫。 但是&#xff0c;由于該項目是一個相當新的項目&#xff0c;因此功能不佳。 默認情況下&#xff0c;Spring Data JPA將基于SimpleJpaRepository提供DAO的實現。 在最近的項目中&#xff0c;我開發了一個定制的存儲庫基類&#xff0c;以便可以在…

[基礎]PeopleSoft中的作業和調度作業集合定義

PeopleSoft進程調度器可以使一個或多個進程作為一個組。這個組在PeopleSoft中被稱為作業(Job)。 PeopleSoft進程被定義為單個任務&#xff0c;程序或例程&#xff0c;例如cobol程序或AE程序或客戶端運行的SQR。 作業由一個或多個相同或不同類型的進程組成&#xff0c;他們作為一…

體驗 WebFont,網頁上的藝術字

在最新項目中&#xff0c;由于要頻繁使用藝術字&#xff0c;而用戶設備沒有此字體&#xff0c;因此以往的經驗都是使用圖片...所以在同事的矚目期許之下&#xff0c;我開始實驗研究這個問題的解決方案1. 直接使用字體文件font-face {font-family: xxxx;src: url(../img/漢儀秀英…

linux文件分別打包命令,Linux文件打包命令

15.1 gzipgzip(1)是GNU的壓縮程序。它只對單個文件進行壓縮。基本用法如下&#xff1a;$ gzip filename程序執行以后&#xff0c;文件名會變成filename.gz&#xff0c;而且一般情況下大小會比原文件要小。注意&#xff0c;程序并不新建一個新的文件filename.gz,而是將filename變…

Play 2.0框架和XA交易

XA事務非常有用&#xff0c;而且開箱即用&#xff0c;今天的Play 2.0不支持它們。 在這里&#xff0c;我展示了如何添加該支持&#xff1a; 首先&#xff0c;介紹一些XA有用的示例&#xff1a; –如果您使用來自兩個不同persistence.xml的實體&#xff0c;則JPA使用兩個物理連…

java代碼注釋規范

java代碼注釋規范 一、規范存在的意義 應用編碼規范對于軟件本身和軟件開發人員而言尤為重要&#xff0c;有以下幾個原因&#xff1a;1、好的編碼規范可以盡可能的減少一個軟件的維護成本 , 并且幾乎沒有任何一個軟件&#xff0c;在其整個生命周期中&#xff0c;均由最初的開…