StreamBase Path Notation

StreamBase's formal path notation is designed to avoid naming conflicts when you run multiple modules in the same StreamBase Server in different containers, and when operators are run in separate threads. StreamBase path notation is used to address individual streams or operators when using the sbadmin and sbc commands, or while configuring container connections in a StreamBase deployment file.

For example, the following command asks for the XML representation of one particular stream:

sbc describe default.OutputStream1

StreamBase path notation uses the following syntax, with a period separator between each element:

containerName.[moduleRefName[.moduleRef2Name]...].entityName
containerName

The name of the container hosting the application. Container names are either system, default, or a name you assigned when creating a container. The following example addresses two operators with the same name in separate containers:

container1.ReadOrders
default.ReadOrders

When containerName is omitted, the container named default is assumed. Every StreamBase application has a default container named default, which contains the application's top-level module unless you explicitly create a non-default container. This means you can often omit the containerName portion of the address unless you are addressing a non-default container, or if a name conflict would otherwise occur. For example, the following commands are equivalent if the server is running a single application container:

sbc enqueue default.InputStream1
sbc enqueue InputStream1
moduleRefName

The name of a module that is either referenced explicitly in the application, or referenced implicitly by StreamBase. Implicit references occur when a component runs in separate or multiple parallel threads. In this case, StreamBase creates a module for each running instance. There can be multiple moduleRefName levels in the address syntax.

The following line addresses an operator named SumOrders within a module reference named MWindowModuleRef1:

MWindowModuleRef1.SumOrders

The next example addresses a group of entities associated with an operator that you have opted to run in its own thread. In each entity, the prefix references the module that StreamBase creates for the operator's thread (parallel region).

MyOperator.InputStream1              (input stream)
MyOperator.out:MyOperator_1          (output stream)
MyOperator.schema:RetrieveLastOrders (schema)
MyOperator.MyOperator                (operator)

Finally, If you set a component to run in multiple parallel regions, you can address each region separately. The following addresses two instances for the same operator:

default.Filter:0.Filter
default.Filter:1.Filter
entityName

The name of an individual stream, operator, or schema.