Releases: aol/micro-server
v0.64 of Microserver
New in Microserver v0.64
- Fix for application-register on Windows (thanks to Wilson Wang!) PR
Upgrade versions of the following dependencies
- Guava (19.0-rc2)
- Jackson Guava support (2.6.3)
Two new Plugins
- MySQL Plugin
- Couchbase Plugin
Upgrade to the micro-reactive plugin
Getting Microserver
Maven dependency
Microserver Grizzly with Jersey
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>micro-grizzly-with-jersey</artifactId>
<version>0.64</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>micro-boot</artifactId>
<version>0.64</version>
</dependency>
Other modules are available in Maven Central
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'micro-grizzly-with-jersey', version:'0.64'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'micro-boot', version:'0.64'
Java Doc : Microserver Core
Java Doc : Microserver Boot
Java Doc : Microserver Data
Java Doc : Microserver Grizzly
Java Doc : Microserver Jersey
Java Doc : Microserver Swagger
Java Doc : Microserver Metrics
Java Doc : Microserver Reactive
Java Doc : Microserver Events
Java Doc : Microserver MySQL
Java Doc : Microserver Couchbase
Java Doc : Microserver Ip Tracker
Java Doc : Microserver Application Register
Java Doc : Microserver Machine Stats
Java Doc : Microserver Cors
Java Doc : Microserver Client
v0.63 of Microserver
New in Microserver v0.63
Upgrade versions of the following dependencies
- simple-react (0.99.3)
- cyclops (6.0.2)
- jersey (2.21)
- jackson (2.6.3)
- grizzly (2.3.23)
- spring (4.2.2.RELEASE)
- spring boot (1.2.7)
Two new Plugins
- MySQL Plugin
- Couchbase Plugin
Upgrade to the micro-reactive plugin
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>micro-grizzly-with-jersey</artifactId>
<version>0.63</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>micro-boot</artifactId>
<version>0.63</version>
</dependency>
Other modules are available in Maven Central
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'micro-grizzly-with-jersey', version:'0.63'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'micro-boot', version:'0.63'
Java Doc : Microserver Core
Java Doc : Microserver Boot
Java Doc : Microserver Data
Java Doc : Microserver Grizzly
Java Doc : Microserver Jersey
Java Doc : Microserver Swagger
Java Doc : Microserver Metrics
Java Doc : Microserver Reactive
Java Doc : Microserver Events
Java Doc : Microserver MySQL
Java Doc : Microserver Couchbase
Java Doc : Microserver Ip Tracker
Java Doc : Microserver Application Register
Java Doc : Microserver Machine Stats
Java Doc : Microserver Cors
Java Doc : Microserver Client
v0.62 of Microserver : A plugin architecture and Microserver goes Reactive
New in Microserver v0.62
A new plugin Architecture and 11 plugins, with lots more to follow!
- micro-reactive - reactive programming via Pipes (Queues & Topics) and Asyncrhonous Streams.
- micro-events - capture scheduled jobs / active requests
- micro-data - Spring Data, Hibernate and JDBC
- micro-metrics - Dropwizard metrics for Spring
- micro-swagger
- micro-client - Async Rest Clients (NIO & Thread based)
- micro-grizzly - Grizzly Web server
- micro-jersey - Jersey jax-rs implementation
- micro-guava - Guava support (Jackson & Event bus configuration)
- micro-ip-tracker
- micro-cors
Other stuff!
- Users can create custom plugins
- Reactive Microserver first phase, with Reactive mixin that makes it easy to create performance optimised simple-react Streams
- simple-react version upgraded to 0.98
- Grizzly upgraded to version 2.3.21
- Jersey upgraded to version 2.19
Reactive Microserver
IO Bound Example, implement Reactive on your Rest Resource to inject Reactive capabilities!
@GET
@Produces("application/json")
public void mainfest(@Suspended AsyncResponse asyncResponse, @Context ServletContext context) {
this.ioStream().of("/META-INF/MANIFEST.MF")
.map(url->context.getResourceAsStream(url))
.map(this::getManifest)
.peek(result->asyncResponse.resume(result))
.run();
}
Get a thread per I/O task, but each event chain operates with thread affinity for performance reasons.
Pipes example
Create a bounded wait free Queue called "test"
LazyFutureStream<String> stream = Pipes.registerForIO("test", QueueFactories.
<String>boundedNonBlockingQueue(100)
.build());
Create a batch processing Stream
stream.sync() //do not distribute the next task to a task executor
.filter(it->it!=null)
.async() //now fan out across threads using a task executor
.batchBySize(20)
.sync() //any additional processing to continue on executing thread
.map(this::save)
.forEach(Logger::info);
new MicroserverApp(()-> "simple-app").run();
In our Rest Resources pipe information to our processing Stream
@Path("/status")
@Rest
public class PipesStatusResource implements Reactive {
volatile int next=0;
@GET
@Produces("text/plain")
@Path("/ping")
public String ping() {
this.enqueue("test",nextData());
return "ok";
}
}
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>micro-grizzly-with-jersey</artifactId>
<version>0.62</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>micro-boot</artifactId>
<version>0.62</version>
</dependency>
Other modules are available in Maven Central
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'micro-grizzly-with-jersey', version:'0.62'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'micro-boot', version:'0.62'
Java Doc : Microserver Core
Java Doc : Microserver Boot
Java Doc : Microserver Data
Java Doc : Microserver Grizzly
Java Doc : Microserver Jersey
Java Doc : Microserver Swagger
Java Doc : Microserver Metrics
Java Doc : Microserver Reactive
Java Doc : Microserver Events
v0.59 of Microserver
New in Microserver v0.59
upgrade simple-react to v0.96
Fixes for
-
Ability to preload properties file
Properties props = new PropertyFileConfig(true).propertyFactory() ;
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-core</artifactId>
<version>0.59</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-boot</artifactId>
<version>0.59</version>
</dependency>
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'microserver-core', version:'0.59'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'microserver-boot', version:'0.59'
v0.58 of Microserver : Exception Mapper and Access Log fix
New in Microserver v0.58
upgrade simple-react to v0.95
Fixes for
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-core</artifactId>
<version>0.58</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-boot</artifactId>
<version>0.58</version>
</dependency>
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'microserver-core', version:'0.58'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'microserver-boot', version:'0.58'
v0.57 of Microserver : ServletRequestListener Support
New in Microserver v0.57
ServletRequestListener Support
ServletRequestListeners can be configured via ConfigurableModule in the same manner as ServletContextListeners.
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-core</artifactId>
<version>0.57</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-boot</artifactId>
<version>0.57</version>
</dependency>
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'microserver-core', version:'0.57'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'microserver-boot', version:'0.57'
v0.56 of Microserver CORs support
Pull Request
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-core</artifactId>
<version>0.56</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-boot</artifactId>
<version>0.56</version>
</dependency>
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'microserver-core', version:'0.56'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'microserver-boot', version:'0.56'
v0.55 of Microserver
New in Microserver v0.55
Enhancements / Fixes
A mechanism to expose Grizzly HttpServer to clients for further configuration
Make best guess of host for Swagger
Fixes for
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-core</artifactId>
<version>0.55</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-boot</artifactId>
<version>0.55</version>
</dependency>
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'microserver-core', version:'0.55'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'microserver-boot', version:'0.55'
v0.54 of Microserver
New in Microserver v0.54
Fixes
Better Maven support
Fix for Maven generated POM issue - #17
Better Spring boot support
Fix a Maven generated POM issue - #16
Fix for Spring auto-scan issue when zero config used
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-core</artifactId>
<version>0.54</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-boot</artifactId>
<version>0.54</version>
</dependency>
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'microserver-core', version:'0.54'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'microserver-boot', version:'0.54'
v0.53 : Dependency upgrade, minor enhancements
Fixes / enhancements
Instance level property file name now configurable #pull15
Display configured resources on startup : #4
Fix shadowPlugin version #13
Upgrade simple-react to v0.83
Configuring properties in Microserver
By default Microserver will attempt to load a file called application.properties using the rules defined here and file called instance.properties which also uses the same rules.
The disinction between the two is so that you can (optionally) have a separate properties files per group (e.g. Microservice type or entire cluster) and per instance.
The property file name for both application.properties and instance.properties can be modified via the @Micrserver configuration annotation.
The property instancePropertiesName is used to determine the instance properties resource name.
The property propertiesName is used to determine the application type properties resource name.
Getting Microserver
Maven dependency
Microserver core
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-core</artifactId>
<version>0.53</version>
</dependency>
Microserver Spring Boot
<dependency>
<groupId>com.aol.microservices</groupId>
<artifactId>microserver-boot</artifactId>
<version>0.53.1</version>
</dependency>
Gradle dependency
Microserver core
compile group: 'com.aol.microservices', name:'microserver-core', version:'0.53'
Microserver Spring Boot
compile group: 'com.aol.microservices', name:'microserver-boot', version:'0.53.1'