Package org.jumpmind.symmetric.integrate
Class XmlPublisherDataRouter
java.lang.Object
org.jumpmind.symmetric.integrate.AbstractXmlPublisherExtensionPoint
org.jumpmind.symmetric.integrate.XmlPublisherDataRouter
- All Implemented Interfaces:
IExtensionPoint
,INodeGroupExtensionPoint
,ISymmetricEngineAware
,IDataRouter
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
public class XmlPublisherDataRouter
extends AbstractXmlPublisherExtensionPoint
implements IDataRouter, ISymmetricEngineAware
This is an
IDataRouter
that can be configured as an extension point. Instead of routing data to other nodes, it publishes data to the
IPublisher
interface. The most common implementation of the IPublisher
is the SimpleJmsPublisher
.-
Nested Class Summary
Nested classes/interfaces inherited from class org.jumpmind.symmetric.integrate.AbstractXmlPublisherExtensionPoint
AbstractXmlPublisherExtensionPoint.ITimeGenerator
-
Field Summary
Fields inherited from class org.jumpmind.symmetric.integrate.AbstractXmlPublisherExtensionPoint
amountOfTimeToPublishMessagesSinceLastPrintTime, engine, groupByColumnNames, lastStatisticsPrintTime, log, name, numberOfMessagesPublishedSinceLastPrintTime, publisher, tableNamesToPublishAsGroup, timeBetweenStatisticsPrintTime, timeStringGenerator, XML_CACHE, xmlFormat, xmlTagNameToUseForGroup
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
completeBatch
(SimpleRouterContext context, OutgoingBatch batch) void
contextCommitted
(SimpleRouterContext context) boolean
boolean
routeToNodes
(SimpleRouterContext context, DataMetaData dataMetaData, Set<Node> nodes, boolean initialLoad, boolean initialLoadSelectUsed, TriggerRouter triggerRouter) void
setOnePerBatch
(boolean onePerBatch) Indicates that one message should be published per batch.Methods inherited from class org.jumpmind.symmetric.integrate.AbstractXmlPublisherExtensionPoint
addFormattedExtraGroupAttributes, doesXmlExistToPublish, finalizeXmlAndPublish, getKeyColumnNames, getNodeGroupIdsToApplyTo, getTableNames, getXmlCache, getXmlFromCache, getXmlNamespace, readData, replaceInvalidChars, resend, setBeanName, setGroupByColumnNames, setNodeGroup, setNodeGroups, setPublisher, setSymmetricEngine, setTableNamesToPublishAsGroup, setTableNameToPublish, setTimeBetweenStatisticsPrintTime, setTimeStringGenerator, setXmlFormat, setXmlTagNameToUseForGroup, toXmlElement, toXmlGroupId
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jumpmind.symmetric.ext.ISymmetricEngineAware
setSymmetricEngine
-
Constructor Details
-
XmlPublisherDataRouter
public XmlPublisherDataRouter()
-
-
Method Details
-
contextCommitted
- Specified by:
contextCommitted
in interfaceIDataRouter
-
completeBatch
- Specified by:
completeBatch
in interfaceIDataRouter
-
routeToNodes
public Set<String> routeToNodes(SimpleRouterContext context, DataMetaData dataMetaData, Set<Node> nodes, boolean initialLoad, boolean initialLoadSelectUsed, TriggerRouter triggerRouter) - Specified by:
routeToNodes
in interfaceIDataRouter
-
setOnePerBatch
public void setOnePerBatch(boolean onePerBatch) Indicates that one message should be published per batch. If this is set to false, then only one message will be published once for each set of data that is routed (even though it may have been routed to several nodes across several different batches).- Parameters:
onePerBatch
-
-
isConfigurable
public boolean isConfigurable()- Specified by:
isConfigurable
in interfaceIDataRouter
-
isDmlOnly
public boolean isDmlOnly()- Specified by:
isDmlOnly
in interfaceIDataRouter
-