Actually, same problem for the Cache:

Properties properties = new Properties();
properties.setProperty("locators", LOCATORS.get());
Cache cache = new CacheFactory(properties).create();

As soon as I add locators, create() throws the same exception.

On Thu, Apr 21, 2016 at 9:53 AM, Eugene Strokin <[email protected]> wrote:

> Thanks Kirk,
> I've tried your code. Which was very similar to what I have:
>
> new LocatorLauncher.Builder()
> .setBindAddress(TRANSPORT_IP.get())
> .setPort(LOCATOR_PORT.get())
> .setWorkingDirectory("/opt/ccio/geode/locator")
> .build()
> .start();
>
> new ServerLauncher.Builder()
> .setServerBindAddress(TRANSPORT_IP.get())
> .setServerPort(TRANSPORT_PORT.get())
> .setWorkingDirectory("/opt/ccio/geode/server")
> .build()
> .start();
>
> So, all I was missing is
> .set("locators", LOCATORS.get())
> for Server Launcher.
> But as soon as I've added it, I've started getting exception:
>
> Exception in thread "main" java.lang.IllegalStateException: A connection
> to a distributed system already exists in this VM.  It has the following
> configuration:
>   ack-severe-alert-threshold="0"
>   ack-wait-threshold="15"
>   archive-disk-space-limit="0"
>   archive-file-size-limit="0"
>   async-distribution-timeout="0"
>   async-max-queue-size="8"
>   async-queue-timeout="60000"
>   bind-address=""
>   cache-xml-file="" ***(wanted "cache.xml")***
>   cluster-configuration-dir="/Users/es/git/ccio/ccio-image"
>   cluster-ssl-ciphers="any"
>   cluster-ssl-enabled="false"
>   cluster-ssl-keystore=""
>   cluster-ssl-keystore-password=""
>   cluster-ssl-keystore-type=""
>   cluster-ssl-protocols="any"
>   cluster-ssl-require-authentication="true"
>   cluster-ssl-truststore=""
>   cluster-ssl-truststore-password=""
>   conflate-events="server"
>   conserve-sockets="true"
>   delta-propagation="true"
>   deploy-working-dir="."
>   disable-auto-reconnect="false"
>   disable-tcp="false"
>   distributed-system-id="-1"
>   distributed-transactions="false"
>   durable-client-id=""
>   durable-client-timeout="300"
>   enable-cluster-configuration="true"
>   enable-network-partition-detection="false"
>   enable-time-statistics="false"
>   enforce-unique-host="false"
>   gateway-ssl-ciphers="any"
>   gateway-ssl-enabled="false"
>   gateway-ssl-keystore=""
>   gateway-ssl-keystore-password=""
>   gateway-ssl-keystore-type=""
>   gateway-ssl-protocols="any"
>   gateway-ssl-require-authentication="true"
>   gateway-ssl-truststore=""
>   gateway-ssl-truststore-password=""
>   groups=""
>   http-service-bind-address=""
>   http-service-port="7070"
>   http-service-ssl-ciphers="any"
>   http-service-ssl-enabled="false"
>   http-service-ssl-keystore=""
>   http-service-ssl-keystore-password=""
>   http-service-ssl-keystore-type=""
>   http-service-ssl-protocols="any"
>   http-service-ssl-require-authentication="false"
>   http-service-ssl-truststore=""
>   http-service-ssl-truststore-password=""
>   jmx-manager="true" ***(wanted "false")***
>   jmx-manager-access-file=""
>   jmx-manager-bind-address=""
>   jmx-manager-hostname-for-clients=""
>   jmx-manager-http-port="7070"
>   jmx-manager-password-file=""
>   jmx-manager-port="1099"
>   jmx-manager-ssl="false"
>   jmx-manager-ssl-ciphers="any"
>   jmx-manager-ssl-enabled="false"
>   jmx-manager-ssl-keystore=""
>   jmx-manager-ssl-keystore-password=""
>   jmx-manager-ssl-keystore-type=""
>   jmx-manager-ssl-protocols="any"
>   jmx-manager-ssl-require-authentication="true"
>   jmx-manager-ssl-truststore=""
>   jmx-manager-ssl-truststore-password=""
>   jmx-manager-start="false"
>   jmx-manager-update-rate="2000"
>   load-cluster-configuration-from-dir="false"
>   locator-wait-time="0"
>   locators="10.36.76.221[9300]" ***(wanted "localhost[9300]")***
>   lock-memory="false"
>   log-disk-space-limit="50"
>   log-file="/opt/ccio/geode/logs/geode.log"
>   log-file-size-limit="10"
>   log-level="config"
>   max-num-reconnect-tries="3"
>   max-wait-time-reconnect="60000"
>   mcast-address="/239.192.81.1"
>   mcast-flow-control="1048576, 0.25, 5000"
>   mcast-port="0"
>   mcast-recv-buffer-size="1048576"
>   mcast-send-buffer-size="65535"
>   mcast-ttl="32"
>   member-timeout="5000"
>   membership-port-range="[1024,65535]"
>   memcached-bind-address=""
>   memcached-port="0"
>   memcached-protocol="ASCII"
>   name=""
>   off-heap-memory-size=""
>   redis-bind-address=""
>   redis-password=""
>   redis-port="0"
>   redundancy-zone=""
>   remote-locators=""
>   remove-unresponsive-client="false"
>   roles=""
>   security-=""
>   security-client-accessor=""
>   security-client-accessor-pp=""
>   security-client-auth-init=""
>   security-client-authenticator=""
>   security-client-dhalgo=""
>   security-log-file=""
>   security-log-level="config"
>   security-peer-auth-init=""
>   security-peer-authenticator=""
>   security-peer-verifymember-timeout="1000"
>   server-bind-address=""
>   server-ssl-ciphers="any"
>   server-ssl-enabled="false"
>   server-ssl-keystore=""
>   server-ssl-keystore-password=""
>   server-ssl-keystore-type=""
>   server-ssl-protocols="any"
>   server-ssl-require-authentication="true"
>   server-ssl-truststore=""
>   server-ssl-truststore-password=""
>   socket-buffer-size="32768"
>   socket-lease-time="60000"
>   ssl-ciphers="any"
>   ssl-enabled="false"
>   ssl-protocols="any"
>   ssl-require-authentication="true"
>   start-dev-rest-api="false"
>   start-locator=""
>   statistic-archive-file=""
>   statistic-sample-rate="1000"
>   statistic-sampling-enabled="true"
>   tcp-port="0"
>   udp-fragment-size="60000"
>   udp-recv-buffer-size="1048576"
>   udp-send-buffer-size="65535"
>   use-cluster-configuration="true"
>   user-command-packages=""
> at
> com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.validateSameProperties(InternalDistributedSystem.java:2890)
> at
> com.gemstone.gemfire.distributed.DistributedSystem.connect(DistributedSystem.java:1628)
> at com.gemstone.gemfire.cache.CacheFactory.create(CacheFactory.java:224)
> at
> com.gemstone.gemfire.distributed.ServerLauncher.startWithGemFireApi(ServerLauncher.java:822)
> at
> com.gemstone.gemfire.distributed.ServerLauncher.start(ServerLauncher.java:718)
> at ccio.image.ImageServer.main(ImageServer.java:80)
>
> This exception happens on start of the ServerLauncher.
> And without "locators" property it worked.
> Do you have any idea why this could be?
>
> Thanks,
> Eugene
>
> On Wed, Apr 20, 2016 at 7:10 PM, Kirk Lund <[email protected]> wrote:
>
>> Hi Eugene,
>>
>> You can run a server and a locator on the same machine or even in the
>> same process.
>>
>> Distributed system properties (see javadocs on DistributedSystem [1]):
>> locators -- use this to specify one or more locators
>> start-locator -- use this to embed a locator in a server process
>>
>> Launcher APIs:
>> LocatorLauncher.Builder.set(String, String) and
>> ServerLauncher.Builder.set(String, String) can be used to set any
>> distributed system properties:
>> new ServerLauncher.Builder().setMemberName("myname").set("locators",
>> value).build().start();
>>
>> System Properties:
>> Simply prepend any distributed system property with "gemfire." and it can
>> be specified via a system property.
>> a) Java API: System.setProperty("gemfire.locators", value);
>> b) Java command-line: -Dgemfire.locators=value
>> c) gfsh start command: --J-Dgemfire.locators=value
>>
>> CacheFactory API:
>> Properties properties = new Properties();
>> properties.set("locators", value);
>> Cache cache = new CacheFactory(properties).create();
>>
>> The banner (first section) of the Geode log file will show how each
>> distributed system property was specified (ie, the source of the values)
>> for the Geode process.
>>
>> (I'm not sure if there are online geode javadocs or not so the following
>> are gemfire 8.1 javadocs)
>>
>> [0]
>> http://data-docs-samples.cfapps.io/docs-gemfire/latest/javadocs/japi/index.html
>> [1]
>> http://data-docs-samples.cfapps.io/docs-gemfire/latest/javadocs/japi/com/gemstone/gemfire/distributed/DistributedSystem.html
>>
>> -Kirk
>>
>>
>> On Wed, Apr 20, 2016 at 1:24 PM, Eugene Strokin <[email protected]>
>> wrote:
>>
>>> It looks like DigitalOcean does not support Multicast IP.
>>> In this case, from what I understood, I should be running Locators.
>>> My idea was to start a server and a locator on the same node using API
>>> (ServerLauncher, LocatorLauncher).
>>> My assumption, that the server will read a list of locators from
>>> gemfire.properties file and register itself there.
>>> If this is correct, my only question is: Can I specify the list of
>>> locators via API as well? Or maybe as a system property?
>>> If I'm wrong about servers registering themselves using the list of
>>> locators, please point me to the right direction.
>>>
>>> Thanks,
>>> Eugene
>>>
>>
>>
>

Reply via email to