[go: up one dir, main page]

Menu

Tree [3a9c47] v1.9.3 /
 History

HTTPS access


File Date Author Commit
 .idea 2017-12-05 Joe Hegarty Joe Hegarty [da421e] Improved .gitignore. Support for IntelliJ 2017....
 actors 2018-05-10 Joe Hegarty Joe Hegarty [3a9c47] Version 1.9.3
 commons 2018-05-10 Joe Hegarty Joe Hegarty [3a9c47] Version 1.9.3
 .gitignore 2017-12-05 Joe Hegarty Joe Hegarty [da421e] Improved .gitignore. Support for IntelliJ 2017....
 .travis.yml 2018-04-03 Joe Hegarty Joe Hegarty [e3a2a3] JDK9+ Support
 CONTRIBUTING.md 2016-09-06 Joe Hegarty Joe Hegarty [7b9853] Update CONTRIBUTING.md
 LICENSE 2018-01-15 Joe Hegarty Joe Hegarty [4b6696] Update License Year
 README.md 2018-02-26 Joe Hegarty Joe Hegarty [f95a75] Update README.md
 eclipse-code-style.epf 2016-03-30 Joe Hegarty Joe Hegarty [c3c494] Refactor paths
 pom.xml 2018-05-10 Joe Hegarty Joe Hegarty [3a9c47] Version 1.9.3

Read Me

Orbit Logo

Release
Maven Central
Javadocs
Build Status
Gitter
Twitter Follow

Orbit is a framework to write distributed systems using virtual actors on the JVM. It allows developers to write highly distributed and scalable applications while greatly simplifying clustering, discovery, networking, state management, actor lifetime and more.

Duke's Choice Award Logo

Orbit received the 2016 Duke's Choice Award for Open Source, read here for more information.

Full Documentation

See the Wiki for full documentation, examples and other information.

Developer & License

This project was developed by Electronic Arts and is licensed under the BSD 3-Clause License.

Simple Example

Java

public interface Hello extends Actor
{
    Task<String> sayHello(String greeting);
}

public class HelloActor extends AbstractActor implements Hello
{
    public Task<String> sayHello(String greeting)
    {
        getLogger().info("Here: " + greeting);
        return Task.fromValue("Hello There");
    }
}

Actor.getReference(Hello.class, "0").sayHello("Meep Meep");

Scala

trait Hello extends Actor 
{
  def sayHello(greeting: String): Task[String]
}

class HelloActor extends AbstractActor[AnyRef] with Hello 
{
  def sayHello(greeting: String): Task[String] = 
  {
    getLogger.info("Here: " + greeting)
    Task.fromValue("Hello There")
  }
}

Actor.getReference(classOf[Hello], "0").sayHello("Meep Meep")