配置jndi服務,javax.naming.NamingException的四種情況


1.當jndi服務沒有啟動,或者jndi服務的屬性沒有設置正確,拋出如下異常: javax.naming.CommunicationException: Can't find SerialContextProvider...
2.如果InitialContext class既沒有為jndi服務提供者指出默認屬性也沒有明確指明屬性,拋出如下異常: javax.naming.NoInitialContextException:Need to specify class name in enenvironment or system property,or as an appletparameter, or in an application resource file: java.naming java.naming.factory.initial
3.如果jndi程序的classpath沒有包括jndi server class,拋出如下異常: javax.naming.NoInitialContextException: Cannot instantiate class: XXX [Root exception is java.lang.ClassNotFoundException: XXX]
4.jndi屬性與jndi服務提供者不匹配,拋出如下異常: javax.naming.ServiceUnavailableException: Connection refused: no further information [Root exception is java.net.ConnectionException: Connection refused:no further information]

 

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
     Context jndiContext = new InitialContext();
      String jndiName = "java:/" + user.toLowerCase();
      ds = (DataSource)jndiContext.lookup(jndiName);
      con = ds.getConnection();
      Connection localConnection = con;
      return localConnection;
  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM