943 lines
30 KiB
JSON
Executable File
943 lines
30 KiB
JSON
Executable File
[
|
|
{
|
|
"name":"http",
|
|
"group":"source",
|
|
"description":"HTTP input source",
|
|
"properties":[
|
|
{
|
|
"id":"server-port",
|
|
"name":"port",
|
|
"defaultValue":"9000",
|
|
"description":"The http port where data will be posted"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"mail",
|
|
"group":"source",
|
|
"description":"Input source for receiving emails",
|
|
"properties":[
|
|
{
|
|
"name":"protocol",
|
|
"defaultValue":"imaps",
|
|
"description":"the protocol to use amongst pop3, pop3s, imap, imaps (only imap variants for the imap module)"
|
|
},
|
|
{
|
|
"name":"username",
|
|
"description":"the username to use to connect to the mail server"
|
|
},
|
|
{
|
|
"name":"password",
|
|
"description":"the password to use to connect to the mail server"
|
|
},
|
|
{
|
|
"name":"host",
|
|
"defaultValue":"localhost",
|
|
"description":"the hostname of the mail server (default: localhost)"
|
|
},
|
|
{
|
|
"name":"port",
|
|
"description":"the port of the mail server"
|
|
},
|
|
{
|
|
"name":"folder",
|
|
"defaultValue":"INBOX",
|
|
"description":"the folder to take emails from"
|
|
},
|
|
{
|
|
"name":"markAsRead",
|
|
"defaultValue":false,
|
|
"description":"whether to mark emails as read once they?ve been fetched by the module"
|
|
},
|
|
{
|
|
"name":"delete",
|
|
"defaultValue":true,
|
|
"description":"whether to delete the emails once they?ve been fetched by the module"
|
|
},
|
|
{
|
|
"name":"fixedDelay",
|
|
"defaultValue":60,
|
|
"description":"Does not apply to the imap source, the polling interval used for looking up messages, expressed in seconds."
|
|
},
|
|
{
|
|
"name":"charset",
|
|
"defaultValue":"UTF-8",
|
|
"description":"the charset used to transform the body of the incoming emails to Strings."
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"file",
|
|
"group":"source",
|
|
"description":"Stream the data from a file on the host OS",
|
|
"properties":[
|
|
{
|
|
"name":"name",
|
|
"description":"file name"
|
|
},
|
|
{
|
|
"name":"dir",
|
|
"description":"directory name"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"twittersearch",
|
|
"group":"source",
|
|
"description":"The twittersearch source runs a continuous query against Twitter",
|
|
"properties":[
|
|
{
|
|
"name":"connectTimeout",
|
|
"description":"the connection timeout for making a connection to Twitter (ms)",
|
|
"defaultValue":5000
|
|
},
|
|
{
|
|
"name":"query",
|
|
"description":"the query that will run against twitter, e.g. #springeone2gx",
|
|
"defaultValue":""
|
|
},
|
|
{
|
|
"name":"consumerKey",
|
|
"description":"an application consumer key issued by twitter"
|
|
},
|
|
{
|
|
"name":"consumerSecret",
|
|
"description":"the secret corresponding to the consumerKey"
|
|
},
|
|
{
|
|
"name":"geocode",
|
|
"description":"geo-location given as latitude,longitude,radius. e.g., \"37.781157,-122.398720,1mi\"",
|
|
"defaultValue":""
|
|
},
|
|
{
|
|
"name":"icludeEntities",
|
|
"description":"whether to include entities such as urls, media and hashtags",
|
|
"defaultValue":true
|
|
},
|
|
{
|
|
"name":"language",
|
|
"description":"language code e.g. \"en\"",
|
|
"defaultValue":""
|
|
},
|
|
{
|
|
"name":"readTimeout",
|
|
"description":"the read timeout for the underlying URLConnection to the twitter stream (ms)",
|
|
"defaultValue":9000
|
|
},
|
|
{
|
|
"name":"resultType",
|
|
"description":"result type: recent, popular, or mixed",
|
|
"defaultValue":"mixed"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"time",
|
|
"group":"source",
|
|
"description":"Emits time ticks",
|
|
"properties":[
|
|
{
|
|
"name":"fixedDelay",
|
|
"description":"how often to emit a message, expressed in seconds",
|
|
"defaultValue":1
|
|
},
|
|
{
|
|
"name":"format",
|
|
"description":"how to render the current time, using SimpleDateFormat",
|
|
"defaultValue":"yyyy-MM-dd HH:mm:ss"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"tcp",
|
|
"group":"source",
|
|
"description":"The tcp source acts as a server and allows a remote party to connect to XD and submit data over a raw tcp socket.",
|
|
"properties":[
|
|
{
|
|
"name":"bufferSize",
|
|
"description":"the size of the buffer (bytes) to use when encoding/decoding",
|
|
"defaultValue":2048
|
|
},
|
|
{
|
|
"name":"charset",
|
|
"description":"the charset used when converting from bytes to String",
|
|
"defaultValue":"UTF-8"
|
|
},
|
|
{
|
|
"name":"decoder",
|
|
"description":"the decoder to use when receiving messages",
|
|
"defaultValue":"CRLF"
|
|
},
|
|
{
|
|
"name":"nio",
|
|
"description":"whether or not to use NIO",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"port",
|
|
"description":"the port on which to listen",
|
|
"defaultValue":1234
|
|
},
|
|
{
|
|
"name":"reverseLookup",
|
|
"description":"perform a reverse DNS lookup on the remote IP Address",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"socketTimeout",
|
|
"description":"the timeout (ms) before closing the socket when no data is received",
|
|
"defaultValue":120000
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"tail",
|
|
"group":"source",
|
|
"description":"Tail file input source",
|
|
"properties":[
|
|
{
|
|
"name":"delay",
|
|
"description":"how often (ms) to poll for new lines (forces use of the Apache Tailer, requires nativeOptions=\"\")"
|
|
},
|
|
{
|
|
"name":"fileDelay",
|
|
"description":"on platforms that do not wait for a missing file to appear, how often (ms) to look for the file",
|
|
"defaultValue":5000
|
|
},
|
|
{
|
|
"name":"fromEnd",
|
|
"description":"whether to tail from the end (true) or from the start (false) of the file (forces use of the Apache Tailer, requires nativeOptions=\"\")"
|
|
},
|
|
{
|
|
"name":"lines",
|
|
"description":"the number of lines prior to the end of an existing file to tail; does not apply if \"nativeOptions\" is provided",
|
|
"defaultValue":0
|
|
},
|
|
{
|
|
"name":"name",
|
|
"description":"the absolute path of the file to tail",
|
|
"defaultValue":"/tmp/xd/input/<stream name>"
|
|
},
|
|
{
|
|
"name":"nativeOptions",
|
|
"description":"options for a native tail command; do not set and use \"end\", \"delay\", and/or \"reOpen\" to use the Apache Tailer"
|
|
},
|
|
{
|
|
"name":"reOpen",
|
|
"description":"whether to reopen the file each time it is polled (forces use of the Apache Tailer, requires nativeOptions=\"\""
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"mqtt",
|
|
"group":"source",
|
|
"description":"The mqtt source connects to an mqtt server and receives telemetry messages",
|
|
"properties":[
|
|
{
|
|
"name":"clientId",
|
|
"description":"identifies the client",
|
|
"defaultValue":"xd.mqtt.client.id.src"
|
|
},
|
|
{
|
|
"name":"password",
|
|
"description":"the password to use when connecting to the broker",
|
|
"defaultValue":"guest"
|
|
},
|
|
{
|
|
"name":"topics",
|
|
"description":"the topic(s) to which the source will subscribe",
|
|
"defaultValue":"xd.mqtt.test"
|
|
},
|
|
{
|
|
"name":"url",
|
|
"description":"location of the mqtt broker",
|
|
"defaultValue":"tcp://localhost:1883"
|
|
},
|
|
{
|
|
"name":"username",
|
|
"description":"the username to use when connecting to the broker",
|
|
"defaultValue":"guest"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"tap",
|
|
"group":"other",
|
|
"description":"Input channel for tapping into an existing stream",
|
|
"metadata":{
|
|
"fixed-name": true,
|
|
"hide-tooltip-options": true
|
|
},
|
|
"properties":[
|
|
{
|
|
"name":"channel"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":0,
|
|
"maxOutgoingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"named-channel",
|
|
"metadata":{
|
|
"fixed-name": true
|
|
},
|
|
"description":"A named channel that can be used as a source or a sync",
|
|
"group":"other",
|
|
"properties":[
|
|
{
|
|
"name":"channel",
|
|
"description":"the input/output channel name: e.g. queue:topic:foo"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1,
|
|
"xorSourceSink": true
|
|
}
|
|
},
|
|
{
|
|
"name":"filter",
|
|
"group":"processor",
|
|
"description":"Filters messages from the stream where the supplied expression evaluates to false",
|
|
"properties":[
|
|
{
|
|
"name":"expression",
|
|
"description":"SpEL expression returning true or false"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"transform",
|
|
"group":"processor",
|
|
"description":"Modify a messages content or structure in the stream",
|
|
"properties":[
|
|
{
|
|
"name":"expression",
|
|
"description":"A SpEL expression to transform the message, default: payload.toString()"
|
|
},
|
|
{
|
|
"name":"script",
|
|
"description":"Reference to a script used to transform the message"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"groovy-transform",
|
|
"group":"processor",
|
|
"description":"Modify a messages content or structure in the stream",
|
|
"properties":[
|
|
{
|
|
"name":"groovy",
|
|
"source": {
|
|
"mime":"text/x-groovy",
|
|
"type":"groovy"
|
|
},
|
|
"description":"Groovy script to transform the message",
|
|
"defaultValue":"/* Groovy script goes here */"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"aggregator",
|
|
"group":"processor",
|
|
"description":"Aggregates messages from the stream where the supplied expression evaluates to false",
|
|
"properties":[
|
|
{
|
|
"name":"expression",
|
|
"description":"SpEL expression returning true or false"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"splitter",
|
|
"group":"processor",
|
|
"description":"Splits messages from the stream where the supplied expression evaluates to false",
|
|
"properties":[
|
|
{
|
|
"name":"expression",
|
|
"description":"SpEL expression returning true or false"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"json-to-tuple",
|
|
"group":"processor",
|
|
"description":"Transforms JSON message into an object of tuples",
|
|
"properties":[
|
|
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"object-to-json",
|
|
"group":"processor",
|
|
"description":"Takes in object message and sends out the JSON representation of the object further",
|
|
"properties":[
|
|
|
|
],
|
|
"constraints":{
|
|
"maxOutgoingLinksNumber":1,
|
|
"maxIncomingLinksNumber":1
|
|
}
|
|
},
|
|
{
|
|
"name":"log",
|
|
"metadata":{
|
|
"allow-additional-properties": true
|
|
},
|
|
"description":"A simple sink that logs the data using the application logger",
|
|
"group":"sink",
|
|
"properties":[
|
|
{
|
|
"name":"expression",
|
|
"defaultValue":"payload",
|
|
"description":"the expression to be evaluated for the log content; use #root to log the full message, default: payload"
|
|
},
|
|
{
|
|
"name":"name",
|
|
"defaultValue":"<streamName>",
|
|
"description":"sink name (prefixed with logger during output)"
|
|
},
|
|
{
|
|
"name":"level",
|
|
"defaultValue":"INFO",
|
|
"description":"the log level"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"file",
|
|
"group":"sink",
|
|
"description":"Stream the data to a file on the host OS",
|
|
"properties":[
|
|
{
|
|
"name":"name",
|
|
"description":"file name"
|
|
},
|
|
{
|
|
"name":"dir",
|
|
"description":"directory name"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"mail",
|
|
"group":"sink",
|
|
"description":"Output source for sending out emails",
|
|
"properties":[
|
|
{
|
|
"name":"protocol",
|
|
"defaultValue":"imaps",
|
|
"description":"the protocol to use amongst pop3, pop3s, imap, imaps (only imap variants for the imap module)"
|
|
},
|
|
{
|
|
"name":"username",
|
|
"description":"the username to use to connect to the mail server"
|
|
},
|
|
{
|
|
"name":"password",
|
|
"description":"the password to use to connect to the mail server"
|
|
},
|
|
{
|
|
"name":"host",
|
|
"defaultValue":"localhost",
|
|
"description":"the hostname of the mail server (default: localhost)"
|
|
},
|
|
{
|
|
"name":"port",
|
|
"description":"the port of the mail server"
|
|
},
|
|
{
|
|
"name":"folder",
|
|
"defaultValue":"INBOX",
|
|
"description":"the folder to take emails from"
|
|
},
|
|
{
|
|
"name":"markAsRead",
|
|
"defaultValue":false,
|
|
"description":"whether to mark emails as read once they?ve been fetched by the module"
|
|
},
|
|
{
|
|
"name":"delete",
|
|
"defaultValue":true,
|
|
"description":"whether to delete the emails once they?ve been fetched by the module"
|
|
},
|
|
{
|
|
"name":"fixedDelay",
|
|
"defaultValue":60,
|
|
"description":"Does not apply to the imap source, the polling interval used for looking up messages, expressed in seconds."
|
|
},
|
|
{
|
|
"name":"charset",
|
|
"defaultValue":"UTF-8",
|
|
"description":"the charset used to transform the body of the incoming emails to Strings."
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"mqtt",
|
|
"group":"sink",
|
|
"description":"MQTT messages output",
|
|
"properties":[
|
|
{
|
|
"name":"clientId",
|
|
"description":"identifies the client",
|
|
"defaultValue":"xd.mqtt.client.id.src"
|
|
},
|
|
{
|
|
"name":"password",
|
|
"description":"the password to use when connecting to the broker",
|
|
"defaultValue":"guest"
|
|
},
|
|
{
|
|
"name":"topics",
|
|
"description":"the topic(s) to which the source will subscribe",
|
|
"defaultValue":"xd.mqtt.test"
|
|
},
|
|
{
|
|
"name":"url",
|
|
"description":"location of the mqtt broker",
|
|
"defaultValue":"tcp://localhost:1883"
|
|
},
|
|
{
|
|
"name":"username",
|
|
"description":"the username to use when connecting to the broker",
|
|
"defaultValue":"guest"
|
|
},
|
|
{
|
|
"name":"qos",
|
|
"description":"the quality of service to use",
|
|
"defaultValue":1
|
|
},
|
|
{
|
|
"name":"retained",
|
|
"description":"whether to set the \"retained\" flag",
|
|
"defaultValue":false
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"hdfs",
|
|
"group":"sink",
|
|
"description":"HDFS output",
|
|
"properties":[
|
|
{
|
|
"name":"codec",
|
|
"description":"compression codec alias name (gzip, snappy, bzip2, lzo, or slzo)",
|
|
"defaultValue":""
|
|
},
|
|
{
|
|
"name":"fileExtension",
|
|
"description":"the base filename extension to use for the created files",
|
|
"defaultValue":"txt"
|
|
},
|
|
{
|
|
"name":"fileOpenAttempts",
|
|
"description":"maximum number of file open attempts to find a path",
|
|
"defaultValue":10
|
|
},
|
|
{
|
|
"name":"fileName",
|
|
"description":"the base filename to use for the created files",
|
|
"defaultValue":"<stream name>"
|
|
},
|
|
{
|
|
"name":"directory",
|
|
"description":"where to output the files in the Hadoop FileSystem",
|
|
"defaultValue":"/xd/<stream name>"
|
|
},
|
|
{
|
|
"name":"fileUuid",
|
|
"description":"whether file name should contain uuid",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"fsUri",
|
|
"description":"the URI to use to access the Hadoop FileSystem",
|
|
"defaultValue":"${spring.hadoop.fsUri}"
|
|
},
|
|
{
|
|
"name":"idleTimeout",
|
|
"description":"inactivity timeout after file will be automatically closed",
|
|
"defaultValue":0
|
|
},
|
|
{
|
|
"name":"inUsePrefix",
|
|
"description":"prefix for files currently being written",
|
|
"defaultValue":""
|
|
},
|
|
{
|
|
"name":"inUseSuffix",
|
|
"description":"suffix for files currently being written",
|
|
"defaultValue":".tmp"
|
|
},
|
|
{
|
|
"name":"overwrite",
|
|
"description":"whether writer is allowed to overwrite files in Hadoop FileSystem",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"partitionPath",
|
|
"description":"a SpEL expression defining the partition path",
|
|
"defaultValue":""
|
|
},
|
|
{
|
|
"name":"rollover",
|
|
"description":"threshold in bytes when file will be automatically rolled over",
|
|
"defaultValue":"1G"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"jdbc",
|
|
"group":"sink",
|
|
"description":"Inserts message payload data into a relational database table",
|
|
"properties":[
|
|
{
|
|
"name":"abandonWhenPercentageFull",
|
|
"description":"connections that have timed out wont get closed and reported up unless the number of connections in use are above the percentage ",
|
|
"defaultValue":0
|
|
},
|
|
{
|
|
"name":"alternateUsernameAllowed",
|
|
"description":"uses an alternate user name if connection fails",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"columns",
|
|
"description":"the database columns to map the data to",
|
|
"defaultValue":"payload"
|
|
},
|
|
{
|
|
"name":"driverClassName",
|
|
"description":"the JDBC driver to use"
|
|
},
|
|
{
|
|
"name":"fairQueue",
|
|
"description":"set to true if you wish that calls to getConnection should be treated fairly in a true FIFO fashion",
|
|
"defaultValue":"false"
|
|
},
|
|
{
|
|
"name":"initSQL",
|
|
"description":"custom query to be run when a connection is first created"
|
|
},
|
|
{
|
|
"name":"initialSize",
|
|
"description":"initial number of connections that are created when the pool is started",
|
|
"defaultValue":0
|
|
},
|
|
{
|
|
"name":"initializeDatabase",
|
|
"description":"whether the database initialization script should be run",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"jdbcInterceptors",
|
|
"description":"semicolon separated list of classnames extending org.apache.tomcat.jdbc.pool.JdbcInterceptor"
|
|
},
|
|
{
|
|
"name":"jmxEnabled",
|
|
"description":"register the pool with JMX or not",
|
|
"defaultValue":true
|
|
},
|
|
{
|
|
"name":"logAbandoned",
|
|
"description":"flag to log stack traces for application code which abandoned a Connection",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"maxActive",
|
|
"description":"maximum number of active connections that can be allocated from this pool at the same time",
|
|
"defaultValue":100
|
|
},
|
|
{
|
|
"name":"maxAge",
|
|
"description":"time in milliseconds to keep this connection",
|
|
"defaultValue":0
|
|
},
|
|
{
|
|
"name":"maxIdle",
|
|
"description":"maximum number of connections that should be kept in the pool at all times",
|
|
"defaultValue":100
|
|
},
|
|
{
|
|
"name":"maxWait",
|
|
"description":"maximum number of milliseconds that the pool will wait for a connection",
|
|
"defaultValue":30000
|
|
},
|
|
{
|
|
"name":"minEvictableIdleTimeMillis",
|
|
"description":"minimum amount of time an object may sit idle in the pool before it is eligible for eviction",
|
|
"defaultValue":60000
|
|
},
|
|
{
|
|
"name":"minIdle",
|
|
"description":"minimum number of established connections that should be kept in the pool at all times",
|
|
"defaultValue":10
|
|
},
|
|
{
|
|
"name":"password",
|
|
"description":"the JDBC password"
|
|
},
|
|
{
|
|
"name":"removeAbandoned",
|
|
"description":"flag to remove abandoned connections if they exceed the removeAbandonedTimout",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"removeAbandonedTimeout",
|
|
"description":"timeout in seconds before an abandoned connection can be removed",
|
|
"defaultValue":60
|
|
},
|
|
{
|
|
"name":"suspectTimeout",
|
|
"description":"this simply logs the warning after timeout, connection remains",
|
|
"defaultValue":0
|
|
},
|
|
{
|
|
"name":"tableName",
|
|
"description":"the database table to which the data will be written",
|
|
"defaultValue":"<stream name>"
|
|
},
|
|
{
|
|
"name":"testOnBorrow",
|
|
"description":"indication of whether objects will be validated before being borrowed from the pool",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"testOnReturn",
|
|
"description":"indication of whether objects will be validated before being returned to the pool",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"testWhileIdle",
|
|
"description":"indication of whether objects will be validated by the idle object evictor",
|
|
"defaultValue":false
|
|
},
|
|
{
|
|
"name":"timeBetweenEvictionRunsMillis",
|
|
"description":"number of milliseconds to sleep between runs of the idle connection validation/cleaner thread",
|
|
"defaultValue":5000
|
|
},
|
|
{
|
|
"name":"url",
|
|
"description":"the JDBC URL for the database"
|
|
},
|
|
{
|
|
"name":"useEquals",
|
|
"description":"true if you wish the ProxyConnection class to use String.equals",
|
|
"defaultValue":true
|
|
},
|
|
{
|
|
"name":"username",
|
|
"description":"the JDBC username"
|
|
},
|
|
{
|
|
"name":"validationInterval",
|
|
"description":"avoid excess validation, only run validation at most at this frequency - time in milliseconds",
|
|
"defaultValue":30000
|
|
},
|
|
{
|
|
"name":"validationQuery",
|
|
"description":"sql query that will be used to validate connections from this pool"
|
|
},
|
|
{
|
|
"name":"validatorClassName",
|
|
"description":"name of a class which implements the org.apache.tomcat.jdbc.pool.Validator"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"null",
|
|
"group":"sink",
|
|
"description":"Used when the main stream is not focused on stream destination but the tap streams are used for analytics etc., It is also useful to iteratively add in steps to a stream without worrying about having to land data anywhere.",
|
|
"properties":[
|
|
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"counter",
|
|
"group":"sink",
|
|
"description":"A counter is a Metric that associates a unique name with a long value. It is primarily used for counting events triggered by incoming messages on a target stream",
|
|
"properties":[
|
|
{
|
|
"name":"name",
|
|
"description":"the name of the metric to contribute to (will be created if necessary)",
|
|
"defaultValue":"<stream name>"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"field-value-counter",
|
|
"group":"sink",
|
|
"description":"A field value counter is a Metric used for counting occurrences of unique values for a named field in a message payload",
|
|
"properties":[
|
|
{
|
|
"name":"name",
|
|
"description":"the name of the metric to contribute to (will be created if necessary)",
|
|
"defaultValue":"<stream name>"
|
|
},
|
|
{
|
|
"name":"fieldName",
|
|
"description":"the name of the field for which values are counted"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"aggregate-counter",
|
|
"group":"sink",
|
|
"description":"The aggregate counter differs from a simple counter in that it not only keeps a total value for the count, but also retains the total count values for each minute, hour day and month of the period for which it is run. The data can then be queried by supplying a start and end date and the resolution at which the data should be returned.",
|
|
"properties":[
|
|
{
|
|
"name":"name",
|
|
"description":"the name of the metric to contribute to (will be created if necessary)",
|
|
"defaultValue":"<stream name>"
|
|
},
|
|
{
|
|
"name":"dateFormat",
|
|
"description":"a pattern (as in SimpleDateFormat) for parsing/formatting dates and timestamps",
|
|
"defaultValue":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
|
|
},
|
|
{
|
|
"name":"timeField",
|
|
"description":"name of a field in the message that contains the timestamp to contribute to",
|
|
"defaultValue":null
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"gauge",
|
|
"group":"sink",
|
|
"description":"A gauge is a Metric, similar to a counter in that it holds a single long value associated with a unique name. In this case the value can represent any numeric value defined by the application",
|
|
"properties":[
|
|
{
|
|
"name":"name",
|
|
"description":"the name of the metric to contribute to (will be created if necessary)",
|
|
"defaultValue":"<stream name>"
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
},
|
|
{
|
|
"name":"rich-gauge",
|
|
"group":"sink",
|
|
"description":"A rich gauge is a Metric that holds a double value associated with a unique name. In addition to the value, the rich gauge keeps a running average, along with the minimum and maximum values and the sample count",
|
|
"properties":[
|
|
{
|
|
"name":"name",
|
|
"description":"the name of the metric to contribute to (will be created if necessary)",
|
|
"defaultValue":"<stream name>"
|
|
},
|
|
{
|
|
"name":"alpha",
|
|
"description":"smoothing constant, or -1 to use arithmetic mean",
|
|
"defaultValue":-1.0
|
|
}
|
|
],
|
|
"constraints":{
|
|
"maxIncomingLinksNumber":1,
|
|
"maxOutgoingLinksNumber":0
|
|
}
|
|
}
|
|
]
|