org.postgresql.xa.PGXADataSourceFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of postgresql Show documentation
Show all versions of postgresql Show documentation
PostgreSQL JDBC Driver JDBC4
/*
* Copyright (c) 2007, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.xa;
import org.postgresql.ds.common.PGObjectFactory;
import org.checkerframework.checker.nullness.qual.Nullable;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.Name;
import javax.naming.Reference;
/**
* An ObjectFactory implementation for PGXADataSource-objects.
*/
public class PGXADataSourceFactory extends PGObjectFactory {
/*
* All the other PostgreSQL DataSource use PGObjectFactory directly, but we can't do that with
* PGXADataSource because referencing PGXADataSource from PGObjectFactory would break
* "JDBC2 Enterprise" edition build which doesn't include PGXADataSource.
*/
@Override
public @Nullable Object getObjectInstance(Object obj, Name name, Context nameCtx,
Hashtable, ?> environment) throws Exception {
Reference ref = (Reference) obj;
String className = ref.getClassName();
if ("org.postgresql.xa.PGXADataSource".equals(className)) {
return loadXADataSource(ref);
} else {
return null;
}
}
private Object loadXADataSource(Reference ref) {
PGXADataSource ds = new PGXADataSource();
return loadBaseDataSource(ds, ref);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy