Skip to main content
Jump to: navigation, search

Flux/Running Flux

This is a brief description how to run the Flux implementation locally. Since Flux is a highly decoupled and distributed system that is aimed at running in the cloud on different nodes and cloud regions, running Flux locally requires a number of individual components to be installed and run locally.


Once RabbitMQ is running, you can configure. This is used as the messaging backbone for Flux.

Flux node server

  • you need node and npm installed on your machine (Node.js)
  • run "npm install eclipse-flux"
  • go to ~/node_modules/eclipse-flux
  • run "npm start"

You will see logging output appearing on the console.

Eclipse IDE integration

After restarting your Eclipse IDE, there is a new context menu section called "Flux". The next step is to configure Flux:

  • set host to "http://localhost:3000/"
  • set GitHub user to "defaultuser"
  • leave GitHub access token empty (this is used when running Flux with authentication enabled)

After that you have to restart Eclipse. Once the IDE is back up, you can use the Flux context menu to connect and disconnect projects.

Orion Web UI

This gives you a simplified Orion web UI for navigating and working with the projects that are connected to Flux. Once you have the headless JDT service running on your machine (see below), the advanced features for Java like auto-completion as well as errors and warnings appear in the Orion code editor.

Headless JDT service

  • download the headless JDT service manager
  • to run the JDT service manager, go to the console and run:
    • java -jar org.eclipse.flux.jdt.service.provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar
    • include the following parameters:
      • -app <path to the headless JDT package that you extracted above>
      • -user defaultuser

For example:

java -jar org.eclipse.flux.jdt.service.provider-0.0.1-SNAPSHOT-jar-with-dependencies.jar -app /Users/mlippert/dev/flux-test/jdtservice/org.eclipse.flux.headless-macosx.cocoa.x86_64 -user defaultuser

This runs the JDT service manager locally on your machine. It will spin-up multiple instances of the JDT service, as necessary, as separate JVM processes. The local workspaces for each instance of the JDT service will be created as "workspace-<magicalnumber>" in the headless JDT product location - if you want to take a look at those files.

The startup of an individual JDT service might take a while, so don't expect all those JDT features to be available right away after starting up the JDT service manager. It usually takes a while, especially for the JDT service to populate its workspace with the available projects and resolve their dependencies.

At the moment, m2e is included and therefore the headless JDT service is able to work with m2e projects, but beyond that, no other advanced project setups are supported yet.

Flux Java Client library

If you want to build your own Flux service, you can use the Flux Java client library to connect to Flux and to deal with the messages that Flux sends around.

You don't need this in order to run the prototype.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.