Wava utility

Wener and Java

License

License

GroupId

GroupId

com.github.wenerme.wava
ArtifactId

ArtifactId

wava-util
Last Version

Last Version

0.0.5
Release Date

Release Date

Type

Type

jar
Description

Description

Wava utility
Wener and Java

Download wava-util

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.wenerme.wava/wava-util/ -->
<dependency>
    <groupId>com.github.wenerme.wava</groupId>
    <artifactId>wava-util</artifactId>
    <version>0.0.5</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.wenerme.wava/wava-util/
implementation 'com.github.wenerme.wava:wava-util:0.0.5'
// https://jarcasting.com/artifacts/com.github.wenerme.wava/wava-util/
implementation ("com.github.wenerme.wava:wava-util:0.0.5")
'com.github.wenerme.wava:wava-util:jar:0.0.5'
<dependency org="com.github.wenerme.wava" name="wava-util" rev="0.0.5">
  <artifact name="wava-util" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.wenerme.wava', module='wava-util', version='0.0.5')
)
libraryDependencies += "com.github.wenerme.wava" % "wava-util" % "0.0.5"
[com.github.wenerme.wava/wava-util "0.0.5"]

Dependencies

compile (4)

Group / Artifact Type Version
com.google.guava : guava jar 24.1-jre
com.fasterxml.jackson.core : jackson-databind Optional jar 2.9.4
com.google.protobuf : protobuf-java-util Optional jar 3.5.1
org.projectlombok : lombok jar 1.16.20

Project Modules

There are no modules declared in this project.

Wener with Java

Get started

# Local development
mvn install -DskipTests -Dgpg.skip

Common

Common core utils for daily java development.

Boot

Spring Boot Scaffold

  • wava-boot-jpa
    • With JPA Dependency
  • wava-boot-postgresql
    • With PostgreSQL Dependency
  • wava-boot-vaadin
    • Auto config for vaadin

Vaadin

Vaadin utils & auto-configuration

Wava Maven Plugin

  • AppendingPatternTransformer
<!-- Merge all services -->
<transformer implementation="me.wener.wava.shade.AppendingPatternTransformer">
  <resource>META-INF/services/me/wener/.*</resource>
</transformer>

Call

  • An
    • Ease enough
    • Fast enough
    • Language agnostic
  • Rpc protocol
  • With
    • WebSocket
  • Support
  • Can generate client stub from Java to
    • Go
    • Dart
      • Use in flutter

Redis

Redis for fun

  • Non-Blocking ByteBuf based packet reader/writer
  • Normal redis server handler
  • Redis command execution framework
  • Redis command parser
  • RDB codec
  • PSYNC handler
  • Cluster protocol codec

Simple Server

  • me.wener.wava.redis.example.RedisSimpleServer
  • Backend by a HashMap per connection
redis-benchmark -t set,get -p 7890 -q --csv -l -c 10

Speed goes high (warm up), then down (gc).

SET,68027.21
GET,83056.48
SET,79239.30
GET,89525.52
SET,84674.01
GET,85034.02
SET,92081.03
GET,91074.68
SET,91407.68
GET,91407.68
SET,91911.76
GET,91659.03
SET,91827.37
GET,86880.97
SET,89525.52
GET,85836.91
SET,88339.23
GET,86956.52
SET,86058.52
GET,83263.95
SET,85689.80
GET,87032.20
SET,85910.65
GET,70472.16
SET,81632.65
GET,70372.98
SET,69930.07
GET,80321.28
redis-benchmark -t set,get -p 7890 -q --csv -l -c 10
redis-benchmark -t set,get -p 7890 -q --csv -l -c 10

About 120k max, CPU 200%

Last 15 record.

SET,57836.90,57670.13
GET,58616.65,60938.45
SET,60496.07,61087.36
GET,61050.06,60459.49
SET,61050.06,63291.14
GET,62073.25,60975.61
SET,61538.46,61957.87
GET,62305.30,63653.72
SET,63451.78,62073.25
GET,61881.19,62695.92
SET,61312.08,60975.61
GET,60277.27,60132.29
SET,61576.36,62266.50
GET,61881.19,61957.87
SET,61766.52,61996.28
GET,61199.51,60569.35

Redis Server

redis-benchmark -t set,get -q --csv -l -c 10

Speed is very steady.

SET,91157.70
GET,92592.59
SET,92336.11
GET,91827.37
SET,90497.73
GET,92678.41
SET,93196.65
GET,92506.94
SET,92165.90
GET,92165.90
SET,90661.83
GET,91074.68
SET,90171.33
GET,92421.44
SET,91911.76
GET,90171.33

About 140k, CPU 100%

SET,71942.45,72411.30
GET,72306.58,72463.77
SET,71225.07,71530.76
GET,72098.05,71890.73
SET,71022.73,71123.76
GET,71633.23,71787.51
SET,71839.09,71377.59
GET,71942.45,72516.32
SET,71581.96,71787.51
GET,72939.46,71942.45

Versions

Version
0.0.5
0.0.4
0.0.3
0.0.2