Hi Jens,

Thank you for coming back. I do have the configurations in my spring xml
file as follows. Starting the server from gfsh works fine. However, from a
spring boot app (2.3.0.RELEASE) with these configurations tries to start
the API then fails with these lines in the log. I have also
tried @EnableHttpService

2021-02-17 10:18:51.016  INFO 11756 --- [           main]
o.a.geode.management.internal.AgentUtil  : GEODE_HOME:D:\apache-geode-1.12.0
2021-02-17 10:18:51.017  INFO 11756 --- [           main]
o.a.geode.management.internal.AgentUtil  : Located war: geode-web-api at
location:
file:/D:/apache-geode-1.12.0/tools/Extensions/geode-web-api-1.12.0.war
2021-02-17 10:18:51.018  WARN 11756 --- [           main]
o.a.geode.management.internal.RestAgent  : HttpService is not available -
could not start Dev REST API


    <util:properties id="geodeProperties">
        <prop key="name">${SERVER_NAME}</prop>
        <prop key="mcast-port">0</prop>
        <prop key="locators">${LOCATORS}</prop>
        <prop key="jmx-manager">false</prop>
        <prop key="jmx-manager-start">false</prop>
        <prop key="http-service-bind-address">localhost</prop>
        <prop key="http-service-port">9301</prop>
        <prop key="http-service-ssl-require-authentication">false</prop>
        <prop key="start-dev-rest-api">true</prop>
        <prop key="enable-network-partition-detection">false</prop>
        <prop key="groups">default</prop>
    </util:properties>

    <geode:cache id="geodeCache"
                 properties-ref="geodeProperties"
                 pdx-serializer-ref="pdxSerializer"
                 enable-auto-reconnect="true"
                 critical-heap-percentage="90"
                 eviction-heap-percentage="80"
                 use-cluster-configuration="true"/>



This is what my pom looks like. Do you see any missing dependency here?

<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>geode-server</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>GeodeServer</name>

  <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.0.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-geode</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.shell</groupId>
            <artifactId>spring-shell</artifactId>
            <version>1.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


Thanks,
Pratibha

On Tue, Feb 16, 2021 at 8:12 PM Jens Deppe <jde...@vmware.com> wrote:

