Spring Boot 3 : Workaround for Profiles with GraalVM - spring-boot

I am planning to migrate my project from 2.7.6 to 3.0.1 and also use the Native image feature. But I see in the release notes that Profiles don't work when building a native image using GraalVM. Our release pipeline is built in a way where the Docker image is built only once and the same is deployed to higher environments. We activate the respective profile based on the environment which helps to pick the right application properties. Is it worth using GraalVM if Profiles are not supported or is there any workaround that I am not aware of?

Related

Is it possible to pick up any library from the Maven repository and use into Quarkus app

I am new to the Quarkus, Is it possible to pick up any library from the Maven repository and use into Quarkus app.
or i can only use these Code.
Is there any impact on performance?
If you plan on building a Java app deployed on the JVM, you should be able to use any library.
Things are a bit different if you plan to build a native executable. In this case, a library might need some additional metadata for GraalVM. That's one of the things we do in our Quarkus extensions.

AEM 6.2 Local Setup Core Bundle Issue

And I have installed AEM 6.2 my local setup Then Created a new project using maven archetype. When I try to edit the site content of my page It gives This error.
Then I found the issue was not installed com.adobe.cq.core.wcm.components.core bundle in AEM.
When I open the bundle it shows description as A set of standardized components for AEM 6.3+ that can be used to speed up development of websites. And it contains a couple of issues.
Then I try to start that bundle It didn't work. I need to know what should be the issue with setup
Newer maven archetypes support the latest versions. If you do not have a requirement for core components and really want to use the maven archetype for AEM 6.2, then you can try to generate your project in batch mode using archetypeVersion as 11 and set the aemVersion to 6.2.0

How to update the quarkus version used

What is the recommended way of upgrading the quarkus version used in an existing application?
I have taken a look at my pom.xml, since the quarkus extensions dont specify the version used, I assume that they will get updated based on the main quarkus version.
The properties which look to be relevant in the update are quarkus-plugin.version, quarkus.platform.group-id and surefire-plugin.version.
How can I decide which ones to change, and is there anything else to be aware of?
There is one important thing to know, we have:
Quarkus Core: this is the main Quarkus artifacts + all the core extensions: the quarkus-bom is the one of Core. The Quarkus Maven plugin is part of it too.
Quarkus Platform: it contains more extensions such as Camel Quarkus: the quarkus-universe-bom is the one from the Platform, it contains the Core + the additional extensions
We usually release Quarkus core then Quarkus Platform with a few days between the two as we often need a release of Camel Quarkus, which is an Apache project and organizes a 72 hours vote for each release.
In a newly created project, you have the following properties:
<quarkus-plugin.version>1.1.1.Final</quarkus-plugin.version>
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<quarkus.platform.version>1.1.1.Final</quarkus.platform.version>
quarkus-plugin.version is the version of the Quarkus Maven plugin, it should be in line with the version of the core you use
quarkus.platform.artifact-id can right now either be quarkus-universe-bom for the whole Platform or just quarkus-bom for the Core only.
quarkus.platform.version is the version of the BOM.
Usually all these versions should be aligned. But... it could happen that we would need some quick update in the Platform and not of the core and we could then only release a new version of the platform. This hasn't happened yet to be honest.
Let's take an example of what happened today: I released Quarkus Core 1.2.0.Final but we are still waiting for Camel Quarkus to be released to release the Platform.
If you want to update early, you can change the BOM to use the quarkus-bom and update everything to 1.2.0.Final.
Or you can wait for the Platform to be released early next week and stay on the Platform quarkus-universe-bom.
We also only update the website documentation and code.quarkus.io when the full Platform is released.
It used to work to simply issue the command
mvn io.quarkus:quarkus-maven-plugin:1.4.2.Final:create
in the base project directory for it to automatically update the Quarkus versions in the project pom.xml file, but since 1.6.0.Final it errors:
project XXXXX: Unable to generate the project in a directory that already contains a pom.xml -> [Help 1]
I will create an improvement suggestion ticket at Quarkus to restore this functionality, maybe with a dedicated maven goal (like update)

Building and deploying kettle with maven

i am using spring boot 2.0.3 as a restful api to call kettle. I have kettle in my maven build with core and engine, but It fails running my transform with plugin not found For Add XML Column, and I’m sure others. I can’t find a maven repo with the plugins Built for maven dependency.
i am using 8.1 but can revert to 7 easily.
i need to deploy it all as a maven build for security and process reasons.
cheers
a
Checkout from github proper version of kettle, build it and install to local repository.
I don't remember exactly, i built kettle long time ago, but i think kettle consists of several modules.
engine-core
db-dialog
ui
plugin
You are missing on of them.

How I can know whats new in specific version of spring

I want to know which changes spring has in his 1.5.9 version, and in 2.0 version,
how I can find a list or something else?
You're confusing:
the Spring framework, in release 5.0.2 as of today, which is an application framework and inversion of control container for the Java platform
Spring Boot, a convention-over-configuration solution for creating stand-alone, production-grade Spring-based Applications that you can "just run", currently in release 1.5.9, with an impending 2.0.0rc1 release.
You can find the release notes here for release 1.5.9, and here for release 2.0.0.

Resources