Fibers and actors for web development
Java Clojure SQLPL HTML Smarty Shell Other
Latest commit f413328 Oct 10, 2016 @pron pron committed on GitHub Merge pull request #78 from victornoel/76-webactors-public-httpreques…
…t-impl

Make HttpRequest implementation publicly usable
Permalink
Failed to load latest commit information.
comsat-actors-api/src/main/java/co/paralleluniverse/comsat/webactors HttpMessage header name case normalization Jul 17, 2016
comsat-actors-netty/src Make HttpRequest implementation publicly usable Oct 10, 2016
comsat-actors-servlet Merge pull request #78 from victornoel/76-webactors-public-httpreques… Oct 10, 2016
comsat-actors-undertow/src Make HttpRequest implementation publicly usable Oct 10, 2016
comsat-dropwizard/src 💚 Attempt fixing build on Jenkins CI with higher timeout Nov 25, 2015
comsat-httpclient/src Close #39 Aug 27, 2015
comsat-httpkit Merge remote-tracking branch 'origin/release' into release Aug 7, 2016
comsat-jax-rs-client/src Jun 18, 2015
comsat-jdbc/src - [ci skip] Jun 15, 2015
comsat-jdbi/src `comsat-jdbi`: fix uninstrumented warnings with JDBI `2.72` Apr 18, 2016
comsat-jersey-server/src Add suspendables for request and response filters Sep 5, 2016
comsat-jetty-loader 💚 fix jetty/tomcat loaders build Jul 1, 2015
comsat-jooq/src 🐛 Fix #36 Aug 21, 2015
comsat-kafka/src ⬆️ Upgrade Kafka to `0.9.0.0` Feb 10, 2016
comsat-mongodb-allanbank/src Add missing suspendables for mongodb integration Sep 6, 2016
comsat-okhttp/src ⬆️ Initial upgrade of OkHttp to 2.6.0 Nov 25, 2015
comsat-retrofit/src Control extension API May 19, 2016
comsat-ring-jetty9 Merge remote-tracking branch 'origin/release' into release Aug 7, 2016
comsat-servlet/src - Apr 17, 2016
comsat-shiro/src Add Apache Shiro integration Mar 13, 2016
comsat-spring 💚 Try fixing Travis build Apr 5, 2016
comsat-test-utils/src - Apr 3, 2016
comsat-test-war Fix headers [ci skip] Mar 29, 2015
comsat-tomcat-loader Upgrade Quasar version to 0.7.6 Aug 7, 2016
docs fix note about jdbc datasource usage May 5, 2016
travis Fix Jekyll version Dec 8, 2015
.gitignore Ignore Eclipse files Aug 31, 2016
.travis.yml Shorten Travis log Apr 17, 2016
CONTRIBUTING.md 📝 Add base branch info to notes for contributors [ci skip] Jul 18, 2016
LICENSE async jersey and license headers Aug 6, 2013
NOTICE 📝 Underscore notice [ci skip] Jul 13, 2015
README.md 📝 Add base branch info to notes for contributors [ci skip] Jul 18, 2016
build.gradle Revert "Injectable WebActors - Undertow" (#73) Sep 13, 2016
gradle-app.setting docs Oct 31, 2013
settings.gradle Add Apache Shiro integration Mar 13, 2016

README.md

COMSAT
Scalable, Concurrent Web Apps

Build Status Dependency Status Version License License

Getting started

Add the following Maven/Gradle dependencies:

Feature Artifact
Servlet integration for defining fiber-per-request servlets. co.paralleluniverse:comsat-servlet:0.7.0
A fiber-blocking Clojure Ring adapter based on Jetty 9.3. co.paralleluniverse:comsat-ring-jetty9:0.7.0
HTTP Kit-based fiber-blocking HTTP client. co.paralleluniverse:comsat-httpkit:0.7.0
Jersey server integration for defining REST services. co.paralleluniverse:comsat-jersey-server:0.7.0
Dropwizard integration including Jersey, ApacheHttpClient and JDBI. co.paralleluniverse:comsat-dropwizard:0.7.0
Spring Framework Web MVC fiber-blocking controller methods integration. co.paralleluniverse:comsat-spring-webmvc:0.7.0
Spring Boot auto-configuration support for Web MVC controllers. co.paralleluniverse:comsat-spring-boot:0.7.0
Spring Security configuration support for fibers. co.paralleluniverse:comsat-spring-security:0.7.0
JAX-RS client integration for HTTP calls with fibers. co.paralleluniverse:comsat-jax-rs-client:0.7.0
ApacheHttpClient integration for HTTP calls with fibers. co.paralleluniverse:comsat-httpclient:0.7.0
Retrofit integration with fibers. co.paralleluniverse:comsat-retrofit:0.7.0
JDBI integration with fibers. co.paralleluniverse:comsat-jdbi:0.7.0
JDBC integration with fibers. co.paralleluniverse:comsat-jdbc:0.7.0
jOOQ integration with fibers. co.paralleluniverse:comsat-jooq:0.7.0
MongoDB fiber-blocking integration for the Allanbank API. co.paralleluniverse:comsat-mongodb-allanbank:0.7.0
OkHttp HTTP+SPDY client integration. co.paralleluniverse:comsat-okhttp:0.7.0
The Web Actors API. co.paralleluniverse:comsat-actors-api:0.7.0
Deploy HTTP, SSE and WebSocket Web Actors as Undertow handlers. co.paralleluniverse:comsat-actors-undertow:0.7.0
Deploy HTTP, SSE and WebSocket Web Actors as Netty handlers. co.paralleluniverse:comsat-actors-netty:0.7.0
Deploy HTTP, SSE and WebSocket Web Actors in J2EE 7 Servlet and WebSocket (JSR-356) embedded and standalone containers. co.paralleluniverse:comsat-actors-servlet:0.7.0
Use Comsat in the Tomcat servlet container without the java agent. co.paralleluniverse:comsat-tomcat-loader:0.7.0[:jdk8] (for JDK 8 optionally add the jdk8 classifier)
Use Comsat in the Jetty servlet container without the java agent. co.paralleluniverse:comsat-jetty-loader:0.7.0[:jdk8] (for JDK 8 optionally add the jdk8 classifier)
Spring Framework Web integration allows using fiber-blocking controllers. co.paralleluniverse:comsat-spring-web:0.7.0
Apache Kafka producer integration module. co.paralleluniverse:comsat-kafka:0.7.0
Apache Shiro realms integration module. co.paralleluniverse:comsat-shiro:0.7.0

Or, build and install from sources (after installing Gradle locally) in your local maven repository with:

gradle install

The full testsuite can be run with gradle build.

Usage

A Gradle template project and a Maven archetype using various integration modules and featuring setup with both Dropwizard and standalone Tomcat are also available for jumpstart and study. Both have a without-comsat branch which is useful to clearly see the (minimal, if any) porting effort required (branches comparison works very well for this purporse).

There's a Comsat-Ring Clojure Leiningen template as well which includes an auto-instrument branch that doesn't need any explicit suspendable-marking code (suspendable!, defsfn, sfn etc.) thanks to Pulsar's new auto-instrumentation feature.

You can also have a look at additional examples.

Finally there are several regularly updated third-party bootstrap projects: Comsat + Dropwizard + jOOQ, Comsat Web Actors Stock Quotes (ported from Akka), Spring MVC + Tomcat standalone servlet container.

Getting help

Questions and suggestions are welcome at this forum/mailing list.

Contributions (including Pull Requests)

Please have a look at some brief information for contributors.

License

COMSAT is free software published under the following license:

Copyright (c) 2013-2016, Parallel Universe Software Co. All rights reserved.

This program and the accompanying materials are dual-licensed under
either the terms of the Eclipse Public License v1.0 as published by
the Eclipse Foundation

  or (per the licensee's choosing)

under the terms of the GNU Lesser General Public License version 3.0
as published by the Free Software Foundation.