public abstract class AbstractSiddhiAppCreator extends Object implements SiddhiAppCreator
SiddhiAppCreator. Developers can use this extension point
to implement custom Siddhi App Creator based on the distribute implementation.| Constructor and Description |
|---|
AbstractSiddhiAppCreator() |
| Modifier and Type | Method and Description |
|---|---|
List<DeployableSiddhiQueryGroup> |
createApps(SiddhiTopology topology,
MessagingSystem messagingSystem)
Create valid concrete Siddhi Apps for each Query Group in the given
SiddhiTopology. |
protected abstract List<SiddhiQuery> |
createApps(String siddhiAppName,
SiddhiQueryGroup queryGroup,
MessagingSystem messagingSystem)
This method should return valid concrete Siddhi App/s as Strings.
|
protected List<SiddhiQuery> |
generateQueryList(String queryTemplate,
String queryGroupName,
int parallelism) |
protected List<Integer> |
getPartitionNumbers(int appParallelism,
int availablePartitionCount,
int currentAppNum) |
protected String |
getTopicName(String siddhiAppName,
String streamName,
String groupingField) |
protected String |
getUpdatedQuery(String query,
Map<String,String> valuesMap) |
protected void |
updateQueryList(List<SiddhiQuery> queryList,
Map<String,String> valuesMap) |
public List<DeployableSiddhiQueryGroup> createApps(SiddhiTopology topology, MessagingSystem messagingSystem)
SiddhiAppCreatorSiddhiTopology.createApps in interface SiddhiAppCreatortopology - Input topology to create Siddhi AppsDeployableSiddhiQueryGroups. Length of the list should be equal to no. of groups user
has defined. Length of the list should be greater than zero always.protected abstract List<SiddhiQuery> createApps(String siddhiAppName, SiddhiQueryGroup queryGroup, MessagingSystem messagingSystem)
queryGroup - Input parse group to produce Siddhi Apps.protected List<Integer> getPartitionNumbers(int appParallelism, int availablePartitionCount, int currentAppNum)
protected List<SiddhiQuery> generateQueryList(String queryTemplate, String queryGroupName, int parallelism)
protected void updateQueryList(List<SiddhiQuery> queryList, Map<String,String> valuesMap)
protected String getTopicName(String siddhiAppName, String streamName, String groupingField)
siddhiAppName - Name of the userdefined siddhi appstreamName - Currently processing stream namegroupingField - Partition key field, if available otherwise nullCopyright © 2019 WSO2. All rights reserved.