作者tianman (天满)
看板java
标题[问题] JNDI方面的奇怪问题
时间Sat Mar 16 12:07:35 2013
最近刚好有需求 需要在一个程式里用到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
1F:→ tianman:问题似乎初在用完B後要把帐密改回来 03/18 11:36
2F:→ tianman:(SECURITY_PRINCIPAL, SECURITY_CREDENTIALS) 03/18 11:38