From 39ed5f900d2ce82720ce00a426e1a75a461cfa55 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 24 Apr 2017 13:16:19 +0200 Subject: [PATCH 01/10] Add ArchUnit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa95e6d..c8d31fd 100644 --- a/README.md +++ b/README.md @@ -760,6 +760,7 @@ A curated list of awesome Java frameworks, libraries and software. *Tools that test from model to the view.* * [Apache JMeter](http://jmeter.apache.org/) - Functional testing and performance measurements. +* [ArchUnit](https://github.com/TNG/ArchUnit) - Architecture test library, to specify and assert architecture rules in plain Java. * [Arquillian](http://arquillian.org/) - Integration and functional testing platform for Java EE containers. * [AssertJ](http://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. * [Awaitility](https://github.com/jayway/awaitility) - DSL for synchronizing asynchronous operations. From 29aad83ec9acf78f6e03760d373f92b6c91da393 Mon Sep 17 00:00:00 2001 From: Moshe-Immerman Date: Tue, 2 May 2017 10:27:29 +0200 Subject: [PATCH 02/10] added distributed tools --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 84691b7..ddbc468 100644 --- a/README.md +++ b/README.md @@ -315,11 +315,14 @@ A curated list of awesome Java frameworks, libraries and software. * [Atomix](http://atomix.io/atomix/) - Fault-tolerant distributed coordination framework. * [Axon Framework](http://www.axonframework.org/) - Framework for creating CQRS applications. * [Copycat](http://atomix.io/copycat/) - Fault-tolerant state machine replication framework. +* [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for dropwizard. * [Hazelcast ![c]](http://hazelcast.org/) - Highly scalable in-memory datagrid with a free open-source version. * [Hystrix](https://github.com/Netflix/Hystrix) - Provides latency and fault tolerance. * [JGroups](http://www.jgroups.org/) - Toolkit for reliable messaging and creating clusters. +* [Ribbon](https://github.com/Netflix/ribbon) - Client side IPC library that is battle-tested in cloud. * [Orbit](http://www.orbit.cloud/) - Virtual Actors, adding another level of abstraction to traditional actors. * [Quasar](http://www.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +* [Zuul](https://github.com/Netflix/zuul) - A gateway service that provides dynamic routing, monitoring, resiliency, security, and more. ## Distributed Databases From 1c45f21f662ec34ef7351da5999d5a7dbdd6c41b Mon Sep 17 00:00:00 2001 From: Moshe-Immerman Date: Tue, 2 May 2017 10:32:08 +0200 Subject: [PATCH 03/10] added monitoring tools --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 84691b7..21978d5 100644 --- a/README.md +++ b/README.md @@ -562,6 +562,7 @@ A curated list of awesome Java frameworks, libraries and software. *Tools that monitor applications in production.* * [AppDynamics ![c]](https://www.appdynamics.com/) - Performance monitor. +* [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. * [Glowroot](https://glowroot.org/) - Open source Java APM. * [Instrumental ![c]](https://instrumentalapp.com) - Real-time Java application performance monitoring. A commercial service with free development accounts. * [JavaMelody](https://github.com/javamelody/javamelody) - Performance monitoring and profiling. @@ -576,6 +577,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Prometheus](https://prometheus.io/) - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more. * [SPM ![c]](https://sematext.com/spm/) - Performance monitor with distributing transaction tracing for JVM apps. * [Stagemonitor](https://github.com/stagemonitor/stagemonitor) - Open source performance monitoring and transaction tracing for JVM apps. +* [Sysmon](https://github.com/palantir/Sysmon) - Lightweight platform monitoring tool for Java VMs. ## Native *For working with platform-specific native libraries.* From d4406a3e1e7086236acab86cc56301337a30b86e Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 2 May 2017 13:18:28 +0200 Subject: [PATCH 04/10] Update contribution rules --- CONTRIBUTING.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3c734b7..efd180b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,11 +10,16 @@ Unfortunately, not every library/tool/framework can be considered. The aim of th (d) a niche product that fills a gap +There are two required criteria for a pull request: + +1. If an entry has a similar scope as other entries in the same category, the description must state the unique features that distinguishes it from the other entries. + +2. If an entry does not met conditions *(a)* to *(d)* there has to be an explanation either in the description or the pull request why it should be added to the list. + Self-promotion is frowned upon and will be reviewed critically but the suggestion will of course be approved if they criteria match. If a certain entry does not get accepted, you should first look if there has been a discussion before. These discussions are in the issue section and normally marked with the question tag. If there hasn't been such a topic, you are free to create a new issue tagged as question. - Furthermore, please ensure your pull request follows the following guidelines: * Please search previous suggestions before making a new one, as yours may be a duplicate. @@ -22,7 +27,7 @@ Furthermore, please ensure your pull request follows the following guidelines: * Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. * Entries should be sorted in ascending alphabetical order, i.e. a to z. * New categories, or improvements to the existing categorization are welcome. -* Keep descriptions short, simple and unbiased. +* Keep descriptions short, simple and unbiased. * End all descriptions with a full stop/period. * Check your spelling and grammar. * Make sure your text editor is set to remove trailing whitespace. From 68209699550c97b3a05ff4e4a9602ea5ebaf0101 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 3 May 2017 08:35:06 +0200 Subject: [PATCH 05/10] Fix spelling error --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index efd180b..1c4ddd2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ There are two required criteria for a pull request: 1. If an entry has a similar scope as other entries in the same category, the description must state the unique features that distinguishes it from the other entries. -2. If an entry does not met conditions *(a)* to *(d)* there has to be an explanation either in the description or the pull request why it should be added to the list. +2. If an entry does not meet conditions *(a)* to *(d)* there has to be an explanation either in the description or the pull request why it should be added to the list. Self-promotion is frowned upon and will be reviewed critically but the suggestion will of course be approved if they criteria match. From f4625a195991eb4cd390a569b6165e3eb4598990 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 12 May 2017 22:03:35 +0200 Subject: [PATCH 06/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8d31fd..febf7da 100644 --- a/README.md +++ b/README.md @@ -760,7 +760,7 @@ A curated list of awesome Java frameworks, libraries and software. *Tools that test from model to the view.* * [Apache JMeter](http://jmeter.apache.org/) - Functional testing and performance measurements. -* [ArchUnit](https://github.com/TNG/ArchUnit) - Architecture test library, to specify and assert architecture rules in plain Java. +* [ArchUnit](https://github.com/TNG/ArchUnit) - Architecture test library, to specify and assert architecture rules. * [Arquillian](http://arquillian.org/) - Integration and functional testing platform for Java EE containers. * [AssertJ](http://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. * [Awaitility](https://github.com/jayway/awaitility) - DSL for synchronizing asynchronous operations. From 1119eff629de05ec8a01af65fc01b1887c4644db Mon Sep 17 00:00:00 2001 From: Moshe-Immerman Date: Tue, 16 May 2017 05:43:32 +0200 Subject: [PATCH 07/10] Remove barantine GPL license is not awesome for libraries, Only 2 contributors, and 50 stars --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 020125b..192edb9 100644 --- a/README.md +++ b/README.md @@ -840,7 +840,6 @@ A curated list of awesome Java frameworks, libraries and software. * [Apache Tapestry](http://tapestry.apache.org/) - Component-oriented framework for creating dynamic, robust, highly scalable web applications. * [Apache Wicket](http://wicket.apache.org/) - Component-based web application framework similar to Tapestry with a stateful GUI. -* [Baratine](http://baratine.io) - Toolkit for building distributed and reactive applications for multiple environments, either standalone or embedded. * [Blade](https://github.com/biezhi/blade) - Lightweight, modular framework which aims to be elegant and simple. * [Bootique](http://bootique.io/) - Minimally opinionated framework for runnable apps. * [Grails](https://grails.org/) - Groovy framework with the aim to provide a highly productive environment by favoring convention over configuration, no XML and support for mixins. From f6f9c4a2803ba67aacfa4407a09e2cb3b8c644ec Mon Sep 17 00:00:00 2001 From: Moshe-Immerman Date: Tue, 16 May 2017 06:24:15 +0200 Subject: [PATCH 08/10] Remove SnopEE I think this is a bit immature to be awesome, the library is self-confessed experimental The development also seems to have split into 2 repos: https://github.com/ivargrimstad/snoop and https://github.com/ivargrimstad/snoop**ee** --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 020125b..a758e13 100644 --- a/README.md +++ b/README.md @@ -558,7 +558,6 @@ A curated list of awesome Java frameworks, libraries and software. * [Eureka](https://github.com/Netflix/eureka) - REST based service registry for resilient load balancing and failover. * [Lagom](https://www.lightbend.com/lagom) - Framework for creating microservice-based systems. * [restQL-core](https://github.com/B2W-BIT/restQL-core) - Microservice query language that fetches information from multiple services. -* [SnopEE](https://github.com/ivargrimstad/snoop) - Discovery service for Java EE microservices. ## Monitoring From 45faa434497cd600f16c90d0352fe0ce7ceefed5 Mon Sep 17 00:00:00 2001 From: Moshe-Immerman Date: Tue, 16 May 2017 06:30:54 +0200 Subject: [PATCH 09/10] Remove REST languages These aren't java and are better suited to an awesome REST list - #529 adds a link to one --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 020125b..f4d292f 100644 --- a/README.md +++ b/README.md @@ -689,7 +689,6 @@ A curated list of awesome Java frameworks, libraries and software. * [Feign](https://github.com/Netflix/feign) - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. * [Jersey](https://jersey.java.net/) - JAX-RS reference implementation. * [Microserver](https://github.com/aol/micro-server) — A convenient extensible Microservices plugin system for Spring & Spring Boot, with over 30 plugins and growing, that supports both micro-monolith and pure microservices styles. -* [RAML](http://raml.org/) - Modeling language to generate REST APIs with contract first. * [Rapidoid](http://www.rapidoid.org/) - A simple, secure and extremely fast framework consisting of embedded HTTP server, GUI components and dependency injection. * [rest.li](https://github.com/linkedin/rest.li) - Framework for building robust, scalable RESTful architectures using type-safe bindings and asynchronous, non-blocking IO with an end-to-end developer workflow that promotes clean practices, uniform interface design and consistent data modeling. * [RESTEasy](http://resteasy.jboss.org/) - Fully certified and portable implementation of the JAX-RS specification. @@ -697,7 +696,6 @@ A curated list of awesome Java frameworks, libraries and software. * [Restlet Framework](https://github.com/restlet/restlet-framework-java/) - Pioneering framework with powerful routing and filtering capabilities, unified client and server API. * [Retrofit](http://square.github.io/retrofit/) - Type-safe REST client. * [Spark](http://sparkjava.com/) - Sinatra inspired framework. -* [Swagger](http://swagger.io/) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. ## Science From 852cb693f3bd932ec07aeb679138acb5c46f546a Mon Sep 17 00:00:00 2001 From: Moshe-Immerman Date: Tue, 23 May 2017 20:19:57 +0200 Subject: [PATCH 10/10] Update iText commercial icon --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 192edb9..c0a5301 100644 --- a/README.md +++ b/README.md @@ -644,7 +644,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Dynamic Jasper](http://dynamicjasper.com/) - Abstraction layer to JasperReports. * [DynamicReports](http://dynamicreports.org/) - Simplifies JasperReports. * [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. -* [iText](http://itextpdf.com/) - Creates PDF files programmatically but requires a license for commercial purposes. +* [iText ![c]](http://itextpdf.com/) - Creates PDF files programmatically. * [JasperReports](http://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. ## Performance analysis