
Ondro Mihályi
Director, Jakarta EE Expert at OmniFish
Prague, Czechia
Actions
Ondro is a software developer and consultant specializing in combining standard and proven tools to solve new and challenging problems. He's been developing in Java for over 10 years. He’s worked for clients like Payara, LottoLand, Uniqa and others.
He has co-founded OmniFish, which provides enterprise support for Eclipse GlassFish and expert Jakarta EE services. He’s passionate about helping his clients and the wider Java community with their projects based on Jakarta EE and similar technologies.
As an experienced Java developer and instructor, he's helped companies build and educate their development teams and improve their development processes.
He's a core member of several opensource projects and Jakarta EE specification projects. He’s a frequent conference speaker, leader of the Czech JUG, and a Java Champion.
Area of Expertise
Topics
Secure apps with joy, using new features in Jakarta EE 11
With Jakarta Security 4.0 in Jakarta EE 11, securing Java applications has become simpler and more flexible. Whether you’re working on cloud-native systems or microservices, this release provides tools that make providing various authentication mechanisms straightforward and intuitive.
In this session, you’ll learn an easy way how to secure different parts of your application using distinct methods or give users options like logging in with a username and password, OpenID providers such as Google or Facebook, or other approaches.
We’ll also explore OpenID Connect and OAuth 2.0 integration, showing how Jakarta Security 4.0 delivers an easy-to-use framework for securing APIs, microservices, and web applications. Through practical examples and live demos, you’ll see how to use these features to create secure and user-friendly applications effortlessly.
Also submitted to and declibed: Jfokus 2025, Devnexus 2025
Serverless Java hacks: Think different and leave old habits behind
In this presentation, we will delve into the details of developing serverless applications in Java, emphasizing the need for a paradigm shift in coding practices and architectural considerations. I will explain key aspects of serverless Java, including source code structuring, framework choices (many of them based on Jakarta EE), deployment strategies tailored for serverless environments, and runtime optimizations with GraalVM native compilation and tools like CRaC and AWS Snapstart.
Serverless applications require precise attention to startup speed optimizations and efficient resource initialization. We will discuss strategies for resource management, advocating for lean connection and thread pools. Additionally, we will examine the importance of external configuration, statelessness, and the efficient storage of state data in external services or databases within the context of serverless architectures.
As part of our technical exploration, I will highlight the advantages of using specialized client libraries optimized for startup speed, in contrast to traditional libraries designed for high throughput. By the end of this session, you will gain a deep understanding of the technical nuances involved in serverless Java development, equipping you with the tools and insights needed to optimize performance and seamlessly adapt to serverless computing environments.
Migrating from Java EE - to SpringBoot or something else?
Many companies use old and expensive Java EE servers like WebSphere or WebLogic. If you're considering moving away from them, this session is for you. We'll explore three main options: widely used SpringBoot framework, modern open-source Jakarta EE servers like GlassFish, and emerging choices like Quarkus and Piranha Cloud.
Through live demos and discussions, we'll compare these options in terms of how easy it is to get started, how straightforward it is to migrate from Java EE, how developer-friendly they are, and what features they offer for production. We'll also look at the evolution of the Jakarta EE ecosystem and how it currently compares to SpringBoot.
Whether you're a developer, a DevOps engineer, or an architect, this session will give you practical insights and help you make informed choices about your Java stack. Join me to find out the answer to the question: Should you migrate from Java EE - to SpringBoot or something else?
Also accepted at DevNexus 2025
How to Easily Upgrade to Jakarta EE 10: Javax to Jakarta Prefix without a Hassle
This session will guide you on upgrading applications to Jakarta EE 10 or frameworks like Spring Boot 3. Based on our experience and research, we'll show you a safe path from Java EE to Jakarta EE 10.
After Java EE became Jakarta EE, a major change occurred in Jakarta EE 9 - renaming packages from javax to jakarta. It sounds easy to automate, but in reality it's not so simple. Manual search and replace can be tedious. You need to upgrade libraries to versions that support Jakarta EE. Some libraries still don't support Jakarta EE or upgrading them may be too risky for you. On top of that, Jakarta EE 10 introduces yet additional breaking changes, possibly requiring more adjustments in your application.
To help you overcome these challenges, we'll share best practices that have worked for us and our clients. We'll introduce easy-to-use automation tools like Eclipse Transformer and OpenRewrite, and demonstrate their application on a real-world, non-trivial app. We'll also discuss handling third-party dependencies and fully embracing Jakarta EE 10 without sacrifices. After this session, you should be prepared to seamlessly upgrade to Jakarta EE 10, without any excuses.
Declined by JavaCro'24
Demystifying Java Virtual Threads - lessons learned from using them in GlassFish
Do you want to understand how Java Virtual Threads really work and whether the myths you heard about are true or not? Join me to find out.
In this session, we'll delve into how Java Virtual Threads work, dispelling myths and offering practical guidance on leveraging them effectively. Drawing from my experience with GlassFish and Grizzly, we'll discuss when and how to harness virtual threads to optimize performance and resource utilization in your applications. Along the way, we'll highlight common pitfalls to avoid.
We’ll debunk a few myths about virtual threads and explain why you shouldn’t be afraid to use them. Furthermore, we'll tackle the question of whether virtual threads pose a competition to reactive programming in Java or whether they can fit well together.
Join me as we unravel the mysteries of Java Virtual Threads and learn that you can start using virtual threads right now with peace in your mind.
Accepted at JavaCro'24
Afraid of Java cold starts in Serverless? Fear not, Java is super fast!
For years, we’ve been told that Java suffers from cold starts in AWS Lambda and Serverless in general. Believe it not. Java is extremely fast to start, the simplest Java program starts in milliseconds. It’s the Java frameworks and libraries that slow things down in general. But not all of them…
In this session, I want to show you the truth about Serverless Java and cold starts, what’s slow, what’s fast and why it matters. We’ll go through what a cold start is, what’s the impact of a long cold start. We’ll explore and compare Quarkus and Piranha Cloud, the most modern and fastest Jakarta EE frameworks. We’ll test the limits of what they are capable of, how fast they start and whether we even need to think about any optimizations to reduce their cold start. Then we’ll explain what optimizations may help if you need to go further, like tuning the JVM, building a OS-native binary with GraalVM, or using AWS Snapstart.
You’ll see live for yourselves how Java AWS Lambda functions built with Jakarta EE can start fast and decrease the cold starts to the absolute minimum!
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top