Jump to content
We've recently updated our Privacy Statement, available here. ×

Override StreamBase component configuration at runtime

Bhaskar Kulkarni

Recommended Posts

Hello bhaskar.kulkarni and welcome to StreamBase!

In general, how you set external values into a StreamBase application in a deployment environment is rather a rich topic and there are a number of ways to do it. The recommended mechanisms tend to vary with the version of StreamBase, as well. I'll assume since you are new that you are using "the latest;" that is, 10.6.1 though my comments would be the same for any version from 10.5.0.

There is a nice writeup on externalization and paramaterization from TIBCO Product Support here: https://support.tibco.com/s/article/Constants-Operator-Parameters-Module-Parameters-and-Substitution-Variable-Configuration

This article recommends using operator parameters; that recommendation changed as of 10.5.0 when operator parameters were (prematurely in my highly opinionated view) deprecated in favor of the parameter settings group and container parameter mechanisms. However, there aren't any good published examples yet of using container parameters for what you are asking. Operator parameters still work after 10.5.0; I don't know for how long, though.

However, in your specific example of parameterizing the Run this component in parallel region operator property, I am sorry to tell you that doing that directly is not explicitly supported by the product. Mechanically, this restriction exists because there is no way in the Studio UI to turn that checkbox into a text box.

However, one might reasonably question why letting a deployer change whether something is concurrent or not is really that good an idea from a software engineering perspective -- I would think changing the determinism in the order of tuple processing is one of those things that would invalidate any invariants around the functional testing of your application, and it seems like something that ought not to be so easy to do without a lot of forethought and careful consideration.

I can think of a couple ways to workaround this arguable product limitation, but again -- it's probably not a really good idea to do that, though feel free to convince me otherwise, and I'll reveal the secrets. ;-)

You can, however, parameterize the Number of Instances property if you are using the Multiplicity features of StreamBase. Maybe that will get you closer to what you want, and it's not such a questionable design.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...