> Hi Pratibha,
>
>
>
> In order to start the Developer REST API (which also exposes the Swagger
> UI) you must set the following properties when you start the server:
>
>
>
> start-dev-rest-api=true
>
>
>
> In order to do this from gfsh you should use the following option:
> --J=-Dgemfire.start-dev-rest-api=true. Or if you have a
> gemfire.properties file then just add the property (without the “gemfire.”
> prefix). In the server log you should see the following lines indicating
> the correct startup of the Dev REST API:
>
>
>
> [info 2021/02/16 06:32:45.144 PST server1 <main> tid=0x1]
> GEODE_HOME:/Users/jdeppe/workspace/gemfire-develop/open/geode-assembly/build/install/apache-geode
>
>
>
> [info 2021/02/16 06:32:45.146 PST server1 <main> tid=0x1] Located war:
> geode-web-api at location:
> file:/Users/jdeppe/workspace/gemfire-develop/open/geode-assembly/build/install/apache-geode/tools/Extensions/geode-web-api-1.14.0-build.0.war
>
>
>
> [info 2021/02/16 06:32:45.214 PST server1 <main> tid=0x1] Adding webapp
> /gemfire-api
>
>
>
> [info 2021/02/16 06:32:45.215 PST server1 <main> tid=0x1] *Attempting to
> start HTTP service on port (7171) at bind-address (0.0.0.0)...*
>
>
>
> [info 2021/02/16 06:32:46.031 PST server1 <main> tid=0x1] Initializing
> Servlet 'geode'
>
>
>
> [info 2021/02/16 06:32:47.064 PST server1 <main> tid=0x1] Bean
> 'util:constant#45dc7be' of type
> [org.springframework.beans.factory.config.FieldRetrievingFactoryBean] is
> not eligible for getting processed by all BeanPostProcessors (for example:
> not eligible for auto-proxying)
>
>
>
> In the above example I had also set: --J=-Dgemfire.http-service-port=7171
> (the default is normally 7070).
>
>
>
> Also, the Swagger UI is only available from servers and is not available
> on the locator.
>
>
>
> Hope this helps.
>
> --Jens
>
>
>
> *From: *Pratibha Ayengar <pratibha.ayen...@gmail.com>
> *Reply-To: *"user@geode.apache.org" <user@geode.apache.org>
> *Date: *Monday, February 15, 2021 at 8:52 PM
> *To: *"user@geode.apache.org" <user@geode.apache.org>
> *Subject: *Re: Apache geode 1.12.0 swagger UI issue
>
>
>
> Thank you, Rupert. This does help narrow it down. Would you be able to
> help on what this particular check is - if (cache.getOptionalService(
> HttpService.class).isPresent())
>
> This is the one that seems to be failing.
>
>
>
> Thanks,
>
> Pratibha
>
>
>
>
>
> On Mon, Feb 15, 2021 at 3:04 PM Rupert St John Webster <
> rupert.stjohnwebs...@impress-solutions.com> wrote:
>
> // Check if we're already running inside Tomcat
>
>         if (isRunningInTomcat()) {
>
>             logger.warn("Detected presence of catalina system properties.
> HTTP service will not be started. To enable the GemFire Developer REST API,
> please deploy the /geode-web-api WAR file in your application server.");
>
>         } else if (agentUtil.isAnyWarFileAvailable(gemfireAPIWar)) {
>
>             Map<String, Object> securityServiceAttr = new HashMap<>();
>
>             securityServiceAttr.put(HttpService.
> SECURITY_SERVICE_SERVLET_CONTEXT_PARAM, securityService);
>
>             if (cache.getOptionalService(HttpService.class).isPresent()) {
>
>                 HttpService httpService = cache.getOptionalService(
> HttpService.class).get();
>
>                 Path gemfireAPIWarPath = Paths.get(gemfireAPIWar);
>
>                 httpService.addWebApplication("/gemfire-api",
> gemfireAPIWarPath, securityServiceAttr);
>
>                 httpService.addWebApplication("/geode", gemfireAPIWarPath,
> securityServiceAttr);
>
>             } else {
>
>                 logger.warn("HttpService is not available - could not
> start Dev REST API");
>
>             }
>
>
>
> Is this any help?
>
>
>
> cheers
>
>
>
> *From:* Pratibha Ayengar [mailto:pratibha.ayen...@gmail.com]
> *Sent:* 14 February 2021 09:44
> *To:* user@geode.apache.org
> *Subject:* Re: Apache geode 1.12.0 swagger UI issue
>
>
>
> *This email has reached the company via an external source. *
>
> *Please be cautious opening any attachments or links. *
>
>
> Hi Aashish,
>
>
>
> Thank you for coming back. I got the same result after setting GEODE_HOME.
> Here are the logs. Any idea what could cause this issue?
>
>
>
> 2021-02-14 15:12:31.426  INFO 9976 --- [           main]
> o.a.geode.management.internal.AgentUtil  : GEODE_HOME:D:\apache-geode-1.12.0
> 2021-02-14 15:12:31.428  INFO 9976 --- [           main]
> o.a.geode.management.internal.AgentUtil  : Located war: geode-web-api at
> location:
> file:/D:/apache-geode-1.12.0/tools/Extensions/geode-web-api-1.12.0.war
> 2021-02-14 15:12:31.429  WARN 9976 --- [           main]
> o.a.geode.management.internal.RestAgent  : HttpService is not available -
> could not start Dev REST API
>
>
>
> Thanks,
>
> Pratibha
>
>
>
> On Sat, Feb 13, 2021 at 5:57 PM Ashish Choudhary <
> aashish.choudha...@gmail.com> wrote:
>
> For some reason your GEODE_HOME is null and it might be causing this
> issue. Please check that first.
>
> With best regards,
> Ashish
>
>
>
> On Sat, Feb 13, 2021, 4:56 PM Pratibha Ayengar <pratibha.ayen...@gmail.com>
> wrote:
>
>
>
> Hi Geode Team,
>
>
>
> I am upgrading apache geode version from 1.6.0 to 1.12.0 for our project
> and I am having trouble starting up the REST API. Could you please help me
> understand what I am missing here.
>
>
>
> We start up the locator using gfsh and use a spring data geode project to
> start the server. Attached are the geode.properties file used to start the
> locator and the project used to start the server.
>
>
>
> Following are the commands and the JVM arguments used for the locator and
> server respectively. I have also attached the logs from the server that
> does not seem to indicate the reason why the swagger API is not started.
>
>
>
> SpringBoot version - 2.3.0.RELEASE
>
>
>
> Locator start command
>
> start locator --name=Locator1 --port=10334
> --properties-file=D:\apache-geode-1.12.0\geode-locator.properties
>
>
>
> JVM arguments used while starting server
>
> -Dgemfire.home=D:\apache-geode-1.12.0
>
>
>
> Line in the logs that show the API is not available -
>
> 2021-02-04 10:53:05.983  INFO 8936 --- [           main]
> o.a.geode.management.internal.AgentUtil  : GEODE_HOME:null
> 2021-02-04 10:53:05.984  INFO 8936 --- [           main]
> o.a.geode.management.internal.AgentUtil  : Reading gemfire.home System
> Property -> D:\apache-geode-1.12.0
> 2021-02-04 10:53:05.985  INFO 8936 --- [           main]
> o.a.geode.management.internal.AgentUtil  : Located war: geode-web-api at
> location:
> file:/D:/apache-geode-1.12.0/tools/Extensions/geode-web-api-1.12.0.war
> 2021-02-04 10:53:05.986  WARN 8936 --- [           main]
> o.a.geode.management.internal.RestAgent  : HttpService is not available -
> could not start Dev REST API
>
>
>
> Appreciate any help I can get.
>
>
>
> Thank you,
>
> Pratibha Ayengar
>
>
>
>

Reply via email to