GeeCON 2026

GeeCON is a wonderful community-oriented conference, and GeeCON 2026 was no exception. The organizers, speakers, and attendees are such a friendly crowd. The size of the conference is fairly constant, maybe a little smaller than last year, but it is hard to gauge since the venue is so right-sized. It is hosted in a cinema complex, so the screens are big and the seats are comfortable. There are three parallel tracks, which means that the talks are pretty well attended. I would estimate that there were between 80 and 100 people attending my talk.

The speaker’s dinner on the first night was excellent! We had a three-course meal at a restaurant in downtown Krakow. The quality of the food was just amazing. Maybe only outdone by the company. It is always nice to be able to share a meal with fellow speakers. At GeeCON, you get to do that every night.

If you haven’t spoken at or attended GeeCON yet, I highly recommend adding it to your list of to-dos for next year.

Hashtag Jakarta EE #334

Welcome to issue number three hundred and thirty-four of Hashtag Jakarta EE!

I have been at home the entire week, so I was able to catch up on some work on Eclipse Krazo and Jakarta MVC. All the projects are now updated with the latest EE4J Parent POM, which contains all the configuration and plugins that are necessary to release through the new staging repository and the Maven Central Publishing portal. The TCK passes on GlassFish 8 again, and I am currently working on the runs with WildFly and Open Liberty.

Speaking of Open Liberty, IBM just submitted Compatibility Certification Requests for Jakarta EE 11 compatibility for Open Liberty 26.0.0.5 and IBM WebSphere Liberty 26.0.0.5 to the Jakarta EE Platform project. It is always good to see implementations announcing compatibility. This will also, hopefully, free up more resources to focus on the work with Jakarta EE 12.

I will publish a post about my trip to GeeCON as well as the last Javaforum Malmö shortly. I will have some time to do so when I am at airports between flights the coming week.

Hashtag Jakarta EE #333

Welcome to issue number three hundred and thirty-three of Hashtag Jakarta EE!

The last couple of weeks were pretty busy with events in four different countries on two continents. The upcoming week, I only have one event, and that is within cycling distance. I will present Augmenting AI with the Power of Jakarta EE at the Malmö JUG, aka Javaforum Malmö.

In the Jakarta EE Platform project call this week, we discussed the status of the fourth Milestone of Jakarta EE 12. The four specifications that are being updated for Jakarta EE 12 Core Profile (Jakarta RESTful Web Services, Jakarta JSON Binding, Jakarta JSON Processing, and Jakarta Contexts and Dependency Injection) are in a pretty good state and will be able to deliver at least milestone releases or even release candidates within the Milestone 5 timeline. There was also talk about an update to Jakarta Annotations, but that is not likely to happen in this release. We discussed pulling this specification in under the control of the Jakarta EE Platform project since it is providing platform-wide annotations, and does not necessarily need a project on its own.

If you are up for a cool read, check out this post by Graeme Rocher where he writes about how he uses AI Tooling to implement Jakarta EE specifications in Micronaut with the goal of reaching Jakarta EE 11 Core Profile compatibility. This exemplifies how well-written specifications are food for AI and takes spec-driven development to another level. I am looking forward to following the progress on this effort.

JavaConnect KE 2026

JavaConnect KE 2026 was the second edition of this conference. It is run by Kenya JUG in the good hands of Ian Dancan and his group of ortanizers. The conference featured a nice mix of local and international speakers where superstar-speaker Venkat Subramaniam and myself represented the international. Jakarta EE were able to help out with the event by sponsoring the food. This is an excellent way to help the local organizers to foster their community.

I did a brand new talk that I have titled Augmenting AI with the Power of Jakarta EE. Being a new talk, the slides were obviously finalized only minutes before entering the stage. This is a very fun talk to give, with lots of demoes to amplify the message. It was very well received by the attendees as well, so it wasn’t only me having fun. I anticipate doing this talk regularly in the coming months. It is already accepted to two upcoming conferences, and I will do it in Javaforum Malmö (Malmö JUG) next week as well.

It was a fantastic energy in the room during the entire event. Each talk was followed by engaged Q&A. I had so many great conversations during the coffee breaks, lunch, and after the event. In addition to my talk, I was also invited to participate in a panel at the closing of the conference. Ian, as the moderator, had prepared relevant questions for all the panelists. Of course, many of them revolving around AI in one form or the other. After the panel, there was a contest where all attendees could participate through Slido. The questions were all linked to what the various presenters had talked about in their presentations. A great way to end the conference!

University of York

