Grails 7 Scope - Remove Micronaut Context #13517
Replies: 14 comments 65 replies
-
Removing Micronaut Context as the parent context of the Spring Boot context means you would not longer be able to:
|
Beta Was this translation helpful? Give feedback.
-
If Micronaut was to be come a plugin, so it became an optional plugin, I would see that as a big plus. |
Beta Was this translation helpful? Give feedback.
-
My biggest issue with Micronaut in Grails is the fact thait's not clear WHY Micronaut is a worth addition for the framework (here is the link of the current user guide: https://docs.grails.org/6.2.0/guide/single.html ) on the main documentation. This is the main problem: for the newbie (and I'm not a newbie, I'm a Grails user since the beginning and even wrote a bookt about it "Falando de Grails") it's not clear the bennefits of Micronaut. And I must confess, even for me is not clear. One of the nicest features we could have was a faster startup of the application. And the fact is that even today we still don't have this. |
Beta Was this translation helpful? Give feedback.
-
There is a work-in-progress PR currently updating to Micronaut 4.5.3 #13545 |
Beta Was this translation helpful? Give feedback.
-
I think it would be incredibly difficult for someone in a project (like ours!) that was built with micronaut context baked in to be able to take a major update that removed it without a clear pathway for upgrade, be it a plugin or otherwise. We too have felt much of the pain of the multiple layers of application context and I still don't fully understand it, but that would make an upgrade even harder as we've built a great deal of working code on top of it. |
Beta Was this translation helpful? Give feedback.
-
I think this change warrants more investigation and testing than we have time for, before releasing Grails 7. |
Beta Was this translation helpful? Give feedback.
-
@rainboyan I am secretly praying that you can contribute to Grails removing Micronaut since you have done it in Grace. I know, please don't hate me, we need your help. |
Beta Was this translation helpful? Give feedback.
-
@codeconsole @matrei @jamesfredley All I did was make Grails look normal and make it a true Spring Boot application.
In fact, it is not. It's not the Spring Boot version that lags behind Grails, it's the whole design principle. Grails should take advantage of Groovy and enhance Spring Boot as a powerful option, rather than a replacement to compete with. GSP can be used as a view template engine in Spring Boot, Grails Controllers can be used with Spring MVC, GORM can coexist with Spring Data, etc. Grails' CLI and GSP, Plugins are its most important features, should be enhanced, not stagnant. Some of the issues I've submitted two year ago still worth figuring out. These issues lead to deeper thinking. graceframework/grace-framework@3c20c92 |
Beta Was this translation helpful? Give feedback.
-
I would like to point out that by removing it, there is a path to getting live reload back and better with HotSwapAgent |
Beta Was this translation helpful? Give feedback.
-
Based on the Grails Weekly Meeting today, Graeme pointed out the best way forward for people using Micronaut with Grails is to use the Micronaut Spring Boot Starter. This will be the ideal pathway for people wanting to use Micronaut in 7.0 https://micronaut-projects.github.io/micronaut-spring/latest/guide/#springBootStarter |
Beta Was this translation helpful? Give feedback.
-
I repeat: all these issues would be no issues if since the beginning was
clear for everyone which gains we would have with Micronaut.
Today we still don't have this on the core documentation. The benefits to
justify a change so great on the core of the framework were never clear for
the majority of Grails users.
the main benefit would be an improvement on startup times. Did we got it?
Nope: still the same problem. Is it easier to generate native binaries with
it? No, or at least not clear for everyone else.
It looks for me more like a marketing strategy than a technical improvement.
Em qui., 14 de nov. de 2024 às 05:56, Constantine ***@***.***>
escreveu:
… It will be awesome if grails will have a clear guide how to use micronaut
via spring boot starter. Or probably have a tiny wrapper just for
declarative http client
—
Reply to this email directly, view it on GitHub
<#13517 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AC6W7AG2WA7F6KSTJVUPSHT2ARQUXAVCNFSM6AAAAABJKNVYY2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMRVGE2TMNQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Henrique Lobo Weissmann
Diretor Técnico
<https://www.facebook.com/itexto> <https://www.twitter.com/itexto>
<https://www.linkedin.com/company/itexto>
<https://www.instagram.com/itextobr>
*Tel:* +55 (31) 2573-1979 <+55(31)2573-1979>
*Email:* ***@***.***
*Web:* www.itexto.com.br
|
Beta Was this translation helpful? Give feedback.
-
I believe in you Jeff.
But which were the real benefits that we got with Micronaut?
Em qui., 14 de nov. de 2024 às 11:25, Jeff Scott Brown <
***@***.***> escreveu:
… It looks for me more like a marketing strategy than a technical
improvement.
I appreciate the input but I assure you, it wasn't a marketing strategy.
The Marketing team wasn't even involved in the discussions or the
decisions. The decision to integrate Micronaut was 100% a technology team
decision. I know folks keep saying that it wasn't and I appreciate that
perspective, but it really was a technology decision.
—
Reply to this email directly, view it on GitHub
<#13517 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AC6W7ABNSOA4WNSWRFEZ45T2ASXE5AVCNFSM6AAAAABJKNVYY2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMRVGUZDCNI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Henrique Lobo Weissmann
Diretor Técnico
<https://www.facebook.com/itexto> <https://www.twitter.com/itexto>
<https://www.linkedin.com/company/itexto>
<https://www.instagram.com/itextobr>
*Tel:* +55 (31) 2573-1979 <+55(31)2573-1979>
*Email:* ***@***.***
*Web:* www.itexto.com.br
|
Beta Was this translation helpful? Give feedback.
-
If the bennefits was for some applications only, why add this at the core
of the framework and not as a plugin?
Em qui., 14 de nov. de 2024 às 16:36, Jeff Scott Brown <
***@***.***> escreveu:
… "But which were the real benefits that we got with Micronaut?" - It
depends on the application, and some may not benefit much, but some do. As
an example, it is the case that instead of writing traditional Grails
services some folks want to write classes that are configured as Micronaut
beans and then inject those beans where they want them into other Micronaut
beans and/or into Spring beans. Benefits of that include compile time bean
configuration vs runtime bean configuration. Some folks have libraries of
Micronaut beans that they consume from both Grails apps and Micronaut apps.
Micronaut provides some interesting capabilities like the declarative http
client. I think some of Grails internals were rejigged to take advantage of
Micronaut. Those are some examples anyway.
For Grails 7 I think the approach the team is taking is to pull most of
that out and provide a path for folks to take advantage of those things if
they like (except the internal Grails wirings), and for folks who don't
want to take advantage of those things then they aren't bringing any of
that baggage along in their Grails apps.
—
Reply to this email directly, view it on GitHub
<#13517 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AC6W7AGHQDIN7LLRHO4K3OD2AT3UNAVCNFSM6AAAAABJKNVYY2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMRVHA4TENI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Henrique Lobo Weissmann
Diretor Técnico
<https://www.facebook.com/itexto> <https://www.twitter.com/itexto>
<https://www.linkedin.com/company/itexto>
<https://www.instagram.com/itextobr>
*Tel:* +55 (31) 2573-1979 <+55(31)2573-1979>
*Email:* ***@***.***
*Web:* www.itexto.com.br
|
Beta Was this translation helpful? Give feedback.
-
This is why the addition of Micronaut seems more like a marketing based one
than technical based.
The easiest way to avoid this impression is tô improve communication. Just
show the reasons and main bennefits on the documentation of the Grails
project itself. This should have been done since the first day.
Em seg., 18 de nov. de 2024, 17:58, Jeff Scott Brown <
***@***.***> escreveu:
… "If the bennefits was for some applications only, why add this at the core
of the framework and not as a plugin?"
I don't have a specific answer to that which would be helpful, but in
Grails 7, with respect to this I think the net effect will be largely the
same as if it were a plugin.
—
Reply to this email directly, view it on GitHub
<#13517 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AC6W7AAVFHL6YTUWHYIQLE32BJIIVAVCNFSM6AAAAABJKNVYY2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTCMRZGY4DMOA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
The grails team have been discussing whether or not it is worth keeping the Micronaut Context as the Parent Context in Grails (since Grail 4.x). This has caused issues in development regarding configuration loading , among others. It also has led to preventions on usages of reloaders like the hotswap-agent (those may be resolvable however). The thought is to let Grails be based on spring and not mix the other framework in. That being said micronaut can still be used within the project in a more standalone manner.
We are also looking for someone to contribute to a few Micronaut tasks in preparation for Grails 7
grails/grails-doc#912
grails/grails-functional-tests#241
77 votes ·
Beta Was this translation helpful? Give feedback.
All reactions