*/
public Reference getReference() throws NamingException {
Reference ref = new Reference(this.getClass().getName(), DataSourceFactory.class.getName(), null);
// These values are used by ObjectFactory (see DataSourceFactory.java)
ref.add(new StringRefAddr("datasource.name", getDSName()));
ref.add(new StringRefAddr("datasource.url", getUrl()));
ref.add(new StringRefAddr("datasource.classname", getClassName()));
ref.add(new StringRefAddr("datasource.username", getUserName()));
ref.add(new StringRefAddr("datasource.password", getPassword()));
ref.add(new StringRefAddr("datasource.isolationlevel", getTransactionIsolation()));
Integer checklevel = Integer.valueOf(getCheckLevel());
ref.add(new StringRefAddr("connchecklevel", checklevel.toString()));
Integer maxage = Integer.valueOf(getMaxAge());
ref.add(new StringRefAddr("connmaxage", maxage.toString()));
Integer maxopentime = Integer.valueOf(getMaxOpenTime());
ref.add(new StringRefAddr("maxopentime", maxopentime.toString()));
ref.add(new StringRefAddr("connteststmt", getTestStatement()));
Integer pstmtmax = Integer.valueOf(getPstmtMax());
ref.add(new StringRefAddr("pstmtmax", pstmtmax.toString()));
Integer minpool = Integer.valueOf(getPoolMin());
ref.add(new StringRefAddr("minconpool", minpool.toString()));
Integer maxpool = Integer.valueOf(getPoolMax());
ref.add(new StringRefAddr("maxconpool", maxpool.toString()));
Integer maxwaittime = Integer.valueOf(getMaxWaitTime());
ref.add(new StringRefAddr("maxwaittime", maxwaittime.toString()));
Integer maxwaiters = Integer.valueOf(getMaxWaiters());
ref.add(new StringRefAddr("maxwaiters", maxwaiters.toString()));
Integer samplingperiod = Integer.valueOf(getSamplingPeriod());
ref.add(new StringRefAddr("samplingperiod", samplingperiod.toString()));
return ref;
}