This topic outlines a process for moving a StreamBase application from your development machine to a staging environment. This task is done outside of StreamBase Studio, so configuration parameters that were managed by the IDE must now be set explicitly.
The discussion here assumes that in most cases you will want to first stage an application, test it in the staging environment, and then move the application into production. Presumably the hardware and software configurations in your staging environment are identical to the production environment.
After you have confirmed that the application passed your acceptance criteria on a staging environment, you can replace staging environment with production environment in the following list and follow these deployment instructions:
-
As you did for the development nodes, make sure the nodes in the staging environment conform to the requirements listed on the Supported Configurations page.
-
Install StreamBase on each node in the staging environment. As with development environments, if you are using High Availability features, it is strongly recommended to use the same machine type, operating system patch level, and StreamBase configuration on each machine hosting StreamBase Server. For details about the installation steps, see the Installation Guide.
In a UNIX staging environment, you have the option of omitting the streambase-docs-* and streambase-development-* packages. You must always install the following packages:
-
The packages on the StreamBase CD in the
rpms/third-partydirectory (for Linux) or inpackages/streambase-prereq-*.*.pkgfile (for Solaris). If they are installed already on each staging environment node, do not reinstall them. -
The streambase-server-* package, which installs the StreamBase daemons.
-
The streambase-client-* package, which installs the StreamBase client programs, on which the server depends.
-
-
If your application uses adapters or Java operators that were developed in StreamBase Studio, package your programs into JAR files and export them, along with any other required resources, to your staging system. If your application uses custom functions, install the executable programs on the staging system.
-
If your application uses custom functions, check that the executable programs have been copied to a staging machine, and that they are in the correct directory. The directory should match the entry you specified in the sbd.sbconf configuration. For example:
<global> <plugin directory="${STREAMBASE_HOME}/plugin" /> </global> -
Configure the
*.sbconfconfiguration file of the sbd server that will run your application on the staging machine.-
If the application contains module references, define a
module-searchelement to identify each directory where you installed the modules. For details, please see in the element's description in the StreamBase Server Configuration XML reference topic. For example:<global> <module-search directory="/usr/local/streambase/modules"/> </global>
-
Use the
operator-resource-searchelement to specify each directory containing Java operator and adapter resources. Fpr example:<global> <operator-resource-search directory="${STREAMBASE_HOME}/resources"/> </global> -
To eliminate hardcoding adapter property values within StreamBase applications, you can define variables in the StreamBase configuration file and referenced from adapter properties. For example, the file name for CSV file writer adapter can be entered as
${MyCSVFile}if the following element exists in the StreamBase configuration file:<operator-parameters> <operator-parameter name="MyCSVFile" value="output.csv"/> </operator-parameters>
-
In the
java-vmelement:-
The
jarelement loads a JAR that contains Adapter classes used by your Adapters. At a minimum, you must define one JAR element. If needed, you can specify more than one JAR element. -
The
libraryelement loads native libraries used by Java code. -
The
direlement adds a directory to the classpath. If needed, you can specify more than one dir element. -
The
jvm-argsparam sends arguments to the JVM. You can use it to set max and min memory, Java properties, or other JVM options. Do not set the classpath in this parameter. Also, do not specify-serveror-clientbecause the server JVM is always loaded. -
The
java-homeparam allows you to specify a different JDK than the one StreamBase is currently configured to use. It is normally unnecessary to change this setting. If you decide to use a different JDK, see Supported Configurations topic for the JDK versions you can use with StreamBase.
-
-
