0

I'm deploying Lightstreamer Moderato (free for production use) as a stateless guest executable in Service Fabric.

I extracted Java in a jdk folder and Lightstreamer to a ls folder in a CodePackage called lib. Everything is working perfectly. The maintenance problem is that the config package version has to be specified in the ExeHost Arguments element:

ServiceManifest.xml:

  <CodePackage Name="lib" Version="1.2.3">
    <EntryPoint>
      <ExeHost>
        <Program>jdk\bin\java.exe</Program>
        <Arguments>-server -XX:MaxGCPauseMillis=1000 -Dcom.lightstreamer.kernel_lib_path=".\ls\lightstreamer.jar" -Dcom.lightstreamer.internal_lib_path=".\ls\ls-monitor.jar";".\ls\core\*" -Dcom.lightstreamer.logging_lib_path=".\ls\ls-logging-utilities.jar";".\ls\log\*" -cp ".\ls\ls-bootstrap.jar";".\ls\ls-adapter-interface.jar" com.lightstreamer.LS "..\Lightstreamer-Main.conf.2.0\lightstreamer_conf.xml"</Arguments>
    <WorkingFolder>CodePackage</WorkingFolder>
        <ConsoleRedirection FileRetentionCount="5" FileMaxSizeInKb="2048"/>
      </ExeHost>
    </EntryPoint>
  </CodePackage>

  <ConfigPackage Name="conf" Version="2.0" />

How can a Service Fabric guest executable ServiceManifest.xml reference the correct ConfigPackage deployment in the command-line arguments?

George Tsiokos
  • 1,890
  • 21
  • 31

1 Answers1

2

Use SetupEntryPoint to find the latest cfg version folder, create a symlink, and change the command-line arguments to use the symlink instead of the versioned cfg package path.

yzorg
  • 4,224
  • 3
  • 39
  • 57