Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> c3p0 как использовать пул 
:(
    Опции темы
Christoph
Дата 16.8.2010, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



Создаю пул с помощью c3p0
 
Код

ComboPooledDataSource cpds = new ComboPooledDataSource();
            cpds.setDriverClass("com.mysql.jdbc.Driver"); //loads the jdbc driver
            cpds.setJdbcUrl("jdbc:mysql://localhost/usersl");
            cpds.setUser("root");
            cpds.setPassword("admin");


но как получить этот пул в любом месте веб приложения?
документацию читал, но не мог найти ответ на этот вопрос


--------------------
user posted image
PM MAIL ICQ   Вверх
eros2
Дата 16.8.2010, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 31.5.2010

Репутация: нет
Всего: нет



Веб-приложение? Значит оно работает внутри  сервера приложений? И разве у этого сервера нет своего пула?
PM MAIL WWW   Вверх
Christoph
Дата 16.8.2010, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



у томката есть пул? я хочу свой пул создать


--------------------
user posted image
PM MAIL ICQ   Вверх
Skipy
Дата 16.8.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 2
Всего: 16





--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
Christoph
Дата 16.8.2010, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



Sun не рекомендует использовать пул из томката, не хочу даже вникать в подробности, а лучше помогите разобраться с c3p0


--------------------
user posted image
PM MAIL ICQ   Вверх
eros2
Дата 16.8.2010, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 31.5.2010

Репутация: нет
Всего: нет



Цитата(Christoph @ 16.8.2010,  18:18)
Sun не рекомендует использовать пул из томката, не хочу даже вникать в подробности, а лучше помогите разобраться с c3p0

Гыгыгы.
Пруфлинк?


PS: я погуглил c3po tomcat и гугл внезапно выдал кучу инфы по конфигурению c3po в томкате. Вот, например - http://www.mchange.com/projects/c3p0/index...tomcat-specific

Однако, по моему скромному мнению, вы фигнёй занимаетесь. Томкат - это томкат, всё там работает как надо.

Это сообщение отредактировал(а) eros2 - 16.8.2010, 19:16
PM MAIL WWW   Вверх
Старовъръ
Дата 16.8.2010, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 1
Всего: 10



1. c3p0 - это не комерческий connection pool, его обычно используют только в личных целях, ибо надежность его не подтверждена, а в предыдущих версиях были явные баги.
2. Если хочешь настроить connection pool как ресурс в Томкате, то он будет доступен всему приложению через JNDI. Также он будет доступен и любому другому приложению под твоим веб сервером. По той ссылке, что skipy дал выше можешь найти как это делается, полагаю именно это ты и ищешь.
3. При правильной архитектуре всему приложению и не понадобиться пул, он будет нужен только на уровне DAO. Если использовать такие реализации Web MVC как Spring MVC, JSF, Struts, то в них можно будет обойтись без JNDI, - обычным IoC.
PM MAIL WWW   Вверх
Christoph
Дата 16.8.2010, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



Цитата(eros2 @ 16.8.2010,  19:10)
Цитата(Christoph @ 16.8.2010,  18:18)
Sun не рекомендует использовать пул из томката, не хочу даже вникать в подробности, а лучше помогите разобраться с c3p0

Гыгыгы.
Пруфлинк?


PS: я погуглил c3po tomcat и гугл внезапно выдал кучу инфы по конфигурению c3po в томкате. Вот, например - http://www.mchange.com/projects/c3p0/index...tomcat-specific

Однако, по моему скромному мнению, вы фигнёй занимаетесь. Томкат - это томкат, всё там работает как надо.

в ссылке которой ты дал пишут вот что
You can easily configure Apache's Tomcat web application server to use c3p0 pooled DataSources. Below is a Tomcat 5.0 sample config to get you started. It's a fragment of Tomcat's conf/server.xml file, which should be modified to suit and placed inside a <Context> element. 
У меня томкат6 и в файле server.xml нету элемента <Context> зато есть файл context.xml, как сделать, создать элемент в server.xml или же настройки кидать в Context.xml ? спасибо


--------------------
user posted image
PM MAIL ICQ   Вверх
eros2
Дата 16.8.2010, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 31.5.2010

Репутация: нет
Всего: нет



Смотрите ниже, для томкат 5.5.
PM MAIL WWW   Вверх
Christoph
Дата 17.8.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



Сделал все как было написано

Мое приложение использует стратс2

server.xml
Код

 <Resource auth="Container" 
  description="DB Connection" 
  driverClass="com.mysql.jdbc.Driver" 
  maxPoolSize="4" 
  minPoolSize="2" 
  acquireIncrement="1" 
  name="newDS" 
  user="admin" 
  password="root" 
  factory="org.apache.commons.dbcp.BasicDataSourceFactory" 
  type="javax.sql.DataSource" 
  jdbcUrl="jdbc:mysql://localhost/usersl" /> 


web.xml
Код

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



ea.SimpleAction сам мой экшен
Код


public class SimpleAction extends ActionSupport implements SessionAware {
      private static final String DATASOURCE_NAME ="newDB";
      private static DataSource ds = null;
      private String login;
      private String password;
      private String mess;

    static {

        Context initContext = null;
        try {             
            initContext = new InitialContext();
            Context envContext = null;
            ds = (DataSource) envContext.lookup(DATASOURCE_NAME);
        } catch (Exception e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

    }

    public static Connection getConnection() throws SQLException{
       Connection conn = ds.getConnection();
       return conn;
     }

 public String execute() throws SQLException {
       Connection connect= SimpleAction.getConnection();
        Statement st = connect.createStatement();
        ResultSet rs = st.executeQuery("select* from users");
          setMess(rs.getString(1));
        return SUCCESS;


Не могу понять как пул использовать из любого места приложения
в этих строчка выбивает ошибку 

Код

ds = (DataSource) envContext.lookup(DATASOURCE_NAME);
Connection connect= SimpleAction.getConnection();


Код

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
    ea.SimpleAction.getConnection(SimpleAction.java:41)
    ea.SimpleAction.execute(SimpleAction.java:83)



скорей всего я не правильно получаю ресурс :( подскажите как сделать правильно


--------------------
user posted image
PM MAIL ICQ   Вверх
Tony
  Дата 17.8.2010, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Christoph

   Привет, откорй для себя singleton паттерн. 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Christoph
Дата 17.8.2010, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



Хочу все же через ресурс томката попробовать 


--------------------
user posted image
PM MAIL ICQ   Вверх
Старовъръ
Дата 17.8.2010, 21:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 1
Всего: 10



Christoph, закрой для себя Singleton если случайно открыл - это суть зло =)
А также: 
Код

DATASOURCE_NAME=java:comp/newDB


Добавлено через 51 секунду
PS: разве у стратса нет IoC?
PM MAIL WWW   Вверх
Christoph
Дата 17.8.2010, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: нет
Всего: 11



во втором стратсе нет

Добавлено через 7 минут и 14 секунд
java.lang.NullPointerException
    ea.SimpleAction.getConnection(SimpleAction.java:40)
    ea.SimpleAction.execute(SimpleAction.java:82)


Код

 Connection conn = ds.getConnection();


на этом месте выдает ошибку 


--------------------
user posted image
PM MAIL ICQ   Вверх
Vasay
Дата 17.8.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата(Christoph @  17.8.2010,  23:11 Найти цитируемый пост)
во втором стратсе нет 


struts 2 умеет использова IoC Spring-а


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1030 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.