Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Jndi


Автор: fics 23.3.2008, 16:54
Где можно посмотреть на пример такого приложения, скиньте ссылочку если не тяжело, и желательно с описанием может кто видел, будьте так добры

Автор: tux 23.3.2008, 17:18
Приложение jpetstore из поставки Spring Framework именно так работает. Здесь можно посмотреть как настроить веб-контейнер и получить источник данных - http://dev.mysql.com/tech-resources/articles/connection_pooling_with_connectorj.html.

Автор: fics 23.3.2008, 17:30
А вот это не страшно:

By Mark Matthews
May 29, 2003

Может это уже по старому? Там нету кстати примера для конфигурационного файла для Resin-a, а мне нужен именно он

Автор: tux 23.3.2008, 17:56
Цитата(fics @  23.3.2008,  17:30 Найти цитируемый пост)
А вот это не страшно:

Не страшно.

Цитата(fics @  23.3.2008,  17:30 Найти цитируемый пост)
Там нету кстати примера для конфигурационного файла для Resin-a, а мне нужен именно он 

http://caucho.com/resin/doc/config-database.xtp

Автор: fics 23.3.2008, 18:47
а какой должен быть <web-app xmlns="http://caucho.com/ns/resin"> этот что не какит

Автор: fics 23.3.2008, 19:31
Цитата(fics @  23.3.2008,  18:47 Найти цитируемый пост)
а какой должен быть <web-app xmlns="http://caucho.com/ns/resin"> этот что не какит 

Ну игнорировать то это можно?

И как теперь проверить был коннект или нет

resin-web.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://caucho.com/ns/resin">
  <database>
    <jndi-name>jdbc/mysql</jndi-name>
   <driver>  
     <type>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</type>
     <url>jdbc:mysql://localhost/test</url>
     <user>root</user>
     <password></password>
   </driver>

   <ping>true</ping>
   <ping-table>clients</ping-table>  
 </database>

Контейнер должен же сам вызвать коннект?

</web-app>

 

Автор: fics 23.3.2008, 21:50
Объясните куда это "куда это мы смотрим" через контекст
Код

 DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MySQLDB");

Автор: tux 23.3.2008, 22:07
Цитата(fics @  23.3.2008,  21:50 Найти цитируемый пост)
Объясните куда это "куда это мы смотрим" через контекст

http://vingrad.ru/JAVA-ART-003008

Автор: fics 23.3.2008, 23:03
Ну подскажите что неправильно

javax.naming.NameNotFoundException: java:comp/env/jdbc/test


Код

package mypackage;


import javax.naming.InitialContext;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.sql.DataSource; 
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

public class UpdateData{
    public void UpdateClients(PageContext context) throws Exception {
         InitialContext ctx = new InitialContext();

        DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/test");
        Connection conn = null;
        Statement stmt = null;

        try {
             conn = ds.getConnection();
             stmt = conn.createStatement();
             stmt.executeUpdate("insert into clients values(1,'first','last','Lugansk')");
             stmt.close();
             conn.close();

            }catch(SQLException e){
            JspWriter out = context.getOut();
            out.println("Ничего не добавили");
        }
    }
}


resin-web.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://caucho.com/ns/resin">
  <database>
    <jndi-name>test</jndi-name>
   <driver>  
     <type>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</type>
     <url>jdbc:mysql://localhost/test</url>
     <user>root</user>
     <password></password>
   </driver>

   <ping>true</ping>
   <ping-table>clients</ping-table>  
 </database>

</web-app>



Автор: tux 23.3.2008, 23:28
Попробуй либо в web.xml описать ссылку на узел в JNDI примерно так:
Код

<resource-ref>
  <res-ref-name>jdbc/test</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

либо поискать не 'java:comp/env/jdbc/test', а 'jdbc/test' или 'test'. 

А еще лучше смотри в документацию к Resin, я понятия не имею как у него все устроено.

Автор: fics 24.3.2008, 10:33
Спасибо ва tux, английский нужно тянуть до нормального уровня что бы больше читать, а меньше спрашивать

Автор: Kangaroo 24.3.2008, 10:40
Цитата(fics @  24.3.2008,  09:33 Найти цитируемый пост)
Спасибо ва tux, английский нужно тянуть до нормального уровня что бы больше читать, а меньше спрашивать

А чем тебе так Resin понравился? Я думаю на Томкет больше доков, туториалов и примеров - легче будут разобраться.

Автор: fics 24.3.2008, 10:43
На Ресине одна фирма хорошая работает в нашем городе, вот и учу, хочу работать ))) 

Автор: Kangaroo 24.3.2008, 10:52
Цитата(fics @  24.3.2008,  09:43 Найти цитируемый пост)
На Ресине одна фирма хорошая работает в нашем городе, вот и учу, хочу работать )))  

 smile 
Уговорил  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)