-
Notifications
You must be signed in to change notification settings - Fork 38.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backward compatibility issue in class org.springframework.beans.factory.config.PropertyPlaceholderConfigurer [SPR-6514] #11180
Comments
Kenny MacLeod commented Duplicate of #10981 |
Juergen Hoeller commented Indeed, this is the same issue as in #10981. However, Aleš, what exactly are you doing with that protected method? Are you overriding its use in PropertyPlaceholderConfigurer? Or are you calling it from outside in some way? Would be great if you could post your custom version of it, then I could suggest an appropriate solution... Juergen |
Aleš Najmann commented Gigaspace (7.0.1) is extending this class, so the problem is in Gigaspace 3rd party code initializing code. Gigaspace container is running with Spring 2.5.6 and for sure works with that version correctly, but I'm using new Spring MVC stuff and needed Spring 3.x for that reason. We're running the webapp outside the container, but it can't use the Gigaspace failover abilities and most of the scalability. I've seen #11016 and it's exactly the case. I also get through Gigaspace forum, but there is probably nobody testing new Spring codebase with the current version of Gigaspace. This is probably not very helpful info for the treatment, but also I have not much more to offer here. Take it as for the moment as the report of incompatibility. Thank you for the response. Aleš |
Juergen Hoeller commented Can you point me to the specific GigaSpaces class that is extending PropertyPlaceholderConfigurer? Would be good to review what exactly they are doing there... Juergen |
Aleš Najmann commented Sorry, of course I can (after some communication with my colleague):
Cheers |
Juergen Hoeller commented Hmm, according to the GigaSpaces 7.0 javadoc at BeanLevelPropertyPlaceholderConfigurer overrides processProperties, not parseStringValue. This should work fine against Spring 3.0 as well, since the processProperties signature hasn't changed. Please double-check what exactly breaks there, and how parseStringValue actually gets involved... Juergen |
Aleš Najmann commented I proceed with communication with deployment guys to take real stacktrace of the problem: I'm a bit confused now, because I don't know exactly what's happening inside the class at the moment but make more investigation later. Aleš |
Juergen Hoeller commented I see, so the GigaSpaces subclass is calling that parseStringValue method, not overriding it. As a workaround, I've reintroduced parseStringValue in deprecated form now, delegating to our new Spring 3.0 PropertyPlaceholderHelper and PlaceholderResolver infrastructure now. This should allow for calling it like GigaSpaces does; it does, however, not allow for overriding (which shouldn't matter in your case). This will make tonight's nightly snapshot. Please give it a try once it is available. I'll let you know about the URL to get it from in a couple of hours... Juergen |
Aleš Najmann opened SPR-6514 and commented
There was class org.springframework.beans.factory.config.PropertyPlaceholderConfigurer in Spring 3.0 M4 with method
class is still there, but was refactored quite a lot since M4 and above method with other methods were removed. But in more specific environments, like in Gigaspace in our case, there is problem with instanciation of the container because it relies on the method.
With no known workaround for it it's show stopper for deployment project on Gigaspace platform. It hits all releases since M4.
(...And I welcome any ideas.)
Affects: 3.0 RC1, 3.0 RC2, 3.0 RC3
Issue Links:
Referenced from: commits ad29a23
The text was updated successfully, but these errors were encountered: