light-4j

A fast, lightweight and more productive microservices framework

APACHE-2.0 License

Stars
3.6K
Committers
60

Bot releases are visible (Hide)

light-4j - 1.5.3

Published by stevehu almost 7 years ago

1.5.3 - 2017-11-19

Added

Changed

  • fixes #131 class cast exception in service module if getting an array from one impl
  • Upgrade to 1.5.3
light-4j - 1.5.2

Published by stevehu almost 7 years ago

1.5.2 - 2017-11-19

Added

Changed

  • fixes #130 Add a new constant OPENAPI_OPERATION_STRING for OpenAPI 3
  • fixes #129 Improve configurability for networknt.handler.MiddlewareHandler
  • fixes #127 Add support for interface with generic type in service module
  • fixes #126 Update serviceMap key to interface class name instead of class
  • fixes #125 Need to check certain section is empty for header.yml
  • Upgrade to 1.5.2
light-4j - 1.5.1

Published by stevehu almost 7 years ago

1.5.1 - 2017-11-8

Added

Changed

  • Fixed #124 Remove mockito dependencies in most modules
  • Fixed #122 Customize return of the status from cross-cutting concerns(Thanks @ddobrin)
  • Fixed #121 Add url debug output in ConsulClientImpl
  • Fixed #120 Split integration tests from unit tests
  • Fixed #119 Server module should only initialize client instance if config server is enabled
  • Fixed #113 Make Jwt token verification cache configurable
  • Upgrade to 1.5.1

Upgrade Guide

This is a minor release to add several enhancements required by different customers. If you are on 1.5.0 release, you don't need to upgrade to this one unless you need features provided by this release. To upgrade from 1.5.0 to 1.5.1, there is one more property added to security.yml

# Enable JWT token cache to speed up verification. This will only verify expired time
# and skip the signature verification as it takes more CPU power and long time.
enableJwtCache: true

With the above config change, you can just change the light-*-4j framework version from 1.5.0 to 1.5.1 in pom.xml of you project.

If you are in version 1.4.x, then it is recommended to regenerate the project or upgrade to 1.5.0 first then upgrade to 1.5.1

light-4j - 1.5.0

Published by stevehu almost 7 years ago

1.5.0 - 2017-10-20

Added

  • fixes #118 add a header handler to manipulate request/response headers

Changed

  • fixes #116 add environment tag for consul resgistry and discovery
  • fixes #117 Add SecretConfig to model secret.yml and add consulToken
  • fixes #114 Add utilities classes for light-workflow-4j
  • fixes #112 remove unused dependencies to reduce the final jar size.
  • fixes #111 add utility interfaces for exchange access. (Thanks @sachinwalia2k8)
  • fixes #107 upgrade dependencies to the latest. (Thanks @sachinwalia2k8)
  • Upgrade to 1.5.0

Upgrade Guide

There are several changes in the configuration files and API.

  1. Add environment tag in server.yml and default is disabled.
# environment tag that will be registered on consul to support multiple instances per env for testing.
# https://github.com/networknt/light-doc/blob/master/docs/content/design/env-segregation.md
# This tag should only be set for testing env, not production. The production certification process will enforce it.
# environment: test1
  1. Add consulToken in secret.yml
# Consul service registry and discovery and default is disable.

# Consul Token for service registry and discovery
# consulToken: the_one_ring
  1. Change the Cluster interface to add tag which is breaking change.
public interface Cluster {
    /**
     * give a service name and return a url with http or https url
     * the result is has been gone through the load balance with request key
     *
     * requestKey is used to control the behavior of load balance except
     * round robin and local first which this value is null. For consistent hash
     * load balance, normally client_id or user_id from JWT token should be passed
     * in to route the same client to the same server all the time or the same user
     * to the same server all the time
     *
     * @param protocol either http or https
     * @param serviceId unique service identifier
     * @param tag an environment tag use along with serviceId for discovery
     * @param requestKey load balancer key
     * @return String url
     */
    String serviceToUrl(String protocol, String serviceId, String tag, String requestKey);
}

Dependencies

The dependencies tree can be found here

light-4j - 1.4.6

Published by stevehu about 7 years ago

1.4.6 - 2017-09-22

Added

Changed

  • Upgrade to 1.4.6
light-4j - 1.4.5

Published by stevehu about 7 years ago

1.4.5 - 2017-09-22

Added

Changed

  • fixes #102 Return invalid json error in body handler for malformed body
light-4j - 1.4.4

Published by stevehu about 7 years ago

1.4.4 - 2017-09-20

Added

Changed

  • fixes #101 nothing changed but to release for light-proxy
light-4j - 1.4.3

