My application-datasource.xmls is below my problem is I don't want to provide the user name and password in this context file I want to get the username and password at the runtime when user logs in but I don't know how to do this.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schem...-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schem...ng-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<tx:annotation-driven />
<!-- DataSource has been Lazily initialized, set lazy-init to false in production -->
<bean id="datasource"
class="com.mchange.v2.c3p0.ComboPooledDataSource" lazy-init="true" destroy-method="close">
<!-- Tracker created for connection problem: https://sourceforge.net/tracker/?func=detail&aid=3176467&group_id=25357&atid=38369 0-->
<property name="driverClass" value="com.ibm.as400.access.AS400JDBCDriver" />
<property name="jdbcUrl" value="${url}" />
<!--<property name="user" value="${username}" />
<property name="password" value="${password}" />-->
<!-- Pool Size Properties follow -->
<property name="minPoolSize" value="0"/> <!-- Minimum no. of pooled connections -->
<property name="initialPoolSize" value="1" /> <!-- Initial no. of pooled connections (>minimum)[optional] -->
<property name="maxPoolSize" value="2"/> <!-- Maximum no. of pooled connections (>minimum) -->
<property name="acquireIncrement" value="1"/> <!-- Connections to be added every time the need arises -->
<!-- Connection Establishment Strategy follows -->
<property name="acquireRetryAttempts" value="5" /> <!-- Retry Attempts on Database connection failure -->
<property name="acquireRetryDelay" value="1000"/> <!-- Milliseconds between re-tries -->
<property name="breakAfterAcquireFailure" value="true" /> <!-- Aggressively break DataSource on connection failure -->
<!-- Prepared Statement pooling -->
<property name="maxStatements" value="300"/> <!-- Value ~= maxPoolSize * no. of (frequently used)stored procedures -->
<property name= "maxStatementsPerConnection" value="15" /> <!-- Statement caching per connection for improved performance -->
<!-- Connection Age related settings -->
<property name="maxIdleTime" value="300" /> <!-- Seconds for a connection to remain idle before being closed -->
<property name="unreturnedConnectionTimeout" value="300" /> <!-- Wait for number of seconds for application to release a connection -->
<property name="idleConnectionTestPeriod" value="30000"/> <!-- Test for idle connections(In milliseconds) -->
<property name= "autoCommitOnClose" value="true" /> <!-- For ensuring all transactions to commit/rollback on close -->
<property name="debugUnreturnedConnectionStackTraces" value ="true" />
<!-- Ignored overrides -->
<!-- Used for connection testing during startup -->
<!--property name="testConnectionOnCheckin" value="true" /--> <!-- Test for connection validity asynchronously -->
<!--property name="initialPoolSize" value="1" /--> <!-- Initial no. of pooled connections (>minimum)[optional] -->
<!--property name="idleConnectionTestPeriod" value="30000" /> In milliseconds(Overridden) -->
<!--property name="maxConnectionAge" value="1800" /--> <!-- Life in seconds for any connection(busy/idle) before being deleted -->
<!--property name="numHelperThreads" value="3" /--> <!-- Perform JDBC operations asynchronously -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerE ntityManagerFactoryBean">
<property name="persistenceUnitName" value="persistence" />
<property name="persistenceXmlLocation" value="classpathersistence.xml" />
<property name="dataSource" ref="datasource" />
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading .InstrumentationLoadTimeWeaver" />
</property>
<property name="jpaVendorAdapter" ref="vendorAdapter" />
</bean>
<bean id="vendorAdapter"
class="org.springframework.orm.jpa.vendor.Hibernat eJpaVendorAdapter">
<property name="databasePlatform" value="${dialect}" />
<property name="showSql" value="${show_sql}" />
<property name="generateDdl" value="false" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionM anager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean class="org.springframework.orm.jpa.support.Persist enceAnnotationBeanPostProcessor" />
<bean class="org.springframework.dao.annotation.Persiste nceExceptionTranslationPostProcessor"/>
</beans>
Some sites suggests to use the UserCredintialDataSource but it not works actually I want to refresh the entitymanagerfactory so it can makes the entity objects using the new connection in my current scenario it gives the error cannot open the connection while fetching the data. Thanks