2013-05-29 2 views
0

У меня было приложение, работающее с JSF, и я вручную открыл соединение, но теперь мне нужно его изменить и открыть все соединения из источника данных, поэтому у меня есть .xml-файл в каталог (Jboss 7)NameNotFoundException при открытии соединения из Datasource, JNDI

<?xml version="1.0" encoding="UTF-8"?> 
<datasources xmlns="http://www.jboss.org/ironjacamar/schema"> 
    <datasource 
     jndi-name="java:jboss/datasources/MyForum" 
     enabled="true" 
     use-java-context="true" 
     pool-name="MyForum"> 
      <connection-url>jdbc:hsqldb:hsql://localhost</connection-url> 
      <driver>hsqldb.jar</driver> 
      <pool></pool> 
      <security> 
       <user-name>sa</user-name> 
       <password></password> 
      </security> 
    </datasource> 
</datasources> 

Тогда у меня есть код, чтобы Acces имя JNDI в классе «JdbcHelper»

public Connection createConnection() { 

    try { 
     String jndiKey = getProperty("JNDI_DATASOURCE"); 

     Context ctx = new InitialContext(); 
     DataSource ds = (DataSource) ctx.lookup(jndiKey); 
     return ds.getConnection(); 

    } catch (NamingException e) { 
     throw new RuntimeException("Can't open JDBC conection from JNDI", e); 
    } catch (SQLException e) { 
     throw new RuntimeException("Can't open JDBC conection", e); 
    } 
} 

линия, которая запускает исключение это один DataSource ds = (DataSource) ctx.lookup(jndiKey); я не знайте, нужна ли вам дополнительная информация, но если вам нужно так же, как и к, я действительно нужно сделать это, и я не могу найти решение :(

Update, вот деталь-сообщение исключения

datasources/MyForum -- service jboss.naming.context.java.jboss.datasources.MyForum 

Спасибо вам так много заранее. :)

+0

Убедитесь, что ваш сервер JBoss начинается без предупреждения/ошибки. Затем отмените свое приложение и проверьте, что значение 'jndiKey' -' java: jboss/datasources/MyForum'. – eternay

+0

Alredy сделал, и да, значение кажется правильным. Я обновил подробное сообщение об исключении, возможно, это поможет вам понять, что не так. Спасибо вам все равно – Santanor

ответ

0

Я предполагаю, что вы не инициализации InitialContext правильно, возможно, поможет вам: Creating initial Context in JBoss AS 7.1.1

+0

Вот что я думал, потому что, когда я его дебютировал, я видел так много «нулей». Теперь я привожу обед, я проверю его позже: D Спасибо! : 3 – Santanor

Смежные вопросы