You will have to use a custom datasource factory. Here is some sample code to get you started
Code:
import java.util.Properties;
import javax.sql.DataSource;
import org.springframework.beans.factory.FactoryBean;
public class CustomDataSourceFactory implements FactoryBean<DataSource>{
private Properties jndiDataSourceProperties=null;
private DataSource fallbackDataSource=null;
private DataSource jndiDataSource=null;
public DataSource getObject() throws Exception {
DataSource datasource=null;
try
{
datasource=getJndiDataSource(jndiDataSourceProperties);
if(datasource==null)
return getFallbackDataSource();
}
catch(Exception e)
{
}
return datasource;
}
private DataSource getFallbackDataSource() {
// TODO Auto-generated method stub
return null;
}
private DataSource getJndiDataSource(Properties jndiDataSourceProperties2) {
// TODO Auto-generated method stub
return null;
}
public Properties getJndiDataSourceProperties() {
return jndiDataSourceProperties;
}
public void setJndiDataSourceProperties(Properties jndiDataSourceProperties) {
this.jndiDataSourceProperties = jndiDataSourceProperties;
}
public void setFallbackDataSource(DataSource fallbackDataSource) {
this.fallbackDataSource = fallbackDataSource;
}
public Class getObjectType() {
return DataSource.class;
}
public boolean isSingleton() {
return false;
}
}