All Classes and Interfaces
Class
Description
Checks column source lookups in AbstractDatabaseWriter using a wrapper class StubAbstractDatabaseWriter - see below.
A common superclass for data routers
This class is a collection of Strategy methods for creating the DDL required to create and drop databases and tables.
An implementation of logic that can be used in Java database triggers to capture data for SymmetricDS.
Abstract service that provides help methods for detecting offline status.
Utility SQL container that should be sub-classed in order to populate with SQL statements from the subclasses constructor.
A data reader that knows it will be reading a single batch and a single table.
An abstract convenience class meant to be implemented by classes that need to publish text messages
Responsible for generating dialect specific SQL such as trigger bodies and functions
Follow the Apache versioning scheme documented here.
An abstract class that accumulates data to publish.
Represents the addition of a column to a table.
Represents the addition of a foreign key to a table.
Represents the addition of an index to a table.
Represents the addition of a primary key to a table which does not have one.
Represents the addition of a table to a model.
Represents the addition of logging mode to a table, if supported by target database.
General application utility methods
Protect handlers by checking that the request is allowed.
This uri handler streams the number of bytes requested by the sampleSize parameter.
A very simple bandwidth meter.
Constants that represent parameters that can be retrieved or saved via the
IParameterService
Status of a batch acknowledgment
Allow lazy loading of Bouncy Castle by putting all static methods here
This data router is invoked when the router_type is 'bsh'.
Definition of a channel and it's priority.
Represents the client portion of a SymmetricDS engine.
Names for jobs as locked by the
IClusterService
Represents a column in the database model.
Represents the change of the auto-increment constraint of a column.
Represents a change to a column of a table.
Represents the change of the data type of a column.
Represents the change of the default value of a column.
Represents a change in whether a column is generated.
This data router is invoked when the router_type='column'.
Represents the change of the required constraint of a column.
Represents the change of the size or scale of a column.
Implementation of ServletOutputStream that works with the CompressionServletResponseWrapper implementation.
Implementation of HttpServletResponseWrapper that works with the CompressionServletResponseStream implementation..
An out of the box filter that checks to see if the SymmetricDS configuration has changed.
Allow a node to pull the configuration.
General purpose constants used by SymmetricDS
Use this value filter if you want a constant value to always be inserted as a column value.
Converts multiple change data rows into reload batches for each table ordered by foreign key dependencies.
Handler that delegates to the
IRegistrationService
Holder for references to both parsed and unparsed CSV data.
Read CSV formatted data for a single table.
A stream based parser for parsing delimited text data from a file or a stream.
Read CSV formatted data for a single table.
A stream based writer for writing delimited text data to a file or a stream.
This is the data that changed due to a data sync trigger firing.
Represents the database model, ie.
Contains information about the database platform such as supported features and native type mappings.
Wrapper class for database meta data that stores additional info.
An
IDatabaseWriterErrorHandler
that ignores all errors.Responsible for managing gaps in data ids to ensure that all captured data is routed for delivery to other nodes.
Responsible for managing gaps in data ids to ensure that all captured data is routed for delivery to other nodes.
This class is responsible for reading data for the purpose of routing.
Responsible for writing batch data to the database
DbCompare has the ability to compare two SQL-based datasources and output a report of of differences, and optionally SQL to bring the target into sync with
the source.
Export the structure and data from database tables to file.
Export the structure and data from database tables to file.
Generate data for populating databases.
Import data from file to database tables.
Import data from file to database tables.
Factory that creates
IDdlBuilder
from DatabaseNamesConstants
values.Base class for DdlUtils exceptions.
Batch algorithm that puts multiple transactions in the same batch up to the max batch size, but never breaks a transaction boundary
This data router will route data to all of the nodes that are passed to it.
Default implementation of an
IOfflineClientListener
.Helper class for dealing with default values, e.g.
Builds a SQL DML statement
Simple configuration (note the jdbc:symds prefix):
db.url=jdbc:symds:h2:file:demo-corp;LOCK_TIMEOUT=60000;AUTO_SERVER=TRUE
In the your engine.properties file, you can configure interceptors:
org.jumpmind.driver.PreparedStatementWrapper.interceptor=org.jumpmind.driver.StatementDelayInterceptor OR
org.jumpmind.driver.PreparedStatementWrapper.interceptor=org.jumpmind.driver.RandomErrorInterceptor
This extension to
Properties
reads in a properties file and looks for any properties whose prefix matches any combination of supplied environment
tokens.Wrapper class for installed extension points.
This service registers
IExtensionPoint
s defined both by SymmetricDS and others found in the ApplicationContext
.A FileOutputStream that delays creating the physical file until the first write operation, to avoid empty files.
Represents a database foreign key.
Represents the change of the definition of a generated column.
This
ISyncUrlExtension
is capable of measuring the bandwidth of a list of urls in order to select the one with the most bandwidth for use.Allow remote communication to nodes, in order to push data, pull data, and send messages.
Listener for changes in the batch status.
This service provides an API to access acknowledge
OutgoingBatch
s.A client service that determines bandwidth availability.
An extension point that can be configured for a channel to allow further control over batching algorithms.
Implement this interface to indicate that the extension point is part of the default system.
Service API that is responsible for acquiring distributed locks for clustered SymmetricDS nodes.
An extension point that can be implemented to provide custom transformation logic.
Provides an API to configure data synchronizations.
This service provides an API to extract and stream data from a source database.
This service provides an API to load data into a SymmetricDS node's database from a transport
The data router is an extension point that allows the end user to target certain nodes with data changes.
This service provides an API to access and update
Data
.This is a marker interface that identifies ways that SymmetricDS can be extended.
This is an extension point that, when registered, will be called on a regular basis by the
HeartbeatJob
.This service provides an API to access to the incoming batch table.
Represents an index definition for a table which may be either unique or non-unique.
This extension point is called prior to and after the data loader does it's work for a single client connection.
Marker interface for changes to a database model element.
Holder class for summary information about incoming batches
Represents a column of an index in the database model.
Base class for indices.
Responsible for providing high level information about the node in property format
This is a DataLoaderFilter that will only be applied to the node groups that are supported.
An
IExtensionPoint
that allows SymmetricDS users to implement their own algorithms for how node_ids and passwords are generated or selected during
registration.Deprecated.
Used to intercept the saving and rendering of the node password.
When a node registers, it may include a userId and password to authorize opening and allowing registration.
This service provides an API to access
Node
s and Node related information.Wraps an incoming stream that comes from memory
Coordinates interaction between two symmetric engines in the same JVM.
This exception indicates that the SQL statement was invalid for some reason.
Wraps an
IOException
with a runtime versionThis is an extension point that is called when the current instance has detected it cannot sync with another
Node
.Service API that is responsible for pulling data from the list of configured
Node
s that are configured to NodeGroupLinkAction.W
Service API that is responsible for pushing data to the list of configured
Node
s that are configured to NodeGroupLinkAction.P
This is an extension point that, when registered, will be called on a regular basis by the
WatchdogJob
.This service provides an API to access to the outgoing batch table.
Get and set application wide configuration information.
Service API that is responsible for pulling data from the list of configured
Node
s that are configured to NodeGroupLinkAction.W
This service provides an API to kick off purge processes with or without specific dates.
Service API that is responsible for pushing data to the list of configured
Node
s that are configured to NodeGroupLinkAction.P
An
IExtensionPoint
to examine an incoming registration request and redirect it to another node.This service provides an API that deals with
Node
registrationThis is an extension point that can be implemented to listen in and take action before or after a reload is requested for a Node.
Filter the SQL used during initial load to query the source table and purge the target table.
This service is responsible for routing data to specific nodes and managing the batching of data to be delivered to each node.
Pluggable Service API that is responsible for encrypting and decrypting data.
An interface that indicates that this class provides stateless services methods for the application
This interface insulates the application from the data connection technology.
This manager provides an API record statistics
This service provides an API to access captured statistics
If an extension point needs access to SymmetricDS services it should implement this interface and access the apis via the
ISymmetricEngine
interface.This
IExtensionPoint
is used to select an appropriate URL based on the URI provided in the sync_url column of sym_node.This marks a resource that is used by a transport.
This marks a handler for a resource that used by a transport.
An
IExtensionPoint
that allows a client to listen in on the trigger creation process.This java data router is invoked when the router_type is 'java'.
TODO Support Oracle's non-standard way of batching
Factory class that is responsible for creating the appropriate
ISymmetricDialect
for the configured database.LinkedHashMap
variant that stores String keys in a case-insensitive manner, for example for key-based access in a results table.Compiles against log4j classes, so only instantiate this class if log4j is present
Compiles against slf4j and only instantiates the helper if log4j is present
A data router that uses a lookup table to map data to nodes
Helper class that wraps resource bundles.
Describes a column in a metadata result set.
Helper class stubs out most methods for Connection.
Main class in the hierarchy of Mock classes allowing to pre-stage any result sets for test subjects (DatabasePlatform, DdlReader, DdlBuilder, etc.).
Helper class stubs out most methods for DatabaseMetaData.
Helper class stubs out most methods for PreparedStatement.
Helper class stubs out most methods for Statement.
Helper class with static methods for mocking result sets and other database objects in MockDbDataSource
Compares two database models and creates change objects that express how to adapt the first model so that it becomes the second one.
Indicates a model error.
A predicate that tests whether the object is of one of the configured types.
Helper methods for named parameter parsing.
This class represents a node who has registered for sync updates.
A composite parent for
Channel
and NodeChannelControl
An intercepter that controls access to this node for pushes and pulls.
Identifies the action to take when the event watcher sees events in the event table.
Represents the status of a node.
Puts multiple transactions in a batch and ends exactly on the max batch size if there is more than the max batch size of data to batch.
Represents an index definition for a table.
Used for tracking the sending a collection of data to a node in the system.
A container for
OutgoingBatch
s.Holder class for summary information about outgoing batches
Constants that represent parameters that can be retrieved or saved via the
IParameterService
Holds information about a parsed SQL statement.
Simple handler that returns a 200 to indicate that SymmetricDS is deployed and running.
PostgreSQL version 9.5 https://www.postgresql.org/docs/release/9.5.0/
Represents the change of the primary key of a table.
Handles data pulls from other nodes.
Handles data pushes from nodes.
Use runtime configuration specific seeding to get a random number for use in time slotting nodes to help stagger load.
Represents a reference between a column in the local table and a column in another table.
An exception that indicates a failed registration attempt.
Throw this exception to indicate that registration is not allowed or is not open for a specific node.
Indicate that there is a different node that regsitry should happen with.
Indicates that registration has not been opened for a node that is trying to communicate with another
Handler that delegates to the
IRegistrationService
Indicates the status of an attempt to transport data from or to a remove node.
Represents the removal of a column from a table.
Represents the removal of a foreign key from a table.
Represents the removal of an index from a table.
Represents the removal of the primary key from a table.
Represents the removal of a table from a model.
Represents the removal of logging mode (turning off) to a table.
A subclass of
BasicDataSource
which allows for a data source to be closed (all underlying connections are closed) and then allows new connections to
be created.Metadata about how and when to route data to a node group or a specific node
An extension that prefixes the table name with a schema name that is equal to the incoming node_id.
A X509TrustManager that accepts self-signed certificates.
These are properties that are server wide.
Utility methods for working with
Servlet
sCompile Java code in memory, load it, and return a new instance.
User: Markus Schulz <msc@antzsystem.de> Date: 24.08.15 Time: 10:53
Reads a SQL script and passes each SQL statement through the reader as a
CsvData
event.This class parses and runs SQL from an input file or buffer using the designed
ISqlTemplate
.Provides an interface to read each SQL statement in a SQL script.
This data router is invoked when the router_type is 'subselect'.
Perform administration tasks with SymmetricDS.
This is a
RuntimeException
that supports using the SymmetricDS Message
infrastructureLaunch the SymmetricDS engine as a stand alone client or server.
This servlet handles web requests to SymmetricDS.
Start up SymmetricDS through Spring Boot
These are properties that can be set only as Java System properties using -D settings.
Represents a table in the database model.
Represents a change to a table or sub-element of a table (e.g.
Base class for change implementations.
Holds array of column references (from source to target) based on matching names.
Internal class for column mappings to move data efficiently.
Constants that represent SymmetricDS tables
Convert a source table's rows to
CsvData
A convenience class that allows the end user to template a message using SymmetricDS filter data.
Write to an internal buffer up until the threshold.
Only put individual transactions in a batch.
Defines the trigger via which a table will be synchronized.
An adapter for the trigger listener interface so you need only implement the methods you are interested in.
A listener that was built specifically to 'listen' for failures.
Maps to the table sync audit table which tracks the history of sync trigger creation.
Defines the trigger via which a table will be synchronized.
Utility class to pair down a list of triggers.
Utility class to pair down a list of triggers from a list of TriggerRouters
A class that maps SQL type names to their JDBC type ID found in
Types
and vice versa.Provides compatibility with Torque-style xml with separate <index> and <unique> tags, but adds no functionality.
Follow the Apache versioning scheme documented here.
Constants that are related to the HTTP transport
This is an optional
IDatabaseWriterFilter
that is capable of translating table data to XML and publishing it for consumption by the enterprise.This is an
IDataRouter
that can be configured as an extension point.