se.uhr.simone:simone.docker

SimOne is a simple simulator for REST and FEED based services

License

License

Categories

Categories

Docker Container Virtualization Tools
GroupId

GroupId

se.uhr.simone
ArtifactId

ArtifactId

simone.docker
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

pom
Description

Description

SimOne is a simple simulator for REST and FEED based services
Project Organization

Project Organization

SUNET

Download simone.docker

Filename Size
simone.docker-1.0.0.pom 2 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/se.uhr.simone/simone.docker/ -->
<dependency>
    <groupId>se.uhr.simone</groupId>
    <artifactId>simone.docker</artifactId>
    <version>1.0.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/se.uhr.simone/simone.docker/
implementation 'se.uhr.simone:simone.docker:1.0.0'
// https://jarcasting.com/artifacts/se.uhr.simone/simone.docker/
implementation ("se.uhr.simone:simone.docker:1.0.0")
'se.uhr.simone:simone.docker:pom:1.0.0'
<dependency org="se.uhr.simone" name="simone.docker" rev="1.0.0">
  <artifact name="simone.docker" type="pom" />
</dependency>
@Grapes(
@Grab(group='se.uhr.simone', module='simone.docker', version='1.0.0')
)
libraryDependencies += "se.uhr.simone" % "simone.docker" % "1.0.0"
[se.uhr.simone/simone.docker "1.0.0"]

Dependencies

test (3)

Group / Artifact Type Version
junit : junit jar
org.mockito : mockito-core jar 1.10.19
org.hamcrest : hamcrest-library jar 1.3

Project Modules

There are no modules declared in this project.

SimOne Logo

Base container for SimOne. SimOne is a simple simulator for REST and FEED based services.

This projects builds a jar that constitutes core simulator functionality and is meant to be included in a Java EE 8 server that is built by the final simulator.

See SimOne-Example for a starting point to build a simulator.

Overview

SimOne Overview

Atom feed API : Publish the atom feed.

Example REST API : The REST API to simulate, implemented by the SimOne-example in this case.

Admin REST API : API to control the SimOne simulator, see Admin API for more information.

Extension API : API that notifies the SimOne simulator about actions initiated from the admin API, or create feed entries.

void se.uhr.simone.api.feed.FeedPublisher#publish(AtomEntry entry);

Requirements

  • Java 11

  • Java Microprofile 3.3 compatible server

  • Datasource, The application is required to produce a CDI bean of type javax.sql.DataSource with qualifier @FeedDS to be used by the feed server. The Datasource must be initialized with the Flyway migration located on the classpath.

  • A CDI event se.uhr.simone.api.SimoneTimerEvent must be fired periodically in a worker thread to trigger background jobs. Every other second is a good starting point.

Build

mvn package

Release the SimOne jar and Docker image

mvn release:prepare release:perform

Documentation

Admin API

API to control the simulator, for example empty the database, answer all REST requests with a specific HTTP status, delay responses etc. The administrator API is documented in Swagger. Start the simone-example Docker container and point your Browser to http://localhost:8080/openapi

Configuration

Simone uses MicroProfile Config to inject the configuration in the application:

simone.base.uri : The base URI of SimOne, used to reference the SimOne server in the Atom Feed. Default value is http://localhost:8080

simone.dropin : is a special directory that is monitored by SimOne. When a new file is discovered extensions are notified and may handle the file in any way they want. The default value is dropin in cwd.

se.uhr.simone

SUNET

Versions

Version
1.0.0