Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Oct 05 21:22
    bclozel closed #32585
  • Oct 05 21:21
    bclozel unlabeled #32585
  • Oct 05 21:21
    bclozel labeled #32585
  • Oct 05 20:52
    sdeleuze commented #31782
  • Oct 05 20:10
    mbhave unlabeled #30395
  • Oct 05 20:10
    mbhave labeled #30395
  • Oct 05 20:10
    mbhave demilestoned #30395
  • Oct 05 20:10
    mbhave closed #30395
  • Oct 05 20:10
    mbhave commented #30395
  • Oct 05 19:55
    spring-projects-issues labeled #32585
  • Oct 05 19:54
    pivotal-cla commented #32585
  • Oct 05 19:54
    abenti opened #32585
  • Oct 05 19:22
    Shivangip285 edited #32584
  • Oct 05 19:17
    bclozel labeled #32494
  • Oct 05 19:17
    bclozel labeled #32494
  • Oct 05 19:17
    bclozel unlabeled #32494
  • Oct 05 19:17
    bclozel commented #32494
  • Oct 05 19:17
    bclozel reopened #32494
  • Oct 05 19:14
    wilkinsona unlabeled #32584
  • Oct 05 19:14
    wilkinsona labeled #32584
first pic is spring boot 2.2.9. Second pic is spring boot 2.4.0.
Joseph Thelen
Is it possible to.. eh... delay? The expansion of placeholders in @PropertySource annotations (e.g. @PropertySource("classpath:${thing}.properties")) (used with @ConfigurationProperties) until some arbitrary time after the application has started up? In my case, the value of ${thing} isn't populated in the environment until after the application is already running :(
4 replies
this is just my guess but I think that's not what that part is intended for @joethe
1 reply
off the top of my head you'll probably need to do that programmatically.
Travis Tomsu

Hi all - trying to update spring-cloud-gcp to use Boot 2.4 and Cloud 2020.0.0-M5. I'm seeing an issue where a configuration is not being loaded because @ConditionalOnClassis now false - this got me going down a rabbit hole to see that spring-boot-autoconfigure-processor isn't actually outputting any META-INF/spring-autoconfigure-metadata.properties file. This may be a red herring, so does anyone know if something in this area has changed?

For reference, here are where are annotation processers are declared: https://github.com/GoogleCloudPlatform/spring-cloud-gcp/blob/master/spring-cloud-gcp-autoconfigure/pom.xml#L26-L36

The specific config that isn't loading is https://github.com/GoogleCloudPlatform/spring-cloud-gcp/blob/master/spring-cloud-gcp-autoconfigure/src/main/java/com/google/cloud/spring/autoconfigure/trace/StackdriverTraceAutoConfiguration.java#L80 with this output in the debug:

      Did not match:
         - @ConditionalOnClass did not find required class 'zipkin2.reporter.stackdriver.StackdriverSender' (OnClassCondition)

I see the JAR listed on the classpath and that class is contained in that JAR, so I'm not sure why it's not matching

