Normally an
EventFlowDeployment configuration file is not used in a fragment project, but instead only used in an application project. However, it is allowed and will be used when launching applications from Studio and using the Test/Debug perspective.
A simple deployment file example which causes a problem is (simple_deploy.conf):
name = "simple_deploy" type = "com.tibco.ep.streambase.configuration.sbengine" version = "1.0.0" configuration = { EventFlowDeployment = { modules = [ { moduleName = "com.sb.support.myapp.MyApp" containerName = "default" moduleParameters = { REP1 = ${SUB1:-'defaultValue1'} } } ] } }
This deployment file will conflict with running any fragment in this project because it references the "default" container.
The launch error is:
error (fragment deploy): nodename.clustername - Caused by: com.kabira.platform.component.ComponentException:\ EventFlow deployment configuration defines container "default", which is also being used as a deploy container name error (fragment deploy): nodename.clustername - com.kabira.platform.management.Exit:Fragment deploy failed with exit code 1 failed (fragment deploy): returnCode = 1
Remove the conflict by: a) editing the Run Configuration to un-select from Main tab, Configuration files:, src/main/configurations/{deploy.conf}.
b) editing the deployment configuration by changing the
containerName setting to something other than "default". This will run the specified module in another container at the same time the Run Configuration launches its configured module in the "default" container.
If you get the "Fragment deploy failed" error above, then delete the failed node directory at {workspace}\.nodes\{nodename.clustername}.
If you do not remove the failed node, then Studio will prompt you to confirm whether to delete this directory at the next launch (dialog example):
Reply "Yes" to this dialog.
Background
All existing configurations in
src/main/configurations are automatically selected when Studio creates a new Run Configuration when initially launching a new EventFlow fragment. This means that if an existing deploy configuration launches additional fragments into other containers, these will be
automatically included in the server instance which is started. Additional containers started this way will
not be connected by Studio for manual input or showing stream output. Only the one EventFlow fragment specified in the Run Configuration, Main tab, "Main EventFlow module (.sbapp)" will be connected to the Test/Debug perspective. That application is run in the container named "default".
This behavior is described in the SB 10.2 "Known Limitations" release notes section as items SB-42324, SB-30773, and SB-30846. This limitation does not occur when running the application from the
epadmin command-line.