Running Java EE applications with Payara Micro on the Raspberry Pi
Originally published on 13 May 2015
Last updated on 09 Oct 2019
Payara Micro is a new way of running Java EE applications without having to install a full application server.
As Payara Micro requires no installation and has a <60MB runtime footprint it is ideal for running on small platforms like the Raspberry Pi.This blog will give you a step by step rundown of getting a Payara Micro cluster running on a pair of Raspberry Pi's. However the steps here can be used to test Payara Micro on any Linux platform.Here’s our two servers Piyara1 and Piyara2 we are using the latest raspbian that has Java already installed.
So let's login and check Java is installed
Installing Payara Micro
Let’s download Payara Microwget http://bit.ly/2x14U4F -O payara-micro.jar
Ok now we’ve got Payara Installed let’s boot it up.
java -jar payara-micro.jar
That’s it Payara Micro Running on a Raspberry Pi!If we run top we can see that there’s still plenty of resources left on the Raspberry Pi.
Running a war File
At this stage however we aren’t running any JavaEE Applications. So let’s try a demo application by downloading the Prime faces showcase application.wget http://repository.primefaces.org/org/primefaces/showcase/5.2/showcase-5.2.war
java -jar payara-micro.jar --deploy showcase-5.2.war
You will see the message “Deployed 1 wars” and before that “showcase-5.2 was successfully deployed…”You can then test your deployed Prime Faces showcase by browsing to http://<your-pi-ip>:8080/showcase-5.2
You can run any war file using the –deploy input parameter to Payara Micro. The parameter can be used multiple times if you have multiple jars. Alternatively you can use the parameter
--deploymentDir to deploy all the war files in a specific directory.To see all the command line options run;
java -jar payara-micro.jar --help
How about Clustering
Clustering is simple with Payara Micro. Just run a second Payara Micro Server on the same network and they will “find” each other and form a cluster.What you will see in the log output of Payara Micro is something like;[2015-05-12T17:05:27.331+0000] [Payara 4.1] [INFO] [] [com.hazelcast.cluster.ClusterService] [tid: _ThreadID=36 _ThreadName=hz.glassfish-web.server.generic-operation.thread-0] [timeMillis: 1431450327331] [levelValue: 800] [[
[192.168.0.23]:5900 [dev] [3.4.2]
Members [2] {
Member [192.168.0.23]:5900 this
Member [192.168.0.24]:5900
}
]]
This is Payara Micro forming a cluster and all the members of the cluster are shown in the message. In this case our piyara1 and piyara2 servers. The cluster will include full session replication as well as a clustered Hazelcast Cache accessible using the JSR107 (JCache api) similar to standard Payara.
Feedback Wanted
It is incredibly easy to get started with Payara Micro on any platform, there is no installation and no fancy maven packaging you need to get your head around to use Payara Micro. Just download and run.As this is a new feature of Payara we are looking for feedback. If you have any ideas or you find issues where Payara Micro won’t run your application, please raise them on the GitHub project https://github.com/payara/Payara
Related Posts
Nugget Friday - Streamlining Configuration with MicroProfile Config
Published on 27 Sep 2024
by Luqman Saeed
0 Comments
Shaping Java's Future: Join the Jakarta EE Interest Group
Published on 25 Sep 2024
by Luqman Saeed
0 Comments