Autor: Florian Waibel

During the preparations for our EclipseCon talk "Web Applications with Eclipse RT and Docker in the Cloud" about our first Docker project, we spent quite some time building Docker images for Virgo powered applications. We investigated how to improve the continuous delivery of such applications using Gradle. In the first step we used the 'Gradle Docker plugin' to get started quickly. In your build script you specify Docker...

Erfahren Sie mehr

Some months ago, the Docker Team announced Docker 0.6.5[1]. Since that release it is possible to give your container names - this makes it much easier to find the correct container to interact with. It didn’t take long that I got used to this new feature. Together with the freshly introduced explicit linking this is a huge security improvement. Links allow containers to discover and securely communicate...

Erfahren Sie mehr

The post "Automated installation of Virgo with Docker" described how to build and run a Docker container with Virgo inside. Today I'll describe an easy way of continuously deploying applications into such a Virgo running inside an isolated Docker container. In a regular Virgo installation we would simply drop our application bundle into the pickup folder of the targeted Virgo instance. We could allow the Docker container...

Erfahren Sie mehr

It is a common procedure to read the initial configuration of a classic Java program from a file system properties file. Once the program is up and running, changes made to the configuration will be ignored unless you deliberately watch for changes to the properties file. OSGi runtimes provide a ConfigurationAdmin[1] to manage your initial configuration and handle changes during runtime. With Eclipse Gemini Blueprint[2] it is...

Erfahren Sie mehr

A few weeks ago a friend of mine enthusiastically told me about Docker[1] in a lunch break. Yesterday he supported me in creating my first Dockerfile and it was an amazing experience I must admit. But let's start at the beginning. What is Docker? Docker is a Linux Container Runtime, that runs Unix processes with strong guarantees of isolation. Under the hood Docker uses LXC[2] (LinuX Containers) which...

Erfahren Sie mehr

Lately I had a discussion about setters that have been introduced for the sake of testability. Just to be able to replace the actual collaborator with a stub or mock. The discussion went something like this: S: "We could use a dependency injection in conjunction with the @Inject annotation with a container like Spring to avoid introducing protected setters for tests only." H: "But, isn't that a lot...

Erfahren Sie mehr

Lately a colleague showed me how to improve JUnit tests written for a distance calculator. Speaking with other developers I found out that the majority wasn't aware of the undocumented @Theories Runner which can be found in an experimental package in JUnit, so I decided to share this valuable "experiment". In contrast to the parameterized JUnit test, the Theories-runner will try out all possible combinations of...

Erfahren Sie mehr

This is just a heads up for those interested in developing RAP applications with Virgo. I finished updating our tutorial to RAP 2.0 and Virgo 3.6.x (aka Sky). The first part guides you through the setup of your Eclipse IDE and Virgo Jetty Server. The second part is a short walkthrough on how to create a Hello World Web Application Bundle (WAB) with RAP. Feedback welcome. [1] Developing...

Erfahren Sie mehr

Hot on the heels of the release of RAP 2.0 the bundles have been uploaded to Maven Central. Time for another coffee break with RAP and Maven. Before you get your coffee grab the updated sample project from GitHub[1]. $ cd /tmp $ git clone git://github.com/eclipsesource/rap-maven-examples.git and trigger the Maven action: $ cd rap-maven-examples/com.eclipsesource.rap.examples.maven $ mvn jetty:run While maven is doing it's job downloading the new RAP jars you can either go...

Erfahren Sie mehr