Re: help in jdbc/jndi/java class
"Manoj Jain" <Manoj.S.J@gmail.com> said:
i've created some simple java beans, when i do log in, i forward it to
servlet where i create LoginDTO object from username and password. in
the same class i validate the username and password with the system.
but it returns null value to connection object.
....
Database class is meant for database operations like connection,
disconnection, insert/validation/deletion.
Be careful that you don't make the database handling a congestion point
in your application (may happen, if you just create a single Database
object during servlet init, and then access that single object from
all the different threads of execution).
public static void connect()
{
try
{
ic= new InitialContext();
DataSource
ds=(DataSource)ic.lookup("jdbc/proformaInvoice");
conn=ds.getConnection();
System.out.println("Hello World"); //to check whether
it comes to this line or not.
}
catch(SQLException se){}
catch(NamingException ne){}
}
jdbc/proformaInvoice is configured in Java AppServer 9 as jndi name to
derby driver and database name. in App server there is ping facility
that checks whether the configuration done is correct or not, and in my
database, it is pinging, but still it gives null to connection.
Well, in the above you're explicitly throwing away any exception
information you may be getting. At least print out the exception stacks
in the catch {} blocks.
Is it because of i'm using datasource in java class context? Do i've
to use normal Class.forName() way to load drivers in memory?
When you're getting the connection references via JNDI, you must not
explicitly load the database classes yourself. Pretty big part of the
reason to use the JNDI abstraction is to allow you to write code that
is independent of the database implementation you use - and thus, loading
a specific implementation code in your own application code is a big no-no.
--
Wolf a.k.a. Juha Laiho Espoo, Finland
(GC 3.0) GIT d- s+: a C++ ULSH++++$ P++@ L+++ E- W+$@ N++ !K w !O !M V
PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h---- r+++ y++++
"...cancel my subscription to the resurrection!" (Jim Morrison)