Manfred Riem's Blog
A software engineer who loves to tinker with all sorts of things
This blog is my personal blog. Anything blogged here is not to be
construed as official statements pertaining to my place of
employment past, present or future. For "official" business you
came to the wrong place.
Comments are welcomed send an email to blog (at) manorrock.com.
2023
2023
2022
2021
- Looking at the Piranha Server Maven plugin (December 8th, 2021)
- Can Go cold start a HTTP based service (November 15th, 2021)
- Can Python cold start a HTTP based service (November 12th, 2021)
- Can NodeJS cold start a HTTP based service (November 11th, 2021)
- Can Ruby cold start a HTTP based service (November 10th, 2021)
- Can Java cold start a GraalVM HTTP based service? (November 8th, 2021)
- Can Java cold start an OpenLiberty HTTP based service? (November 4th, 2021)
- Can Java cold start a Vert.X HTTP based service? (November 4th, 2021)
- Can Java cold start an Inverno.io HTTP based service? (November 2nd, 2021)
- Can Java cold start a Glassfish HTTP based service? (November 1st, 2021)
- Can Java cold start a Helidon HTTP based service? (October 29th, 2021)
- Can Java cold start a Micronaut HTTP based service? (October 28th, 2021)
- Can Java cold start a Piranha HTTP based service? (October 27th, 2021)
- Can Java cold start a Tomcat HTTP based service? (October 26th, 2021)
- Can Java cold start a Quarkus HTTP based service? (October 25th, 2021)
- Can Java cold start a WildFly HTTP based service? (October 22nd, 2021)
- Can Java cold start a Spring Boot HTTP service? (October 19th, 2021)
- Can Java cold start a JavaSE HTTP service? (October 15th, 2021)
- Can Java cold-start? (September 22nd, 2021)
- Manorrock.com is now a GitHub organization (July 12th, 2021)
- Build and push release Docker image (July 2nd, 2021)
- Build and push latest Docker image (July 1st, 2021)
- GitHub manual release trigger (June 30th, 2021)
- Publish SNAPSHOTs to Sonatype OSS (June 28th, 2021)
- Publish Maven Site to GitHub pages (June 24th, 2021)
- Use a Git tag as a release trigger (June 23rd, 2021)
- Run SonarCloud using GitHub actions (June 21st, 2021)
- Install another k3s master (April 9th, 2021)
- Install a k3s node (February 4th, 2021)
- Install a k3s cluster (February 1st, 2021)
2020
- Testing Azure Examples (Dec 24th, 2020)
- Running Piranha Nano on Azure Functions using Custom Handlers (Dec 13th, 2020)
- Use Piranha Nano as a light-weight Servlet runner (November 23rd, 2020)
- Create an Azure Resource Group (September 14th, 2020)
- Swap a deployment using deployment slots on Azure App Service (August 31st, 2020)
- Deploy to a deployment slot on Azure App Service (August 28th, 2020)
- Create a deployment slot on Azure App Service (August 27th, 2020)
- Deploy a GraalVM application on Azure App Service (August 26th, 2020)
- 50 Quick Azure Java examples (August 25th, 2020)
- Installing a Kubernetes cluster on macOS using k3d (April 8th, 2020)
- Migrating your Teralith (April 4th, 2020)
- Runnin a Web Application as an Azure Function (February 19th, 2020)
- Running a JSP as an Azure Function (February 17th, 2020)
- Using Piranha Nano for Azure Functions (February 16th, 2020)
- Install a k3s cluster (February 12th, 2020)
- Install k3sup (February 11th, 2020)
- Install a k3s node (February 10th, 2020)
- Fix problem with CSIMigration on a Kubernetes cluster (January 8th, 2020)
2019
2018
- Deploying a Serverless WAR (December 16th, 2018)
- Writing a Serverless HelloWorld function, part 2 (December 16th, 2018)
- Writing a Serverless HelloWorld function (December 15th, 2018)
- A do loop example (November 5th, 2018)
- A JAX-RS StreamingOutput example (October 19th, 2018)
- Are there any unary operators in OpenJDK (October 16th, 2018)
- How do you use logical operators in OpenJDK? (October 13th, 2018)
- EESecurity with a Filter (October 12th, 2018)
- A simple module-info example (October 11th, 2018)
- Using Bean Validation to validate null values (October 8th, 2018)
- Yes, JSP is also part of JakartaEE (October 4th, 2018)
- A h:outputLabel example (September 27th, 2018)
- A JPA OneToMany annotation example (September 26th, 2018)
- How do you use the Min annotation in Bean Validation? (September 24th, 2018)
- How do you do asynchronous processing with a Servlet? (September 20th, 2018)
- How do you create a WebSocket ClientEndpoint? (September 7th, 2018)
- A good old HttpSessionAttributeListener example (September 6th, 2018)
- How do you use the JSON-P JsonParser? (September 5th, 2018)
- How do you format JSON with JSON-B? (September 4th, 2018)
- A JSF FacesConfig example (August 31st, 2018)
- Do you want to use Java 8 streams in JPA? (August 29th, 2018)
- How do you use the Size annotation in BeanValidation? (August 28th, 2018)
- How does encoding and decoding work in WebSocket? (August 27th, 2018)
- How do you write out JSON with JSON-P? (August 23rd, 2018)
- How do you ignore a JSON property in JSON-B? (August 22nd, 2018)
- A straightforward JSF h:inputText example (August 21st, 2018)
- How do you use the Converter annotation in JPA (August 20th, 2018)
- What about using a query parameter in JAX-RS (August 16th, 2018)
- Matching a REST path is easy! (August 15th, 2018)
- What to do when a WebSocket errors (August 14th, 2018)
- How do you use EESecurity with FORM authentication? (August 13th, 2018)
- A simple HttpSession listener example (August 10th, 2018)
- A read plain JSON example (August 9th, 2018)
- How do you use the JsonbProperty annotation example (August 8th, 2018)
- A JSF f:param example (August 7th, 2018)
- How do you use a simple JPA query example (August 6th, 2018)
- How do you support a custom HTTP method in JAX-RS example (August 3rd, 2018)
- What to do when a WebSocket has closed example (August 2nd, 2018)
- A Soteria in-memory IdentityStore example (August 1st, 2018)
- A good old ServletRequestListener example (July 31st, 2018)
- A how to read null values in JSON-B example (July 30th, 2018)
- A JSF h:link example (July 27th, 2018)
- A JPA Column annotation example (July 26th, 2018)
- How to use @PathParam example (July 25th, 2018)
- What to do when opening a WebSocket example (July 24th, 2018)
- A Soteria Servlet example (July 24th, 2018)
- A ServletContextListener example (July 20th, 2018)
- A JSON-B fromObjectToJson example (July 19th, 2018)
- A JSF ActionListener example (July 18th, 2018)
- A JPA annotated id example (July 16th, 2018)
- A JAX-RS Consumes example (July 13th, 2018)
- How do you create a WebSocket endpoint? (July 12th, 2018)
- A Soteria BASIC authentication example (July 11th, 2018)
- How do you do HTTP/2 Server Push? (July 10th, 2018)
- Time for a basic JSF form example (July 9th, 2018)
- Wondering how to use a PersistenceUnit (July 5th, 2018)
- A from JSON to Object example (July 3rd, 2018)
- A JAX-RS Produces example (July 2nd, 2018)
- A Soteria custom form with JSF example (June 29th, 2018)
- A Servlet getHttpServletMapping example (June 28th, 2018)
- A JSF h:commandScript example (June 27th, 2018)
- A JPA PersistenceContext example (June 26th, 2018)
- A JAX-RS DELETE example (June 25th, 2018)
- A WebServlet annotation example (June 22nd, 2018)
- An annotated PUT example (June 21st, 2018)
- A Table annotation example (June 20th, 2018)
- A GET annotation example (June 19th, 2018)
- A JPA Entity example (June 18th, 2018)
- Manorrock Herring 1.0.0 is out the door (June 15th, 2018)
- An injected SessionMap (June 15th, 2018)
- An injected ViewMap (June 14th, 2018)
- A JAX-RS @Post example (June 13th, 20018)
- Hello World using JAX-RS (June 12th, 2018)
- A CDI managed validator (June 11th, 2018)
- A CDI managed converter (June 8th, 2018)
- A h:outputText example (June 7th, 2018)
- A h:inputSecret example (June 6th, 2018)
- A h:inputFile example (June 5th, 2018)
- How to use the InitParameterMap annotation (June 4th, 2018)
- Manorrock Piranha 4.0.1.0 is out the door (June 4th, 2018)
- An injected RequestCookieMap example (June 1st, 2018)
- An injected ApplicationMap example (May 31st, 2018)
- A @ManagedProperty example (May 30th, 2018)
- An injected ExternalContext example (May 29th, 2018)
- An injected FacesContext example (May 25th, 2018)
- A @ViewScoped example (May 24th, 2018)
- An @ApplicationScoped example (May 23rd, 2018)
- The 2nd JakartaEE example (May 22nd, 2018)
- Our first JakartaEE example (May 21st, 2018)
- Updating a Kubernetes node (April 25th, 2018)
- JaCoCo code coverage (April 19th, 2018)
- Simple JSON serialization (March 17th, 2018)
- Expiring a Kubernetes node (March 9th, 2018)
- Create a Kubernetes cluster on ARM (February 5th, 2018)
- Adding a worker node on Kubernetes ARM (February 2nd, 2018)
- Deploying Kubernetes Dashboard on Kubernetes ARM (January 23rd, 2018)
- Deploying Heapster on Kubernetes ARM (January 8th, 2018)
- Deploying Redmine on Kubernetes ARM (January 4th, 2018)
- Deploying Traefik Ingress Controller on Kubernetes ARM (January 2nd, 2018)
2017
- Deploying Manorrock Maven Repos on Kubernetes ARM (December 29th, 2017)
- Deploying Gogs on Kubernetes ARM (December 28th, 2017)
- Deploying Jenkins on Kubernetes ARM (December 9th, 2017)
- Git Tip #5 - Using one version of Git amount your developers (April 13th, 2017)
- Continuous Integration back to Bas(h)ics, part 2 (April 10th, 2017)
- Continuous Integration back to Bas(h)ics (April 9th, 2017)
- Docker Tip #18 - Cleanup all Docker volumes (January 16, 2017)
- JavaEE Tip #11 - A Websocket Chat application (January 12, 2017)
- JSF Tips (January 11, 2017)
- Maven Tips (January 10, 2017)
- Docker Tips (January 9, 2017)
- JavaEE Tips (January 5, 2017)
- JavaEE Tip #10 - A minimal issue tracker (January 1, 2017)
2016
- Java Tip #3 - Create an executable JAR (December 12, 2016)
- Maven Tip #2 - Exclude a transitive dependency (December 8, 2016)
- One more way of sharing (October 19, 2016)
- NetBeans Tip #1 - Monitoring HTTP (October 18, 2016)
- Git Tip #4 - A 2-way sync (October 17, 2016)
- JavaEE Tip #9 - A minimal Git server web application (October 14, 2016)
- Maven Tip #1 - Produce both fat and thin JAR (October 13, 2016)
- Docker Tip #17 - Turn off swapping (October 12, 2016)
- Docker Tip #16 - Making sure your process receives signals (October 11, 2016)
- JavaEE Tip #8 - A minimal Maven repository manager (October 10, 2016)
- JavaEE Tip #7 - A simple REST file store (October 7, 2016)
- JSF Tip #67 - A little more JSF (October 6, 2016)
- NetBeans 8.2 is out! (October 5, 2016)
- Docker Tip #15 - Create a Tomcat image (October 4, 2016)
- GitLab Tip #1 - Push a Docker image to GitLab using Maven (October 3, 2016)
- Java Tip #2 - Build a Mac OSX installer (September 30, 2016)
- Java Tip #1 - Build a Windows installer (September 29, 2016)
- JavaEE 8 survey (October 19, 2016)
- Docker Tip #14 - Set the maximum number of open files (September 16, 2016)
- Docker Tip #13 - Use NetBeans 8.2 when editing your Dockerfile (September 15, 2016)
- Java 9 schedule slipping, what does it mean to you? (September 14, 2016)
- NetBeans moving to Apache what does it mean to you? (September 13, 2016)
- Docker Tip #12 - Use docker commit to customize your image (September 12, 2016)
- JSF Tip #66 - Just enough JSF (September 9, 2016)
- Docker Tip #11 - Speed up Docker image creation (September 8, 2016)
- Git Tip #3 - Clear out dangling commits and unreferenced objects (September 7, 2016)
- Docker Tip #10 - Inspect the history of a Docker image (September 6, 2016)
- Docker Tip #9 - Push image into private Docker registry (September 2, 2016)
- Docker Tip #8 - Create a Jenkins slave image (September 1, 2016)
- Docker Tip #7 - Create a base Java image (August 31, 2016)
- Docker Tip #6 - Create a base Alpine GlibC image (August 30, 2016)
- Git Tip #2 - Remove tag (August 29, 2016)
- Docker Tip #5 - Prune all images (August 26, 2016)
- Git Tip #1 - Rebasing including the first commit (August 25, 2016)
- Docker Tip #4 - Scrub dangling containers (August 24, 2016)
- Docker Tip #3 - Kill and remove all containers (August 23, 2016)
- Docker Tip #2 - Remove all containers (August 22, 2016)
- Docker Tip #1 - Kill all your containers (August 21, 2016)
- Do we really think about software? (July 1, 2016)
- End of another era (April 27, 2016)
- JAX-RS wish (March 27, 2016)
- CDI wish (March 13, 2016)
2015
- Simplifying (September 21, 2015)
- Trying out SonarQube (August 12, 2015)
- It took a little while (August 11, 2015)
- Time to recognize JCP heroes! (August 10, 2015)
- JSF 2.3 @Inject Flash (August 7, 2015)
- Mojarra GitHub read-only mirror (August 6, 2015)
- Over 150 blog entries (August 5, 2015)
- Security Tip #2 - Generating your own intermediate CA certificate (August 2, 2015)
- Security Tip #1 - Generating your own root CA certificate (August 1, 2015)
- JSF Tip #65 - JSF 2.1 Facelet VDL documentation (July 31, 2015)
- JSF Tip #64 - JSF 2.2 Facelet VDL documentation (July 30, 2015)
- CDI Tip #1 - Get the annotation for a proxied class (July 29, 2015)
- Ozark package realignment (July 27, 2015)
- Are you secure? No, do you want to be? (July 22, 2015)
- And Mojarra 2.3.0 Milestone 3 has been released (July 21, 2015)
- Mojarra 2.2.12 has been released (July 20, 2015)
- Work on Ozark nicely progressing (July 17, 2015)
- Groovy 2.4.4 has been released (July 16, 2015)
- Download.java.net is no more ;) (July 15, 2015)
- JavaEE 7 MR has been approved (July 14, 2015)
- And we have more Mojarra committers joining (July 13, 2015)
- Apache 2.4.x, SSL, mod_proxy and Glassfish 4.1 (July 12, 2015)
- Apache 2.2.x, SSL, mod_proxy and Glassfish 4.1 (July 11, 2015)
- And we have another Mojarra committer (July 10, 2015)
- Why did I move my blog (July 5, 2015)
- And we have moved! (July 1, 2015)
- Glassfish is not dead (May 12, 2015)
- Going back in memory lane (May 11, 2015)
- Maintaining Mojarra and its testing stack (May 1, 2015)
- Mojarra 2.3.0 Milestone 2 has been released! (April 9, 2015)
- MVC vs JSF a bit of a different perspective (March 13, 2015)
- MVC JSR 1.0 Snapshots (February 18, 2015)
- JSF 2.3 Using a CDI managed Validator (January 16, 2015)
- JSF 2.3 Using a CDI managed Converter (January 15, 2015)
- Happy New Year! (January 1, 2015)
2014
- Working towards the first JSF 2.3 milestone (December 24, 2014)
- MVC and Adopt a JSR (December 19, 2014)
- JavaEE Tip #6 - Resources (December 18, 2014)
- JavaEE Tip #5 - Resource (December 15, 2014)
- JavaEE Tip #4 - PreDestroy (December 13, 2014)
- JavaEE Tip #3 - PostConstruct (December 12, 2014)
- JavaEE Tip #2 - Location of the JavaEE tutorial (November 6, 2014)
- JavaEE Tip #1 - Location of the JavaEE API documentation (November 5, 2014)
- JSF 2.3 Injecting the view map (October 31, 2014)
- JSF 2.3 changes (October 30, 2014)
- JSF 2.3 Injecting the UIViewRoot (October 29, 2014)
- JSF 2.3 allow CDI to handle #{application} (October 27, 2014)
- JSF 2.3 changes (October 23, 2014)
- And the MVC specification project is public (October 21, 2014)
- JSF Tip #63 - Another way to override a renderer (October 16, 2014)
- JSF 2.3 changes (October 15, 2014)
- JSF 2.3 Injecting the application map (October 15, 2014)
- JSF 2.3 @Inject ExternalContext (October 13, 2014)
- JSF 2.3 @Inject FacesContext (October 10, 2014)
- JSF 2.3 changes so far (October 9, 2014)
- MVC expert group members, batch 1 done! (October 7, 2014)
- MVC 1.0 next steps (October 6, 2014)
- JavaOne 2014 is a wrap! (October 3, 2014)
- Glassfish 4.1 is available! (September 26, 2014)
- MVC 1.0 JSR is on its way! (September 25, 2014)
- JSF 2.3 EG is on its way! (September 24, 2014)
- JSF 2.3 has been approved (September 23, 2014)
- Presenting at JavaOne 2014 (September 22, 2014)
- What is the next step in the process for JSF and MVC? (September 4, 2014)
- And towards MVC 1.0 we go! (August 19, 2014)
- And towards JSF 2.3 we go! (July 22, 2014)
- JSF Tip #62 - Understanding rendered="false" (June 3, 2014)
- Weblogic Tip #2 - Using Maven to create a Weblogic domain (May 28, 2014)
- Glassfish 4.0.1 roadmap (May 23, 2014)
- Weblogic Tip #1 - Installing Oracle Weblogic Server using Maven and the Zip distribution (May 21, 2014)
- JSF Tip #61 - What does 'com.sun.faces.responseBufferSize' do? (May 19, 2014)
- Java 8 is out! (March 25, 2014)
- JSF Tip #60 - What does 'com.sun.faces.compressViewState' do? (February 12, 2014)
- JSF Tip #59 - What does the context-param com.sun.faces.sendPoweredByHeader do? (February 10, 2014)
- JSF Tip #58 - What does the context-param com.sun.faces.validateXml do? (February 7, 2014)
- JSF Tip #57 - Using a different start node in Faces Flows (February 6, 2014)
- JSF Tip #56 - Using the action based prototype in Mojarra (January 13, 2014)
- JSF Tip #55 - Adding a placeholder component to the component tree (January 1, 2014)
- Happy 2014 (January 1, 2014)
2013
- JSF Tip #54 - Enable CDI when bundling JSF (December 10, 2013)
- JSF Tip #53 - Adding ui:debug for debugging when running in Development mode (December 9, 2013)
- JSF Tip #52 - How to convert a date in JSF (December 6, 2013)
- JSF Tip #51 - Determine what version of Mojarra you are running (December 4, 2013)
- JSF Tip #50 - The first 50 tips (December 3, 2013)
- JSF Tip #49 - A nested composite component (December 2, 2013)
- JSF Tip #48 - Use a custom packaged converter (November 27, 2013)
- JSF Tip #47 - Package a custom converter (November 26, 2013)
- JSF Tip #46 - Creating a custom converter (November 25, 2013)
- JSF Tip #45 - Create a composite component with a custom namespace (November 22, 2013)
- JSF Tip #44 - Use a packaged composite component (November 21, 2013)
- JSF Tip #43 - Package a composite component (November 20, 2013)
- JSF Tip #42 - JSF 2.2 HTML 5 passthrough example (November 19, 2013)
- JSF Tip #41 - How to enter and exit a flow (November 18, 2013)
- JSF Tip #40 - Loading resource library contracts from the filesystem (November 15, 2013)
- JSF Tip #39 - Style and layout resource library contracts (November 14, 2013)
- JSF Tip #38 - Using a view-based resource library contract (November 14, 2013)
- JSF Tip #37 - Create a composite component (November 12, 2013)
- JSF Tip #36 - Create a custom validator (November 11, 2013)
- On towards JavaEE 8 (November 9, 2013)
- Jersey 2.4.1 has been released (November 9, 2013)
- JSF Tip #35 - Create a flow programmatically using annotations (November 8, 2013)
- JSF Tip #34 - Override JSF renderer and create a new tag for it (November 7, 2013)
- JSF Tip #33 - Stateless JSF (November 6, 2013)
- JSF Tip #32 - Override a JSF Renderer (November 5, 2013)
- Glassfish Roadmap (November 4, 2013)
- The revolutionary JCP process (November 3, 2013)
- Tyrus 1.3 has been released (November 2, 2013)
- JSF Tip #31 - Migrate your @ManagedProperty annotations (November 1, 2013)
- Jersey 2.4 has been released (October 31, 2013)
- JSF Tip #30 - Migrate your ManagedBean to Named annotations (October 30, 2013)
- JSF Tip #29 - Update your JSF version in Glassfish (October 29, 2013)
- JSF Tip #28 - Turning logging on JSF up (October 28, 2013)
- JPA Tip #2 - Make the underlying SQL show up in your logs (October 27, 2013)
- Mojarra 2.2.4 was released (October 25, 2013)
- Mojarra 2.1.26 and 2.2.3 have been released (September 6, 2013)
- JavaEE 7 Tech Kit (July 31, 2013)
- JSF Tip #27 - Do not put code with side effects in a getter method (July 31, 2013)
- JSF is going spec Stateless (February 28, 2013)
- JSF Tip #26 - JSF is going Stateless (February 8, 2013)
2012
- JSF Tip #25 - The default JSF Converters (December 26, 2012)
- JSF Tip #24 - The JSF State Saving summary (December 19, 2012)
- JSF Tip #23 - The StateHelper API (December 15, 2012)
- JSF Tip #22 - The JSF PartialStateHolder API (October 18, 2012)
- JSF Tip #21 - The JSF StateHolder API (October 17, 2012)
- JSF Tip #20 - The JSF State Saving APIs (October 16, 2012)
- JSF Tip #19 - Introduction to JSF State Saving (October 16, 2012)
- JSF Tip #18 - The JSF Converter summary (October 11, 2012)
- JSF Tip #17 - Packaging your JSF Converter (October 5, 2012)
- JSF Tip #16 - Writing your own Converter (October 4, 2012)
- JSF Tip #15 - The DateTimeConverter (October 3, 2012)
- JSF Tip #14 - The NumberConverter (October 2, 2012)
- JSF Tip #13 - The JSF Converter API (September 21, 2012)
- JSF Tip #12 - Introduction to JSF Converters (September 21, 2012)
- JSF Tip #11 - The JSF Validator summary (September 17, 2012)
- JSF Tip #10 - The FacesValidator annotation (September 17, 2012)
- JSF Tip #9 - The BeanValidator (September 17, 2012)
- Apache load balancer with fail-over and Glassfish v2ur2+ (September 14, 2012)
- Setting up a session sticky Glassfish cluster (September 14, 2012)
- Glassfish cluster (September 14, 2012)
- JSF Tip #8 - Writing your own Validator (September 9, 2012)
- JSF Tip #7 - The RequiredValidator (September 7, 2012)
- JSF Tip #6 - The RegexValidator (September 6, 2012)
- JSF Tip #5 - The DoubleRangeValidator (September 5, 2012)
- JSF Tip #4 - The LongRangeValidator (September 5, 2012)
- JSF Tip #3 - The LengthValidator (September 4, 2012)
- JSF Tip #2 - The JSF Validator API (September 3, 2012)
- JSF Tip #1 - Introduction to JSF Validators (September 1, 2012)
- Integration testing on Weblogic using HtmlUnit and Maven (January 13, 2012)
- Testing with a specific JSF version on Glassfish using HtmlUnit and Maven (January 5, 2012)
2011
- Using multiple different containers for integration testing (December 22, 2011)
- Using HtmlUnit, Glassfish and Maven in a multi-project setup for integration testing (December 20, 2011)
- Using HtmlUnit, Glassfish and Maven for integration testing (December 15, 2011)
- HtmlUnit and Maven for integration testing (December 13, 2011)
- Reviewed NetBeans IDE 7 Cookbook (August 16, 2011)
- Reviewing NetBeans IDE 7 Cookbook (August 1, 2011)
- JSF 2.2 approved (April 1, 2011)
- JavaEE 7 JSR approved (March 29, 2011)
2008
2007