Получение java.lang.IllegalStateException: Регионы не могут быть созданы в локаторе - PullRequest
0 голосов
/ 05 июля 2018
public static void main(String args[])throws Exception{
    if(Locator.hasLocator()) {
        Locator l = Locator.getLocator();
        System.out.println("Name of the locator running is: "+l.asString());
    }else {
        LocatorLauncher locatorLauncher = new 

        LocatorLauncher.Builder().setMemberName("mylocator").
        setPort(13334).build();
        locatorLauncher.start();
        ServerLauncher serverLauncher = new 
        ServerLauncher.Builder().setMemberName("myserver").
        setServerPort(40404).
        set("sta rt-locator", "localhost[13334]").build();
        System.out.println(serverLauncher.getMemberName());
    }

    Cache myCache = new CacheFactory().create();
    System.out.println("Cache created");
    Region<String, String> myRegion = myCache.<String, 
    String>createRegionFactory(RegionShortcut.REPLICATE).create("region");
    myRegion.put("1","One");
    myRegion.put("2","Two");
}

Я получаю эту ошибку при выполнении кода:

Exception in thread "main" java.lang.IllegalStateException: Regions can not be created in a locator.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 05 июля 2018

Не могли бы вы немного рассказать, почему вы хотите запустить локатор, используя LocatorLauncher? Локаторы предназначены только для обнаружения членов, поэтому я считаю, что это допустимое исключение.

Для начала я бы просто использовал gfsh (из каталога / bin вашей установки geode), чтобы запустить локатор, а затем создать регионы:

$ gfsh
gfsh> start locator
gfsh> start server
gfsh> create region --name=hello --type=REPLICATE

Затем напишите простой клиент для доступа к данным, как описано на этой вики-странице .

...