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 IExtensionPoints 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 OutgoingBatchs.
 
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 Nodes 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 version
This 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 Nodes that are configured to NodeGroupLinkAction.W
Service API that is responsible for pushing data to the list of configured Nodes 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 Nodes 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 Nodes 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 registration
 
This 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.
Provides an API to configure TriggerRouters, Triggers and Routers.
 
 
 
 
 
 
 
 
 
 
 
 
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 OutgoingBatchs.
 
 
 
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 Servlets
 
 
 
 
Compile 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 infrastructure
Launch 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.