Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 TomCat соединение с БД через @Resource(name = "dataSource")  [new]
Alabelka
Member

Откуда:
Сообщений: 38
Здравствуйте, прошу помощи.
У меня был проект и развертывался он на GlassFish (в NetBeans) - давно.
Мне надо его перенести в Ideа (с этим я справилась), но и развертывать его на TOM CAT (это работает), но вот дело каснулось связи с БД. И тут засада (соединение, если что рабочее я создала).
Как мне сделать Resource файл для ТомКата, для того что бы он поддерживался нижепредставленный код?
Или можно создать какой-то класс-соединение и к нему уже обращаться? Но какой аннотацией его отмечать???
Помогите,пожалуйста...

package bean;

import javax.ejb.Stateful;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.sql.DataSource;

import dto.PechDTO;
import org.apache.log4j.Logger;


@Stateful
public class AuthorizationBean {
    @Resource(name = "dataSource")           //  а именно вот это обращение к соединению к БД
    private DataSource dataSource;
    private static final Logger logger = Logger.getLogger( AuthorizationBean.class);
    public List<PechDTO> SeachUserID(String parameter1, String parameter2) {
        Connection conn = null;
        PreparedStatement psta = null;
        List<PechDTO> respuesta = new ArrayList<PechDTO>();
        try {
            conn = dataSource.getConnection();
            psta = conn.prepareStatement(PechDTO.getSelectUserIdAuthorization());
            psta.setString(1,"%"+parameter1+"%");
            psta.setString(2,"%"+parameter2+"%");
            ResultSet rset = psta.executeQuery();
            while (rset.next()) {
                PechDTO user = new PechDTO();
                Integer user_id = rset.getInt("USER_ID");
                user.setUser_id(user_id);
                respuesta.add(user);
            }
            rset.close();
            psta.close();
        }
        catch(Exception e) { logger.error("Error, пользователь не найден ", e);}
        finally {
            try {
                if (conn != null) { conn.close(); }
            }
            catch (Exception ex) {
                logger.error("Error соединения с БД !!!", ex);}
        }
        return  respuesta;
    }
}


Это само соединение.

public static DataSource getDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setUrl("jdbc:mysql://localhost:3306/mydb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC");
dataSource.setUsername("root");
dataSource.setPassword("root");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
return dataSource;
}


Как я поняла в ГлазФиш был xml такого вида
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
    <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="oracle.jdbc.pool.OracleDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="oracle-thin_orcl12_eleavdPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
        <property name="serverName" value="oraclebi.avalon.ru"/>
        <property name="portNumber" value="1521"/>
        <property name="databaseName" value="orcl12"/>
        <property name="User" value="eleavd"/>
        <property name="Password" value="eleavd"/>
        <property name="URL" value="jdbc:oracle:thin:@oraclebi.avalon.ru:1521:orcl12"/>
        <property name="driverClass" value="oracle.jdbc.OracleDriver"/>
    </jdbc-connection-pool>
    <jdbc-resource enabled="true" jndi-name="java:app/dataSource" object-type="user" pool-name="oracle-thin_orcl12_eleavdPool"/>
</resources>
18 фев 19, 19:32    [21813651]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить