<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=littleli" rel="nofollow">Aleš Najmann</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-6514?redirect=false" rel="nofollow">SPR-6514</a></strong> and commented</p>
<p dir="auto">There was class org.springframework.beans.factory.config.PropertyPlaceholderConfigurer in Spring 3.0 M4 with method</p>
<div class="highlight highlight-source-java notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="       /**
        * Parse the given String value recursively, to be able to resolve
        * nested placeholders (when resolved property values in turn contain
        * placeholders again).
        * @param strVal the String value to parse
        * @param props the Properties to resolve placeholders against
        * @param visitedPlaceholders the placeholders that have already been visited
        * during the current resolution attempt (used to detect circular references
        * between placeholders). Only non-null if we're parsing a nested placeholder.
        * @throws BeanDefinitionStoreException if invalid values are encountered
        * @see #resolvePlaceholder(String, java.util.Properties, int)
        */
       protected String parseStringValue(String strVal, Properties props,
Set visitedPlaceholders)
           throws BeanDefinitionStoreException {...}"><pre class="notranslate">       <span class="pl-c">/**</span>
<span class="pl-c">        * Parse the given String value recursively, to be able to resolve</span>
<span class="pl-c">        * nested placeholders (when resolved property values in turn contain</span>
<span class="pl-c">        * placeholders again).</span>
<span class="pl-c">        * @param strVal the String value to parse</span>
<span class="pl-c">        * @param props the Properties to resolve placeholders against</span>
<span class="pl-c">        * @param visitedPlaceholders the placeholders that have already been visited</span>
<span class="pl-c">        * during the current resolution attempt (used to detect circular references</span>
<span class="pl-c">        * between placeholders). Only non-null if we're parsing a nested placeholder.</span>
<span class="pl-c">        * @throws BeanDefinitionStoreException if invalid values are encountered</span>
<span class="pl-c">        * @see #resolvePlaceholder(String, java.util.Properties, int)</span>
<span class="pl-c">        */</span>
       <span class="pl-k">protected</span> <span class="pl-smi">String</span> <span class="pl-s1">parseStringValue</span>(<span class="pl-smi">String</span> <span class="pl-s1">strVal</span>, <span class="pl-smi">Properties</span> <span class="pl-s1">props</span>,
<span class="pl-smi">Set</span> <span class="pl-s1">visitedPlaceholders</span>)
           <span class="pl-k">throws</span> <span class="pl-s1">BeanDefinitionStoreException</span> {...}</pre></div>
<p dir="auto">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.</p>
<p dir="auto">With no known workaround for it it's show stopper for deployment project on Gigaspace platform. It hits all releases since M4.<br>
(...And I welcome any ideas.)</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 3.0 RC1, 3.0 RC2, 3.0 RC3</p>
<p dir="auto"><strong>Issue Links:</strong></p>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398098956" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/10981" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/10981/hovercard" href="https://github.com/spring-projects/spring-framework/issues/10981">#10981</a> parseStringValue gone from PropertyPlaceholderConfigurer</li>
</ul>
<p dir="auto"><strong>Referenced from:</strong> commits <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/spring-projects/spring-framework/commit/ad29a2376dcd677131e7188fdbde9c8da9ae1133/hovercard" href="https://github.com/spring-projects/spring-framework/commit/ad29a2376dcd677131e7188fdbde9c8da9ae1133"><tt>ad29a23</tt></a></p>
<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=skaffman" rel="nofollow">Kenny MacLeod</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-6315?redirect=false" rel="nofollow">SPR-6315</a></strong> and commented</p>
<p dir="auto">This is a deliberately refiled duplicate of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398097770" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/10827" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/10827/hovercard" href="https://github.com/spring-projects/spring-framework/issues/10827">#10827</a>, which was originally filed as a "refactor", and I think it perhaps should be "bug".</p>
<p dir="auto">Between 3.0.0 M4 and RC1, the protected parseStringValue method disappeared from PropertyPlaceholderConfigurer. For custom subclasses, this method was the main entry point into the superclass functionality. Since it had not been deprecated, it seemed like the correct thing to do, but has now been removed, breaking compile-time compatibility between 2.5 and 3.0.</p>
<p dir="auto">Can the method be reinstated somehow, that perhaps invokes the new methods that do the work? It can then be marked as deprecated.</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 3.0 RC1</p>
<p dir="auto"><strong>Issue Links:</strong></p>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398097770" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/10827" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/10827/hovercard" href="https://github.com/spring-projects/spring-framework/issues/10827">#10827</a> parseStringValue gone from PropertyPlaceholderConfigurer (<em><strong>"duplicates"</strong></em>)</li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398100489" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/11180" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/11180/hovercard" href="https://github.com/spring-projects/spring-framework/issues/11180">#11180</a> Backward compatibility issue in class org.springframework.beans.factory.config.PropertyPlaceholderConfigurer</li>
</ul>