On the way home from ShiftAPPens in Coimbra, Portugal, I stopped by York, England to give a guest lecture at the University of York. This is the first time I did a guest lecture like this and I hope it wasn’t the last. It is great to get the opportunity to get the feel for what is going on in academia and maybe provide some insights of what is going on in the industry. This feedback loop is often something that is neglected. In this age of AI and abundance of information and misinformation, I think it is more important than ever. Java is used everywhere. And the industry needs the learning institutions to teach Java. We need more initiatives like Java in Education by the Java Community Process (JCP).

With Jakarta EE, we (i.e. Shabnam, Tanja, and myself) are doing multiple activities to involve students, such as hackathons and lectures like this one. We are also revamping the web pages to make it easer to find resources to learn about Jakarta EE. The new Developer Portal is one such thing.

For my guest lecture, I chose to do the Past, Present, and Future of Enterprise Java presentation. It was well received, even if the students were not even born when Java was created and the first adventures with J2EE started. I limited my inside jokes about the early days of EJBs to accommodate for that. The rest of the presentation were well received and I had great questions and insights after the lecture.

On my way back from my adventure at the University of York, I had dinner in Manchester since I was flying out from Manchester Airport the following day. After I had enjoyed some great contemporary Indian food, I headed back to the hotel. On the train, I decided to browse the map of Manchester, and I came across the Alan Turin Memorial and I discovered that I had passed right by it on my way to the restaurant. A little too late, but it also gives me a reason to go back so I can check out the statue of the “Father of Computer Science”.

ShiftAPPens 2026

I finally got around to write about ShiftAPPens 2026. The Hackathon was an amazing experience. Around 150 students came together in a sports hall to participate in this hackathon that over the entire weekend from Friday around lunch until Sunday afternoon.

Since Jakarta EE was a gold sponsor of the hackathon, we could have a challenge of your own. The challenge we proposed was to create a “Know-me-Engine” where the teams should build a Jakarta EE application that interacted with an LLM using augmenting techniques to make the application provide better recommendations. We kept the challenge pretty open to encourage creativity. The motivation we pitched for taking our challenge was that even if they learn other languages and technologies at their university, they will most likely be working with Java, Jakarta EE, and related libraries, frameworks and tools when they start their career after graduation. The World runs on Java, and Jakarta EE is a significant part of that.

In total, seven teams chose to take on our challenge.The teams were composed of one up to four persons. We were pretty curious about what the participating teams would be able to create during the weekend. Would the challenge be to hard? Or too easy? It turned out to be pretty well in the middle. The teams required a minimum of guidance and were able to come up with some pretty cool usages of our technology.

The three judges, Otavio Santana, André Gomes, and myself had a difficult task of selecting the winner when the challenge ended on Sunday. We first narrowed it down to three teams that we asked to give us a 10 minute pitch of their solution. After that, we deliberated a little before unanimously selecting the winning team: VelociGrammers consisting of Carlos Ferreira, Dinis Isaev, António Silva, and Diogo Monteiro.

The VelociGrammers created a Movie A(I)ssistant named Chaplin that used data from your profile on TMDB to add context and relevance to the interaction. It could also directly update your movie ratings from the chat dialogue by providing the TMDB API as tools for the assistant. They used Jakarta EE 11 to create a RESTful Web Services API and interacted with the LLM using Langchain4j-CDI. The UI was developed as a simple HTML page using JavaScript to call the REST services. It all was deployed to WildFly.

The students participating in our challenge said that it was a very fun and creative challenge. And that they were surprised over how easy and powerful developing with Jakarta EE was. This show how important it is to reach out to the learning institutions to make sure that they teach this to students so they can get relevant experience for their future careers.

Hashtag Jakarta EE #332

Welcome to issue number three hundred and thirty-two of Hashtag Jakarta EE!

I am falling a little behind on the event posts, but I assure you that I will post reports from ShiftAPPens and JavaConnect KE shortly. In the meantime, check out this update from the GlassFish project. Among other things, GlassFish 9.0.0-M2 is updated with Jakarta EE 12 implementation and Jakarta REST integration with Jakarta Authorization.

Another item in my backlog is also to write the continuation of my article about AI and open source. It is starting to materialize in my mind, so it shouldn’t last too long before I am ready to write it up. Note that I am not using any AI tooling to write my posts. I take pride in my work, and don’t want to go down that path.

The progress for the specifications that have been asked to produce updates for Milestone 4 of Jakarta EE 12 looks very promising. Check out the minutes from this week’s call for the details. Another piece of good news regarding Jakarta EE 12 is that the Jakarta NoSQL project may be able to merge the features planned for Jakarta NoSQL 1.2 in Jakarta NoSQL 1.1. That means that it will certainly be a stronger candidate for inclusion in Jakarta EE 12.

