From a4c82337d9fc157edaf42afd2e160a3d49cb79c6 Mon Sep 17 00:00:00 2001 From: pron Date: Wed, 22 Jan 2014 12:34:06 +0200 Subject: [PATCH] Prepare release 0.4.0 --- .travis.yml | 2 +- build.gradle | 4 ++-- docs/index.md | 8 ++++---- .../java/co/paralleluniverse/galaxy/quasar/Store.java | 4 ++-- .../co/paralleluniverse/galaxy/quasar/StoreImpl.java | 4 ++-- .../remote/galaxy/GlxGlobalRegistry.java | 11 ++++++----- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 938171e64f..49deb2a038 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ branches: env: global: - secure: "NTxp50e11DMSJH1ApQbjlBxY4bcsLAGSw3mYzodOlceybMBh+hbpiAmqBpCZ9878wm5AZcPVq6ULzB47IrdfQG3Xn3SybwWLWpZRI3B0eaqoyhk71J5Uuu9rr+xXoD1C1q/TV1Z0Zf5unR1jz5DmUZ5En8yf4lZ4MI7gft6tDFI=" - - DOCS_BRANCH="" + - DOCS_BRANCH="0.4.0" - GEN_APIDOCS="gradle javadoc" after_success: diff --git a/build.gradle b/build.gradle index 1c0165bdc2..9b934dab61 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ subprojects { [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' group = "co.paralleluniverse" - version = "0.4.0-SNAPSHOT" + version = "0.4.0" status = "integration" description = "lightweight threads and actors for the JVM." ext.url = "http://puniverse.github.com/quasar" @@ -330,7 +330,7 @@ project (':quasar-galaxy') { compile project(':quasar-core') compile project(':quasar-actors') - compile ("co.paralleluniverse:galaxy:1.2.1") + compile ("co.paralleluniverse:galaxy:1.3") } tasks.withType(JavaExec) { diff --git a/docs/index.md b/docs/index.md index b543b8ed19..a6700568e0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -21,7 +21,7 @@ Quasar is developed by [Parallel Universe] and released as free software, dual-l * [Guava](https://code.google.com/p/guava-libraries/) --- Java utility classes, by Google * [SLF4J](http://www.slf4j.org/) --- Simple Logging Facade for Java (SLF4J) -Quasar's clustering makes use of [Galaxy](http://puniverse.github.io/galaxy/), by Parallel Universe +Quasar's clustering makes use of [Galaxy](http://docs.paralleluniverse.co/galaxy/), by Parallel Universe ### Acknowledgments @@ -885,13 +885,13 @@ Because records are intended to control mutability, an `ObjectField` should neve {% capture examples %}https://github.com/{{site.github}}/tree/master/src/test/java/co/paralleluniverse/pulsar/examples{% endcapture %} -Quasar is able to run on a cluster, thereby letting actors and channels communicate across machines. The Quasar cluster runs on top of [Galaxy](http://puniverse.github.io/galaxy/), Parallel Universe's in-memory data grid. +Quasar is able to run on a cluster, thereby letting actors and channels communicate across machines. The Quasar cluster runs on top of [Galaxy](http://docs.paralleluniverse.co/galaxy/), Parallel Universe's in-memory data grid. In this version, clustering is pretty rudimentary, but essential features should work: actors can be made discoverable on the network, messages can be passed among actors on different nodes, and an actor on a failing node will behave as expected of a dying actor with respect to exit messages sent to other, remote, *watching* it or *linked* to it. ### Enabling Clustering -First, you will need to add the `co.paralleluniverse:quasar-galaxy` artifact as a dependency to your project, and set some Galaxy cluster properties. At the very least you will need to set `"galaxy.nodeId"`, which will have to be a different `short` value for each master node. If you're running several nodes on the same machine, you will also need to set `"galaxy.port"` and `"galaxy.slave_port"`. These properties can be set in several ways. The simplest is to define them as JVM system properties (as `-D` command line arguments).However, you can also set them in the Galaxy configuration XML files or in a properties file. Please refer to the [Galaxy documentation](http://puniverse.github.io/galaxy/) for more detail +First, you will need to add the `co.paralleluniverse:quasar-galaxy` artifact as a dependency to your project, and set some Galaxy cluster properties. At the very least you will need to set `"galaxy.nodeId"`, which will have to be a different `short` value for each master node. If you're running several nodes on the same machine, you will also need to set `"galaxy.port"` and `"galaxy.slave_port"`. These properties can be set in several ways. The simplest is to define them as JVM system properties (as `-D` command line arguments).However, you can also set them in the Galaxy configuration XML files or in a properties file. Please refer to the [Galaxy documentation](http://docs.paralleluniverse.co/galaxy/) for more detail. Then, to make an actor discoverable cluster-wide, all you need to do is register it with the [`register`]({{javadoc}}/actors/Actor.html#register()) method of the `Actor` class. @@ -901,7 +901,7 @@ An actor doesn't have to be registered in order to be reachable on the network. ### Cluster Configuration -For instructions on how to configure the Galaxy cluster, please refere to Galaxy's [getting started guide](http://puniverse.github.io/galaxy/start/getting-started.html). +For instructions on how to configure the Galaxy cluster, please refere to Galaxy's [getting started guide](http://docs.paralleluniverse.co/galaxy/start/getting-started.html). ## Examples diff --git a/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/Store.java b/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/Store.java index 2b7aec31e2..53e61f2a34 100644 --- a/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/Store.java +++ b/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/Store.java @@ -16,8 +16,8 @@ import co.paralleluniverse.common.io.Persistable; import co.paralleluniverse.fibers.SuspendExecution; import co.paralleluniverse.galaxy.CacheListener; -import co.paralleluniverse.galaxy.InvokeOnLine; import co.paralleluniverse.galaxy.ItemState; +import co.paralleluniverse.galaxy.LineFunction; import co.paralleluniverse.galaxy.StoreTransaction; import co.paralleluniverse.galaxy.TimeoutException; import java.nio.ByteBuffer; @@ -458,7 +458,7 @@ public interface Store { */ void del(long id, StoreTransaction txn) throws TimeoutException, SuspendExecution; - T invoke(long id, InvokeOnLine function) throws TimeoutException, SuspendExecution; + T invoke(long id, LineFunction function) throws TimeoutException, SuspendExecution; /** * Makes the given item available in the given nodes' cache.
diff --git a/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/StoreImpl.java b/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/StoreImpl.java index ca42c3f622..3fca3a611e 100644 --- a/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/StoreImpl.java +++ b/quasar-galaxy/src/main/java/co/paralleluniverse/galaxy/quasar/StoreImpl.java @@ -17,8 +17,8 @@ import co.paralleluniverse.fibers.SuspendExecution; import co.paralleluniverse.fibers.futures.AsyncListenableFuture; import co.paralleluniverse.galaxy.CacheListener; -import co.paralleluniverse.galaxy.InvokeOnLine; import co.paralleluniverse.galaxy.ItemState; +import co.paralleluniverse.galaxy.LineFunction; import co.paralleluniverse.galaxy.StoreTransaction; import co.paralleluniverse.galaxy.TimeoutException; import co.paralleluniverse.strands.Strand; @@ -164,7 +164,7 @@ public void set(long id, Persistable object, StoreTransaction txn) throws Timeou } @Override - public T invoke(long id, InvokeOnLine function) throws TimeoutException, SuspendExecution { + public T invoke(long id, LineFunction function) throws TimeoutException, SuspendExecution { return result(store.invokeAsync(id, function)); } diff --git a/quasar-galaxy/src/main/java/co/paralleluniverse/remote/galaxy/GlxGlobalRegistry.java b/quasar-galaxy/src/main/java/co/paralleluniverse/remote/galaxy/GlxGlobalRegistry.java index c7e24df249..5324da714f 100644 --- a/quasar-galaxy/src/main/java/co/paralleluniverse/remote/galaxy/GlxGlobalRegistry.java +++ b/quasar-galaxy/src/main/java/co/paralleluniverse/remote/galaxy/GlxGlobalRegistry.java @@ -17,6 +17,7 @@ import co.paralleluniverse.actors.GlobalRegistry; import co.paralleluniverse.actors.LocalActor; import co.paralleluniverse.fibers.SuspendExecution; +import co.paralleluniverse.galaxy.Cache; import co.paralleluniverse.galaxy.CacheListener; import co.paralleluniverse.galaxy.StoreTransaction; import co.paralleluniverse.galaxy.TimeoutException; @@ -146,17 +147,17 @@ private ActorRef getRootFromStoreAndUpdateCache(final String } store.setListener(root, new CacheListener() { @Override - public void invalidated(long id) { - evicted(id); + public void invalidated(Cache cache, long id) { + evicted(cache, id); } @Override - public void received(long id, long version, ByteBuffer data) { - evicted(id); + public void received(Cache cache, long id, long version, ByteBuffer data) { + evicted(cache, id); } @Override - public void evicted(long id) { + public void evicted(Cache cache, long id) { rootCache.remove(rootName); store.setListener(id, null); }