Class EsbInstanceMetaData
java.lang.Object
com.kingsrook.qqq.esb.model.EsbInstanceMetaData
- All Implemented Interfaces:
MetaDataProducerOutput,QMetaDataObject,QSupplementalInstanceMetaData,TopLevelMetaDataInterface,Serializable
Instance-level ESB meta-data: the providers (brokers) and destinations
(queues and topics) that tables and processes publish to and trigger from,
and the instance name that identifies this application in the source of the
events it publishes.
Supplemental instance meta-data is included in the frontend meta-data
output, so the providers and destinations (with urls and credentials), and
the instance name, are excluded from JSON serialization. The UI reads ESB
details through the permission-checked ESB endpoints instead.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidInterpret ${env.*} (etc.) variables in each provider's connection fields, and register the table and process publishing listeners and trigger runtime service once, however many times the instance is enriched.getDestination(String name) Get a destination by name - or null if not found.Getter for destinations - not serialized (see class comment).Getter for instanceName: the name that identifies this application in the source of the events it publishes (qqq://instanceName/table/order).getName()getProvider(String name) Get a provider by name - or null if not found.Getter for providers - not serialized (they hold urls and credentials).Getter for realtimeDestinationNamestatic EsbInstanceMetaDataGet the ESB meta-data on an instance - creating (and adding) it if the instance doesn't have any yet.voidsetDestinations(Map<String, QEsbDestinationMetaData> destinations) Setter for destinationsvoidsetInstanceName(String instanceName) Setter for instanceNamevoidsetProviders(Map<String, QEsbProviderMetaData> providers) Setter for providersvoidsetRealtimeDestinationName(String realtimeDestinationName) Setter for realtimeDestinationNamevoidvalidate(QInstance qInstance, QInstanceValidator validator) Validate providers and destinations, and that topic triggers' subscription names are unique per provider.withDestination(QEsbDestinationMetaData destination) Fluent setter to add a destination (keyed by its name).withInstanceName(String instanceName) Fluent setter for instanceNamewithProvider(QEsbProviderMetaData provider) Fluent setter to add a provider (keyed by its name).withRealtimeDestinationName(String realtimeDestinationName) Fluent setter for realtimeDestinationNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.kingsrook.qqq.backend.core.model.metadata.QSupplementalInstanceMetaData
addSelfToInstance
-
Field Details
-
NAME
- See Also:
-
-
Constructor Details
-
EsbInstanceMetaData
public EsbInstanceMetaData()
-
-
Method Details
-
of
Get the ESB meta-data on an instance - creating (and adding) it if the instance doesn't have any yet. -
getName
- Specified by:
getNamein interfaceTopLevelMetaDataInterface
-
enrich
Interpret ${env.*} (etc.) variables in each provider's connection fields, and register the table and process publishing listeners and trigger runtime service once, however many times the instance is enriched.- Specified by:
enrichin interfaceQSupplementalInstanceMetaData
-
validate
Validate providers and destinations, and that topic triggers' subscription names are unique per provider. (Publications and each trigger's own fields are validated by EsbTableMetaData and EsbProcessMetaData.)- Specified by:
validatein interfaceQSupplementalInstanceMetaData
-
getProvider
Get a provider by name - or null if not found. -
withProvider
Fluent setter to add a provider (keyed by its name). Throws IllegalArgumentException if a provider with that name was already added (as QInstance does for a second table, process, etc). -
getDestination
Get a destination by name - or null if not found. -
withDestination
Fluent setter to add a destination (keyed by its name). Throws IllegalArgumentException if a destination with that name was already added (as QInstance does for a second table, process, etc). -
getInstanceName
Getter for instanceName: the name that identifies this application in the source of the events it publishes (qqq://instanceName/table/order). When null, sources have an empty authority (qqq:///table/order). Not serialized (see class comment). -
setInstanceName
Setter for instanceName -
withInstanceName
Fluent setter for instanceName -
getProviders
Getter for providers - not serialized (they hold urls and credentials). -
setProviders
Setter for providers -
getDestinations
Getter for destinations - not serialized (see class comment). -
setDestinations
Setter for destinations -
getRealtimeDestinationName
Getter for realtimeDestinationName -
setRealtimeDestinationName
Setter for realtimeDestinationName -
withRealtimeDestinationName
Fluent setter for realtimeDestinationName
-