1 reply
Travis Tomsu
@snicoll - I saw a few issues you've filed around the autoconfig-processor. Is that plugin required to get custom AutoConfig working, just to speed up startup times, or something else entirely?
Andy Wilkinson
The plugin produces metadata that optimises startup. Its use isn't required and should make no functional difference.
Travis Tomsu
That's good to know, too
Andy Wilkinson
Could the Stackdriver jar be corrupted?
Travis Tomsu
Doubt it - it's readable:
$ lesspipe /home/ttomsu/.m2/repository/io/zipkin/gcp/zipkin-sender-stackdriver/0.17.0/zipkin-sender-stackdriver-0.17.0.jar
Archive:  /home/ttomsu/.m2/repository/io/zipkin/gcp/zipkin-sender-stackdriver/0.17.0/zipkin-sender-stackdriver-0.17.0.jar
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
      81  Defl:N       80   1% 2020-05-19 00:55 ba1d086a  META-INF/MANIFEST.MF
       0  Stored        0   0% 2020-05-19 00:55 00000000  META-INF/
       0  Stored        0   0% 2020-05-19 00:52 00000000  zipkin2/
       0  Stored        0   0% 2020-05-19 00:52 00000000  zipkin2/reporter/
       0  Stored        0   0% 2020-05-19 00:52 00000000  zipkin2/reporter/stackdriver/
       0  Stored        0   0% 2020-05-19 00:52 00000000  zipkin2/reporter/stackdriver/internal/
       0  Stored        0   0% 2020-05-19 00:55 00000000  META-INF/maven/
       0  Stored        0   0% 2020-05-19 00:55 00000000  META-INF/maven/io.zipkin.gcp/
       0  Stored        0   0% 2020-05-19 00:55 00000000  META-INF/maven/io.zipkin.gcp/zipkin-sender-stackdriver/
    1727  Defl:N      712  59% 2020-05-19 00:55 3fc6a806  zipkin2/reporter/stackdriver/StackdriverSender$EmptyToVoid.class
    2092  Defl:N      990  53% 2020-05-19 00:55 48e39ac0  zipkin2/reporter/stackdriver/internal/CallbackToUnaryClientCallListener.class
    3528  Defl:N     1520  57% 2020-05-19 00:55 e3221fbd  zipkin2/reporter/stackdriver/internal/UnaryClientCall.class
    3579  Defl:N     1813  49% 2020-05-19 00:55 194dea32  zipkin2/reporter/stackdriver/internal/AwaitableUnaryClientCallListener.class
    2134  Defl:N      892  58% 2020-05-19 00:55 90e2b411  zipkin2/reporter/stackdriver/StackdriverSender$BatchWriteSpansCall.class
    8332  Defl:N     3637  56% 2020-05-19 00:55 834e3277  zipkin2/reporter/stackdriver/StackdriverSender.class
    3149  Defl:N     1455  54% 2020-05-19 00:55 90196472  zipkin2/reporter/stackdriver/StackdriverEncoder$1.class
     257  Defl:N      169  34% 2020-05-19 00:55 dd67ea3f  zipkin2/reporter/stackdriver/StackdriverSender$1.class
    1461  Defl:N      629  57% 2020-05-19 00:55 e5d88df6  zipkin2/reporter/stackdriver/StackdriverEncoder.class
    1003  Defl:N      460  54% 2020-05-19 00:55 fe07c405  zipkin2/reporter/stackdriver/StackdriverSender$EmptyToVoid$1.class
    1882  Defl:N      852  55% 2020-05-19 00:55 b4ae4c4d  zipkin2/reporter/stackdriver/StackdriverSender$Builder.class
    3614  Defl:N     1024  72% 2020-05-19 00:51 652fe8b3  META-INF/maven/io.zipkin.gcp/zipkin-sender-stackdriver/pom.xml
      74  Defl:N       70   5% 2020-05-19 00:52 cab5d8ba  META-INF/maven/io.zipkin.gcp/zipkin-sender-stackdriver/pom.properties
--------          -------  ---                            -------
   32913            14303  57%                            22 files
Andy Wilkinson
Strange. Nothing else is coming to mind. If you can share a project that reproduces the behaviour you're seeing, we can dig in a bit more.
Travis Tomsu
Roger that - standby
Hello, I'm interested in contributing to the spring framework as a volunteer... I have the code checked out and looking for pointers on how do I get started on the source code. Is there any getting started document or someone I may reach out to?
Is there a way to have a @Component add an environment property that is picked up by the components created after it?
Travis Tomsu

@wilkinsona - Here's a simple sample demonstrating the missing ConditionalOnClass - https://github.com/ttomsu/trace-service-one

Run the server with ./mvnw spring-boot:run -Dspring-boot.run.jvmArguments="-Ddebug" | less +F and you can see in the debug output that StackdriverTraceAutoConfiguration does not match because of a missing zipkin2.reporter.stackdriver.StackdriverSender

However, you can see with ./mvnw dependency:tree -Dincludes=io.zipkin.gcp that it's there:

[INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ demo ---
[INFO] com.example:demo:jar:0.0.1-SNAPSHOT
[INFO] \- com.google.cloud:spring-cloud-gcp-starter-trace:jar:2.0.0-RC1:compile
[INFO]    +- io.zipkin.gcp:zipkin-sender-stackdriver:jar:0.17.0:compile
[INFO]    |  \- io.zipkin.gcp:zipkin-translation-stackdriver:jar:0.17.0:compile
[INFO]    \- io.zipkin.gcp:brave-propagation-stackdriver:jar:0.17.0:compile
5 replies
oof, just got bit by a change to WebClient where ClientResponse.mutate will release the original body if you replace it the body. In my case I was taking the existing body, transforming it and then setting it to the body of the mutated response. I see the new helper method for transforming the body and have migrated to it, but that was tricky to triage.
Daniel Zou
In Spring Boot 2.4.0 - there is introduced the new Config Data loading concept (via. ConfigDataLoader & ConfigDataLocationResolver). There is this object called ConfigDataLocationResolverContext that gets passed around these objects. Is there a way for library integrators to prepopulate the bootstrap context that gets returned by ConfigurableBootstrapContext getBootstrapContext() in the interface? We used to be able to do this with registering a org.springframework.cloud.bootstrap.BootstrapConfiguration in spring.factories but does this not work anymore?
3 replies
Fizii Q
spring question: if I am already using jcl-over-slf4j, should that be removed in favor of spring-jcl?
@wilkinsona I got the unit tests working (ish) I'm not sure if this is a bug or intended but I moved application-test.properties to src/main/resources. Previously it was supposed to be in src/test/resources.
Then I added this in application.properties:
# Test

Am I doing this wrong? I have the following configuration:

# Dev
spring.config.activate.on-profile=test | local | dev 

# Test

But I get this error:

Property: my.key
Value: null
Reason: must not be null

However, if I put my.key inside application-test.properties my.key is set.

Okay, the parser is a little touchy. Apparently I can't have adjacent comments around #---

The version has been upgraded from SpringBoot 2.3.4 to 2.4.
I get a build error
What should i do?
Lend me your wisdom

Project build error: Non-parseable POM C: \ project \ jcom-cca \ sts-bundle \ workspace \ release \ maven \ org \ springframework \ boot \ spring-boot-dependencies \ 2.4.0 \ spring-boot-dependencies -2.4.0.pom: end tag not allowed in epilog but got / (position: END_TAG seen ... </ build> \ n </ project> \ n </ ... @ 2869: 9)

2 replies

Hello I need help
I create a Spring boot with sub modules with Gradle (kt) and Kotlin
When I run java -jar I have this error

aucun attribut manifest principal dans app.jar
In english :
no manifest attribut in app.jar
Do you know what does it mean

4 replies
hello all, is it possible to call another repository in the repository ? example : repoA and inside repoA i call repoB using Autowired
3 replies
James Howe
It would be better to create a service which injects both of them
Mirko Manojlovic
Hi guys, I've been looking everywhere but I can't find the answer so if anybody knows something it would be largely appreciated. I am using spring-data-redis and I have a simple sorted set that I want to use. So for example if I have a set that contains score 10 value 1, if insert another entry score 11 value 1, I don't want it to be overridden or in other words I want to use NX option from here https://redis.io/commands/zadd. How can I do that using StringRedisTemplate? In docs it says that default is to update the value https://docs.spring.io/spring-data/redis/docs/current/api/org/springframework/data/redis/connection/RedisZSetCommands.html#zAdd-byte:A-double-byte:A-
Similar question was asked here: https://stackoverflow.com/questions/63609715/spring-data-redis-zadd-command-missed-nxxxincr-options
3 replies
Hi mates! After reading latest changes on Boot 2.4, this article left me wondering: https://spring.io/blog/2020/08/14/config-file-processing-in-spring-boot-2-4. Since Spring already provides the amazing spring-cloud-config (bootstrap.yml), how do all of this changes fit in here? I mean aren't ConfigMaps already supported in a nice way?
4 replies
If they are 2 unrelated ways, which one is preferred? Looks to me like the fanciness of cloud solutions is unmatchable
Rod McCutcheon

Hi all, I've got an interesting issue running a Junit 5 test suite with Spring Boot 2.3.6. If I run the offending test case separately it works fine, but if run the full test suite it gets stuck on:

2020-11-20 13:47:50.975 INFO 96182 --- [nTaskExecutor-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2020-11-20 13:47:51.065 INFO 96182 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 2020-11-20 13:47:51.072 INFO 96182 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler'

public class TaskSchedulerConfig {

    private int taskSchedulerPoolSize;

    public TaskScheduler taskScheduler() {
        ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
        return scheduler;


Is there some manual shutdown I need to do between tests?

6 replies
Subham Ashish
hey all
what could be the plugin for jaxb in gradle similar to what maven gives
can anybody help on this?
Andy Wilkinson
There's no need to mention me or anyone else directly. The community will try and help as and when they can. Have you tried search Gradle's Plugin Portal for xjc? It returns several options which sound like they may do what you want: https://plugins.gradle.org/search?term=xjc
Subham Ashish

hey thanks for responding, I tried all this and end up an exception

org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method jaxb()

that's the reason thought to ask in this community

Lukáš Vasek
Hello, in tomcat are parameters like maxThreads, acceptCount, maxConnections. I'd like to return 503 with retry-after header when for example maxThreads and acceptCount are at maximum. Is there any option how to retrieve this statistics? Or better is there some support for returning error when maximum values of this parameters are reached?
Derek Marley
Hello - can someone point me in the right direction to better understand how to set the memory settings in spring boot 2.3 when it generates the docker container -- or would I override the values when deploying to K8s, as right now it logs that it is selecting 1GIG for memory (any help would be welcomed)
1 reply
Vadim Bryksin

just started new spring boot service with cloud config
and noticed that spring.profiles now deprecated, and it suggests to use: spring.config.activate.on-profile: dev

However setting: spring.profiles.active: dev has no effect, now boot spring says:

INFO 9830 --- [main] s.StudentOptionsSolverServiceApplication : No active profile set, falling back to default profiles: default

Where can I see any info regarding profiles changes in latest spring boot?
And how to set profile now?

@bilak I think this post might help you https://netflixtechblog.com/tuning-tomcat-for-a-high-throughput-fail-fast-system-e4d7b2fc163f . Also maxThreads will be reached way before than acceptCount, to check on metrics for use you can use spring boot actuators (not sure if they will work for what you are looking for) maybe that is a path
1 reply
Vadim Bryksin

ok, seems I found. docs related to changes in Spring Boot 2.4.0

it says:

You can still use the 'spring.profiles.active' property to activate specific profiles, however, you won’t be able to use this property in combination with 'spring.config.activate.on-profile'

but what should I use to activate profile then with spring.config.activate.on-profile ???

Phil Webb
@Bryksin I think I need to update the docs because you're not the first person to comment that things are confusing. What we're trying to do is remove the complexity when profile specific properties try activate further profiles. If you're able to share a small sample that shows what you're trying I can take a look. Be aware that there isn't yet a GA release of Spring Cloud that works with Boot 2.4.
Phil Webb
@Bryksin I see you've commented in issue https://github.com/spring-projects/spring-boot/issues/24167#issuecomment-731335173. We can continue the discussion there.
James Carman
Has something changed recently (in 2.3.x and 2.4.x maybe) with respect to Hibernate's HBM2DDL and setting that to validate?
If I change my project to use 2.2.11.RELEASE, I get a schema validation error for missing tables (nothing is creating them in the h2 in-memory database), but if I upgrade to 2.3.6.RELEASE or 2.4.0 the schema validation error goes away (no other changes to my code or application.properties)
James Carman
It doesn't appear to be the hibernate version causing it, because I forced a downgrade to Hibernate 5.4.22.Final (what Spring Boot 2.2.11.RELEASE uses) by setting a property in my pom.xml file.
If I remove comment out spring.jpa.hibernate.ddl-auto=validate from my application.properties file, I can see that it does indeed do the hbm2ddl stuff and creates the tables just fine.
If I set spring.jpa.hibernate.ddl-auto=update, it also creates the table(s). It's just if I use the value validate that it appears to just get turned off completely. It appears to be treating it as if I set that property to none.
James Carman
I can pretty easily whip up an example if that'll help.
Cheikh Saadbouh

Hello everyone,

Are there any classes or interfaces other than {Model , ModelMap , ModelAndView } that deal with Model or/and view in the context of spring MVC ?

1) Model : Model defines a holder for model attributes,
2) ModelMap : ModelMap is an extension of Model with the ability to store attributes
3) ModelAndView : ModelAndView is a holder for a model and a view

Thanks in advance