[問題] JNDI方面的奇怪問題
最近剛好有需求 需要在一個程式裡用到local的JNDI跟遠端的JNDI
local端用到的是最平常的JNDI Datasource, 叫他程式A好了
程式是類似下面這樣簡單的連接資料來源:
Context cntxt = new InitialContext();
DataSource ds = (DataSource) cntxt.lookup("jdbc/dpt");
抓取遠端的則是照oracle上面寫的(http://ppt.cc/GirK)方法, 叫他程式B:
Hashtable h = new Hashtable();
h.put(Context.SECURITY_PRINCIPAL, username);
h.put(Context.SECURITY_CREDENTIALS, password);
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"weblogic.management.remote");
h.put("jmx.remote.x.request.waiting.timeout", new Long(10000));
connector = JMXConnectorFactory.connect(serviceURL, h);
connection = connector.getMBeanServerConnection();
A, B 這兩支程式分開跑都沒問題, 可是當我把他們合在一起跑時,
如果用 A B A' 的順序, A'就掛了, 會顯示 SecurityException [Security:090398]
google過後看起來好像都不是我的狀況,
目前猜測似乎是程式B汙染了Context?
因為把
connector = JMXConnectorFactory.connect(serviceURL, h);
註解掉後就不會有問題
不知道有沒有人有碰過同樣的問題, 或有什麼想法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.122.191
→
03/18 11:36, , 1F
03/18 11:36, 1F
→
03/18 11:38, , 2F
03/18 11:38, 2F