Hashtag Jakarta EE #331

Welcome to issue number three hundred and thirty-one of Hashtag Jakarta EE!

I am currently in Coimbra, Portugal, for ShiftAPPens 2026. This is the ninth edition of this hackathon that is organised by and for students. As a Gold sponsor, Jakarta EE was allowed to have a challenge in the hackathon. Among the 150 students in various stages of their education, eight teams of up to four members chose to take on our challenge. At the time of writing this post, we hadn’t yet selected the winner among them. Directly after the closing of ShiftAPPens, I will continue to England to give a guest lecture at the University of York.

An interesting thing that came out of Open Community eXperience last week is this analyst report about Jakarta EE from ECI. It is a good writeup that highlights that Jakarta EE is built for longevity rather than being first on the hype curve. The article also points out that vendor-neutral integration standards will become increasingly valuable in the enterprise market.

For Jakarta EE 12, Milestone 4 is approaching. The Jakarta EE Platform project expects to see deliverables from the following individual specifications for this milestone:

  • REST 5.0 M1 API / spec
  • CDI 5.0 Milestone / Beta (currently at Alpha4)
  • JSON-P 2.2 M1 API / spec
  • JSON-B 3.1 M1 API / spec

Check out the Jakarta EE 12 planning board for the current status.

Next weekend, I will be speaking at JavaConnect KE 2026 in Nairobi, Kenya. This will be a brand new talk about how to augment LLMS with various agentic techniques using Jakarta EE as the foundation. This will be my first visit to Kenya, so I am really looking forward to connect with the local Java community there.

Open Community eXperience 2026

Open Community eXperience 2026 is a wrap. This is the second time since the rebranding from EclipseCon. It is certainly a different type of conference than EclipseCon used to be. The feeling is that it is slightly less community-oriented and more geared toward industry collaborations, which is is not necessarily a bad thing. It attracts participants from more layers of the organizations than developers alone and opens up for cross-pollination across these layers in addition to between projects resulting in many interesting conversations with people from different areas you’d normally not have. The hallway track at OCX was definitely interesting and proves again why it is important to attend conferences in person. This is something you don’t get at virtual conferences or by watching talks on YouTube.

In 2024, we hosted the Open Community for Java as a so-called co-located event, with two rooms dedicated to Java in a separate building. It certainly gave us the opportunity to fill the agenda with more relevant content for the Java community, but it also made us feel a little as outsiders compared to the “Main OCX Track”. This year, we chose a different approach by being a part of the Main OCX Track. The result was that we ended up with slightly less relevant content for the Java community, and all mixed in with everything else. Due to the date conflict with several other major Java conferences in Europe, the expectations were not very high for the number of attendees from the Java community, so this was probably not entirely a bad decision, even if the ones that did attend had a little less to choose from.

Those present at OCX this year could enjoy great food, great coffee, and great hallway conversations in addition to high-quality talks from excellent speakers. I hope that we will be able to get a bigger presence of both Java in the talks as well as among the attendees next year. At least, the dates for OCX and JCON won’t conflict next year, as the dates for OCX 2027 are April 13-15, while JCON Europe 2027 will be held May 31-June 3.

Hashtag Jakarta EE #330

Welcome to issue number three hundred and thirty of Hashtag Jakarta EE!

This week, I was at Open Community eXperience (OCX) in Brussels. I will publish a post about it shortly. This year, OCX unfortunately conflicted with JCON Europe in Cologne. This was kind of a bummer for me, but these things happen in the busy conference season. Next year, at least these two conferences won’t conflict. The dates for OCX 2027 are April 13-15, while JCON Europe 2027 will be May 31-June 3.

Eclipse Foundation is rolling out GitHub CoPilot Enterprise to all committers and I was so lucky to be in the first batch. It will enable us to automate some of the tasks associated with the JESP (Jakarta EE Specification Process). I set up instructions for CoPilot in the template for Compatibility Requests, so we can use an agent to validate the requests. One of the checklist items for that is to validate that the SHA-256 sums of the TCKs listed match. Definietely something a machine is more capable of getting right than a human. Of course, the actual approval of the request will still need a human in the loop to verify that everything is correct.

When I started the Hasthag Jakarta EE series, one of my goals was to include articles and posts about or adjacent to Jakarta EE to help amplify the good work done in our community. I do it from time to time, but I also want to do more, so please send me a link to an article if you want it mentioned here. For example, this article by Rustam about API versioning in Java using JAX-RS with Jakarta EE and MicroProfile is an excellent read that I higly recommend that you take a look at.