Class DaoFactory
- java.lang.Object
-
- org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.DaoFactory
-
- All Implemented Interfaces:
java.io.Serializable
public class DaoFactory extends java.lang.Object implements java.io.SerializableFactory class to create data access objects to perform change stream queries and access the metadata tables. The instances created are all singletons.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DaoFactory(SpannerConfig changeStreamSpannerConfig, java.lang.String changeStreamName, java.util.List<java.lang.String> tvfNameList, SpannerConfig metadataSpannerConfig, PartitionMetadataTableNames partitionMetadataTableNames, com.google.cloud.spanner.Options.RpcPriority rpcPriority, java.lang.String jobName, com.google.cloud.spanner.Dialect spannerChangeStreamDatabaseDialect, com.google.cloud.spanner.Dialect metadataDatabaseDialect, boolean isMutableChangeStream)Constructs aDaoFactorywith the configuration to be used for the underlying instances.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ChangeStreamDaogetChangeStreamDao()Creates and returns a singleton DAO instance for querying a partition change stream.PartitionMetadataAdminDaogetPartitionMetadataAdminDao()Creates and returns a singleton DAO instance for admin operations over the partition metadata table.PartitionMetadataDaogetPartitionMetadataDao()Creates and returns a singleton DAO instance for accessing the partition metadata table.java.util.List<java.lang.String>getTvfNameList()Returns the tvf name list.booleanisMutableChangeStream()
-
-
-
Constructor Detail
-
DaoFactory
public DaoFactory(SpannerConfig changeStreamSpannerConfig, java.lang.String changeStreamName, java.util.List<java.lang.String> tvfNameList, SpannerConfig metadataSpannerConfig, PartitionMetadataTableNames partitionMetadataTableNames, com.google.cloud.spanner.Options.RpcPriority rpcPriority, java.lang.String jobName, com.google.cloud.spanner.Dialect spannerChangeStreamDatabaseDialect, com.google.cloud.spanner.Dialect metadataDatabaseDialect, boolean isMutableChangeStream)
Constructs aDaoFactorywith the configuration to be used for the underlying instances.- Parameters:
changeStreamSpannerConfig- the configuration for the change streams DAOchangeStreamName- the name of the change stream for the change streams DAOmetadataSpannerConfig- the metadata tables configurationpartitionMetadataTableNames- the names of the partition metadata ddl objectstvfNameList- the list of TVF names specified to query and unionrpcPriority- the priority of the requests made by the DAO queriesjobName- the name of the running job
-
-
Method Detail
-
getTvfNameList
public java.util.List<java.lang.String> getTvfNameList()
Returns the tvf name list.
-
getPartitionMetadataAdminDao
public PartitionMetadataAdminDao getPartitionMetadataAdminDao()
Creates and returns a singleton DAO instance for admin operations over the partition metadata table.This method is thread safe.
- Returns:
- singleton instance of the
PartitionMetadataDao
-
getPartitionMetadataDao
public PartitionMetadataDao getPartitionMetadataDao()
Creates and returns a singleton DAO instance for accessing the partition metadata table.This method is thread safe.
- Returns:
- singleton instance of the
PartitionMetadataDao
-
getChangeStreamDao
public ChangeStreamDao getChangeStreamDao()
Creates and returns a singleton DAO instance for querying a partition change stream.This method is thread safe.
- Returns:
- singleton instance of the
ChangeStreamDao
-
isMutableChangeStream
public boolean isMutableChangeStream()
-
-