GithubHelp home page GithubHelp logo

alexandrebruxelle / org.openwms.common.service Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alohachina/org.openwms.common.service

0.0 1.0 0.0 61.54 MB

OpenWMS COMMON Services for Locations, LocationGroups, TransportUnits etc.

Home Page: https://openwms.github.io/org.openwms.common.service

License: Apache License 2.0

Java 99.82% Dockerfile 0.11% Shell 0.07%

org.openwms.common.service's Introduction

Purpose

The OpenWMS.org Common Service provides essential functionality to deal with Locations, LocationGroups and TransportUnits. An example often referred to is the ability to move a TransportUnit from a Location A to a Location B. Beside this also other secondary resources like TransportUnitTypes or rulesets like the PlacingRule to define what kind of TransportUnit can be put on what type of Location are managed by this service.

ClassDiagram

Resources

Build status License Quality Join the chat at https://gitter.im/openwms/org.openwms

Find further Documentation on Microservice Website

Build

Build a runnable fat jar with the execution of all unit and in-memory database integration tests, but without a required RabbitMQ server to run:

$ ./mvnw package

To also build and run with RabbitMQ support call:

$ ./mvnw package -DsurefireArgs=-Dspring.profiles.active=ASYNCHRONOUS,TEST

Run

Run On Command Line

After the binary has been built it can be started from command line. By default no other infrastructure services are required to run this service.

Run in standalone mode:

$ java -jar target/openwms-common-service-exec.jar

To load some sample data, add another profile DEMO:

$ java -jar target/openwms-common-service-exec.jar --spring.profiles.active=DEMO

In a distributed environment the service configuration is fetched from the central OpenWMS.org Configuration Service. This behavior can be enabled by activating the Spring Profile DISTRIBUTED. Additionally it makes sense to enable asynchronous communication that requires a running RabbitMQ instance - just add another profile ASYNCHRONOUS. If the latter is not applied all asynchronous AMQP endpoints are disabled and the service does not send any events nor does it receive application events from remote services. The AMQP protocol with the RabbitMQ is currently the only supported message broker. But switching to others, like HiveMQ (MQTT) or Apacha Kafka, is not rocket science.

$ java -jar target/openwms-common-service-exec.jar --spring.profiles.active=DISTRIBUTED,ASYNCHRONOUS

This requires a RabbitMQ server running locally with default settings.

With these profiles applied the OpenWMS.org Configuration Service is tried to be discovered at service startup. The service fails to start if no instance of the configuration service is available after a configured amount of retries.

Run as Docker Container

Instead of building the software from the sources and run it as Java program on the JVM it can also be fetched as a Docker image from Docker Hub and started as a Docker container.

$ docker run openwms/org.openwms.common.service:latest

org.openwms.common.service's People

Contributors

openwms avatar mschneid0207 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.