Published by stevehu about 7 years ago

1.4.3 - 2017-09-10

Added

Changed

  • fixes #94 Calling consul directly with Http2Client instead of consul client
light-4j - 1.4.2

Published by stevehu about 7 years ago

Changed

1.4.2 - 2017-08-31

Added

Changed

  • fixes #99 Update SingletonServiceFactory to support getBeans for array of impls(Thanks @ruslanys)
light-4j - 1.4.1

Published by stevehu about 7 years ago

1.4.1 - 2017-08-30

Added

Changed

  • fixes #93 update default client.yml to remove the settings for http1.1
  • fixes #95 Refactor server info component object so that it is easy to consume
  • fixes #96 Default to enableHttp2 in client and server
  • fixes #86 server support HTTP 2.0 by default in configuration
  • fixes #97 Add host head when sending requests to influxdb in InfluxDb
  • fixes #98 Upgrade to undertow 1.4.19.Final as there an HTTP 2.0 bug
light-4j - 1.4.0

Published by stevehu about 7 years ago

1.4.0 - 2017-08-22

Added

  • fixes #85 Implement Http2Client

Changed

  • fixes #82 Register JavaTimeModule for the default Jackson ObjectMapper(Thanks @pragmaticway)
  • fixes #87 upgrade Undertow to 1.4.18.Final to support HTTP2 on server
  • fixes #84 enable security to call client module to load public key cert
  • fixes #90 Remove Client and replace it with Http2Client
light-4j - 1.3.5

Published by stevehu about 7 years ago

1.3.5 - 2017-08-01

Added

Changed

  • fixes #76 add getTempDir and test cases for NioUtils
  • fixes #78 resolve security issues reported from Fortify scanner
  • fixes #79 add server tls finger print into server info
  • fixes #80 Update validatePassword in HashUtil to accept origianlPassword
  • fixes #81 Remove jsoniter dependencies in mask until it has a feature of JsonPath
light-4j - 1.3.4

Published by stevehu over 7 years ago

1.3.4 - 2017-07-08

Added

Changed

  • fixes #47 jwt token verification with cached
  • fixes #72 PKCE CodeVerifierUtil impl for light-oauth2
  • fixes #72 Update CodeVerifierUtil to support light-oauth2 implementation
  • fixes #74 update ConsulRegistry to use one layer of cache structure
  • fixes #75 workaround a bug in Docker for Mac that hostname is not mapped in host
light-4j - 1.3.3

Published by stevehu over 7 years ago

1.3.3 - 2017-06-14

Added

Changed

  • fixes #71 break the metrics tie to security for client_id
light-4j - 1.3.2

Published by stevehu over 7 years ago

1.3.2 - 2017-06-14

Added

Changed

  • Fixes #58 add filter and role based auth handler
  • Fixes #66 update keystore and truststore for both client and server
  • Fixes #67 add serviceId to slf4j MDC and remove from audit.yml
  • Fixes #68 add log statement in influxdb reporter with counter size
  • Fixes #70 make default constructor of UnsafeLongAdderImpl public
light-4j - 1.3.1

Published by stevehu over 7 years ago

1.3.1 - 2017-06-03

Added

Changed

  • Fixes #60 add java doc and update online documents
  • Fixes #61 response time and status code are not shown up in audit.log
  • Fixes #63 rename HealthHandler to HealthGetHandler in order to inject from light-codegen
light-4j - 1.3.0

Published by stevehu over 7 years ago

1.3.0 - 2017-05-05

Added

  • Fixes #59 change project name to light-4j
light-4j - 1.2.8

Published by stevehu over 7 years ago

1.2.8 - 2017-05-02

Added

  • Fixes #42 upgrade dependencies
  • Fixes #43 add more debug info during metrics startup
  • Fixes #48 clean up status.xml and make comment on each segment
light-4j - 1.2.7

Published by stevehu over 7 years ago

1.2.7 - 2017-03-28

Added

  • Fixes #38 add status codes and utilities for light-java-graphql

Changed

  • Fixes #34 enable HTTP/2 on server and make HTTP/2 configurable in server.yml
  • Fixes #36 upgrade to undertow 1.4.11
light-4j - 1.2.6

Published by stevehu over 7 years ago

1.2.6 - 2017-03-17

Added

  • Fixes #33 to create a separate secret.yml for Kubernetes integration

Changed

  • Fixes #30 check if token is null and ignore it for API to API call
  • Define static LIGHT_JAVA_CONFIG_DIR to avoid hard-coded property name
  • Fixes #32 support yaml and yml config format
Package Rankings
Top 3.79% on Repo1.maven.org
Badges
Extracted from project README
Build Status codecov.io