java - What is the proper way to create a datasource in a spring web application? -
i have 2 ways create datasource:
inside spring context
<bean id="datasource" class="org.springframework.jdbc.datasource.drivermanagerdatasource"> <property name="driverclassname" value="com.mysql.jdbc.driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mkyongjava" /> <property name="username" value="root" /> <property name="password" value="password" />tomcat jndi
<bean id="datasource" class="org.springframework.jndi.jndiobjectfactorybean"> <property name="jndiname" value="java:comp/env/jdbc/usersdb"/> what benefits , problems of creating datasource using spring or using tomcat jndi ?
there nothing practice among this. 1 one use case. both have pros , cons.
when u have use cases u trying deploy apps on server environment multiple apps share common datasource or datasource components managed server administration best way use through jndi context. server has datasource kept ready application can directly object, bind , use datasource.
when u have use case application runs inside embedded server container or cloud containers server embedded along build packs creating datasource in application , using them solution. in non web application environments creating datasource good.
to summarize, use cases datasource non managed application better go jndi context.
try figure out deployment model of application , figure out u. try use datasourcepool implementations improve performance dbcp, c3p0 or hikarcp.
Comments
Post a Comment