Thanks for the info Kirk. On Wed, Jul 1, 2015 at 12:56 PM John Blum <[email protected]> wrote:
> +1 for moving DistributionConfig to the public package. I prefer referring > to GemFire (System) properties using the DistributionConfig constants > rather than the actual String literal in my configuration, especially in > code. > > On Wed, Jul 1, 2015 at 9:47 AM, Bruce Schuchardt <[email protected]> > wrote: > > > Shouldn't DistributionConfig be moved to the public API? It seems like a > > pretty convenient class. Maybe that could be done when the repackaging > is > > being done. > > > > > > Le 6/30/2015 8:31 PM, Kirk Lund a écrit : > > > >> Yeah, the LocatorLauncher is intended to be an API for starting a > >> Locator in your local JVM or to use as the main when starting a new JVM. > >> > >> You don't need to have a gemfire.properties file. You can > programmatically > >> define all of your config options at runtime and either feed them in via > >> the LocatorLauncher.Builder. > >> > >> LocatorLauncher launcher = new Builder() > >> .setForce(true) > >> .setMemberName(getUniqueName()) > >> .setPort(this.locatorPort) > >> .set(DistributionConfig.LOG_LEVEL_NAME, "config") > >> .set(DistributionConfig.MCAST_PORT_NAME, "0") > >> .set(DistributionConfig.LOCATORS_NAME, "hostname:port") > >> .build() > >> .start(); > >> > >> *replace "hostname:port" with a real hostname and port for any other > >> locators > >> > >> If you don't want to use the internal (non-user-API) DistributionConfig > >> then just specify strings for the property names: > >> > >> .set("log-level", "config") > >> .set("mcast-port", "0") > >> .set("locators", "hostname:port") > >> > >> Another way to set these at runtime is to set System properties with > >> the "gemfire." prefix: > >> > >> System.setProperty("gemfire.log-level", "config"); > >> System.setProperty("gemfire.mcast-port", "0"); > >> System.setProperty("gemfire.locators", "hostname:port"); > >> > >> LocatorLauncher.start() is invoking InternalLocator.startLocator(...) > >> which is the implementation of a locator and it's passing in a > Properties > >> instance with all the key:value gemfire.properties you set. Down inside > >> InternalLocator, it adds the local locator into the "locators" before > >> connecting to the DistributedSystem, so don't add the local locator to > >> your "locators" value within this JVM. Just list out hostname:port > values > >> for other locators. If you did use a gemfire.properties file that's the > >> same place in the code that would trigger finding and loading the > >> properties file. > >> > >> -Kirk (@kirk_lund) > >> > >> > >> On Tue, Jun 30, 2015 at 7:07 PM, Vinicius Carvalho < > >> [email protected]> wrote: > >> > >> Hi there, is it possible to use the LocatorLauncher class to bootstrap > my > >>> locators within my code, and set the hosts of other locators > dynamically? > >>> > >>> I don't have multicast enabled (AWS) and I need to specify the other > >>> locators by using an EC2 discovery. > >>> > >>> I could not find a way with the class to specify other locators in the > >>> system. Only via gemfire.properties. > >>> > >>> Is there a way to do such thing? > >>> > >>> Thank you > >>> > >>> > > > > > -- > -John > 503-504-8657 > john.blum10101 (skype) >
