Skip to content
Snippets Groups Projects
README.md 3.01 KiB
Newer Older
  • Learn to ignore specific revisions
  • David Diederich's avatar
    David Diederich committed
    Copyright 2017-2020, Schlumberger
    
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    
         http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    
    # Notification service
    
    The Notification service, with Register service, allow interested consumers to subscribe to data and metadata changes using a publisher/subscriber pattern
    
    
    ## Dependencies needed to run the code locally
    
    
    David Diederich's avatar
    David Diederich committed
    * JDK11
    * Maven
    * Azure Devops access to slb-des-ext-collaboration organization. You need to generate a PAT that can access dependencies held in the Azure artifacts
    * Working Register service endpoint
    
    ## Build and run service locally
    
    David Diederich's avatar
    David Diederich committed
    * Build the service and run the unit tests. This step also generates the executable jar file. Run this command from the root folder, where parent pom.xml resides
    
    **Note**: At runtime, you must set a Spring profile so the right runtime configuration gets picked up for your app. Since this is a Spring Boot application, runtime configuration is defined in one of the application properties files under `<provider>->src->main->resources`. You can set the right Spring Boot runtime profile with `-Dspring.profiles.active=test`. Please read [this](https://stackoverflow.com/questions/39738901/how-do-i-activate-a-spring-boot-profile-when-running-from-intellij) for more info.
    
    David Diederich's avatar
    David Diederich committed
    ```
    mvn clean install
    ```
    
    * To run the service locally, navigate to `provider/notification-<your_provider>/target` directory and execute the spring-boot jar
    
    David Diederich's avatar
    David Diederich committed
    ```
    
    java -jar notification-gc-1.0.0-spring-boot.jar
    
    David Diederich's avatar
    David Diederich committed
    ```
    
    * To debug service locally, create a remote debug configuration first and then use following command to start service in debug mode
    
    David Diederich's avatar
    David Diederich committed
    ```
    
    java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar notification-gc-1.0.0-spring-boot.jar
    
    David Diederich's avatar
    David Diederich committed
    ```
    
    David Diederich's avatar
    David Diederich committed
    **Note:**  The port number "8000" in the command should match with the remote debug config settings.
    
    
    ## Access the service
    
    The port and path for the service endpoint can be configured in ```application.properties``` as following. If not specified, then  the web container (ex. Tomcat) default is used:
    
    David Diederich's avatar
    David Diederich committed
    
    ```bash
    server.servlet.contextPath=/
    server.port=8080
    
    Rucha Deshpande's avatar
    Rucha Deshpande committed
    
    
    ## Open API 3.0 - Swagger
    - Swagger UI : https://host/context-path/swagger (will redirect to https://host/context-path/swagger-ui/index.html)
    - api-docs (JSON) : https://host/context-path/api-docs
    - api-docs (YAML) : https://host/context-path/api-docs.yaml
    
    All the Swagger and OpenAPI related common properties are managed here [swagger.properties](./notification-core/src/main/resources/swagger.properties)
    
    
    # new update
    
    Rucha Deshpande's avatar
    Rucha Deshpande committed
    
    ## AWS
    
    
    Instructions for running and testing this service can be found [here](./provider/notification-aws/README.md)