Skip to content

Building File based event-store with Jackson JSON Serialisation / Deserialisation, Jersey REST API uses Netty runtime and Weld CDI

License

Notifications You must be signed in to change notification settings

daggerok/jersey-netty-cdi-jackson-file-eventstore

Repository files navigation

jersey-netty-cdi-jackson-file-eventstore Build Status

Building File based event-store with Jackson JSON Serialisation / Deserialization, Jersey REST API uses Netty runtime and Weld CDI

git clone --depth=1 https://github.com/daggerok/jersey-netty-cdi-jackson-file-eventstore.git app
cd app/

./mvnw package ; java -jar target/*-all.jar

echo '[
  {
    "type":"CounterCreated",
    "aggregateId": "00000000-0000-0000-0000-000000000000",
    "counterName": "hello 1"
  },
  {
    "type":"CounterIncremented",
    "aggregateId": "00000000-0000-0000-0000-000000000000",
    "by": "max",
    "withValue": 2
  },
  {
    "type":"CounterIncremented",
    "aggregateId": "00000000-0000-0000-0000-000000000000",
    "by": "max",
    "withValue": 3
  },
  {
    "type":"CounterIncremented",
    "aggregateId": "00000000-0000-0000-0000-000000000000",
    "by": "max"
  },
  {
    "type":"CounterSuspended",
    "aggregateId": "00000000-0000-0000-0000-000000000000",
    "reason": "because!"
  }
]' | http post :8080/events/collection

http :8080/events/00000000-0000-0000-0000-000000000000 Accept:application/json
http :8080/events/00000000-0000-0000-0000-000000000001/collection Accept:application/json

fat jar

./mvnw clean ; ./mvnw ; java -jar ./target/*-all.jar

build docs on my macOS:

brew reinstall libffi
export LDFLAGS="-L/usr/local/opt/libffi/lib"
export CPPFLAGS="-I/usr/local/opt/libffi/include"
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
export PATH=$HOME/.local/share/gem/ruby/3.0.0/bin:$PATH
gem install --user-install bundler jekyll just-the-docs

./mvnw -Dbundle=`which bundle` exec:exec
#./mvnw -Dbundle=`which bundle` -P jekyll-serve

./mvnw -Dbundle=`which bundle` -P gem-install && \
  ./mvnw -Dbundle=`which bundle` -P bundle-update-jekyll && \
  ./mvnw -Dbundle=`which bundle` -P bundle-install && \
  ./mvnw -Dbundle=`which bundle` -P jekyll-search && \
  ./mvnw -Dbundle=`which bundle` -P jekyll-build

NOTE: This project has been based on GitHub: daggerok/main-starter (branch: maven-java)

links: