Мне нужно подключение к базе данных в веб-службе Java, реализованной как сеансовый компонент, и я не уверен, правильно ли я это делаю.
я создал класс
public final class SQLUtils {
//.....
private static DataSource m_ds=null;
static
{
try
{
InitialContext ic = new InitialContext();
m_ds = (DataSource) ic.lookup(dbName); //Connection pool and jdbc resource previously created in Glassfish , dbName contains the proper JNDI resource name
}
catch (Exception e)
{
e.printStackTrace();
m_ds = null;
}
}
public static Connection getSQLConnection() throws SQLException
{
return m_ds.getConnection();
}
}
Всякий раз, когда мне нужна связь, я
Connection cn = null;
try
{
cn = SQLUtils.getSQLConnection();
// use connection
}
finally
{
if (null != cn)
{
try
{
cn.close();
}
catch (SQLException e)
{
}
}
}
Можно ли использовать его таким образом, или я DataSource должен быть членом bean-компонента?
@Stateless
@WebService
public class TestBean {
private @Resource(name=dbName) DataSource m_ds;
}
Извините, если это пустой вопрос, но я новичок в Java. Заранее спасибо.