Skip to content

Latest commit

 

History

History
58 lines (38 loc) · 5.79 KB

index.md

File metadata and controls

58 lines (38 loc) · 5.79 KB
title keywords sidebar permalink summary
Threadly Overview
threadly concurrency java aurora jdbc
home_sidebar
index.html
A collection of java libraries to assist with development of java services to help bring new levels of safety, performance, and reliability.concurrent java applications. Ranging from concurrency tools designed to complement to java.util.concurrent, unit testing tools, NIO netwrking, AWS Aurora JDBC driver.

Threadly Concurrency Overview

Build status

Threadly provides a variety of thread pooling designs, ranging from the unique priority based, high performance, thread pools (PriorityScheduler and SingleThreadScheduler for example). To the ability to create a hierarchy of thready pools (sub pools in threadly named "Limiters", or behavior controlling pool wrappers like the KeyDistributedExecutor. In all cases threadly pools are designed to be safe, able to be garbage collected (or even use the CentralThreadlyPool for when you really don't want to worry about the pool life cycle).

Beyond the pools, threadly's ListenableFuture provides a very clean and functional way to implement async callback / transformation operations. Allowing for simple ".map" and ".flatMap" like transformations to provide monad like semantics. In addition tools like FutureUtils helps easily make powerful use of these basic features, as well as tooling when managing collections of futures.

To get a more complete overview of our features take a look at our threadly features wiki page.

Include threadly in your project with the maven coordinates org.threadly:threadly:6.6.

Threadly Unit Test Overview

Build status

Threadly-Test provides utilities to take asynchornous designs and make them easy to unit test deterministicly and quickly. Fitting into the threadly ecosystem is the TestableScheduler which will only execute the provided tasks when .tick() is invoked. Other examples are the AsyncVerifier and the TestCondition which help in checking async operations, or blocking till an async operation completes as expected.

To get a more complete overview of our test features take a look at our threadly-test features wiki page.

Include threadly-test in your project with the maven coordinates org.threadly:threadly-test:1.0.

AuroraArc Overview

Build status

AuroraArc is an AWS Aurora aware JDBC driver. This JDBC driver takes advantage of Aurora's rapid failover capabilities. The driver monitors all members in the cluster individually and will distribute requests across the cluster to try and provide the best performance and reliability. This includes using hints from the application to know when requests should be sent to replica servers. It also interpets errors to try and provide degraded service if possible, or otherwise make use of Aurora's rapid failover capabilities.

Use the mysql AuroraArc driver with the maven coordinates org.threadly:auroraArc-mysql:0.15 and the postgresql AuroraArc driver with the coordinates org.threadly:auroraArc-psql:0.15.

Litesockets Overview

Build status

Litesockets provides a high performance non-blocking networking abstraction. It uses the KeyDistributedExecutor to have every individual connections be handled in a single threaded manner. This allows the user to not need to consider concurrency concerns unless using datastructures that are shared by multiple connections.

Litesockets can be included from the maven central coordinates org.threadly:litesockets:4.14.

News

{% for post in site.posts limit:10 %}

<a class="post-link" href="{{ post.url | remove: "/" }}">{{ post.title }} {{ post.date | date: "%b %-d, %Y" }} / {% for tag in post.tags %} <a href="{{ "tag_" | append: tag | append: ".html"}}">{{tag}}{% unless forloop.last %}, {% endunless%} {% endfor %}

<p>{% if post.summary %} {{ post.summary | strip_newlines | truncatewords: 200 }} {% else %} {{ post.content | truncatewords: 200 }} {% endif %}</p>

{% endfor %}

{% include links.html %}