<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=robertm" rel="nofollow">Robert Macaulay</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-3009?redirect=false" rel="nofollow">SPR-3009</a></strong> and commented</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.0.1</p>
<p dir="auto"><strong>Attachments:</strong></p>
<ul dir="auto">
<li><a href="https://jira.spring.io/secure/attachment/12317/test.zip" rel="nofollow">test.zip</a> (<em>1.80 kB</em>)</li>
</ul>
<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="398074012" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/7658" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/7658/hovercard" href="https://github.com/spring-projects/spring-framework/issues/7658">#7658</a> use of multiple BeanNameAutoProxyCreators broke when we upgraded from 1.2.8 to 2.0.1 (<em><strong>"duplicates"</strong></em>)</li>
</ul>
<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=lhotari" rel="nofollow">Lari Hotari</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-3249?redirect=false" rel="nofollow">SPR-3249</a></strong> and commented</p>
<p dir="auto">After upgrading from Spring 2.0.2 to Spring 2.0.3 I'm getting this error in the startup:</p>
<p dir="auto">java.lang.NullPointerException<br>
at java.lang.StringBuffer.&lt;init&gt;(StringBuffer.java:104)<br>
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.parseStringValue(PropertyPlaceholderConfigurer.java:270)<br>
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer$PlaceholderResolvingBeanDefinitionVisitor.resolveStringValue(PropertyPlaceholderConfigurer.java:401)<br>
at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:143)<br>
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:89)<br>
at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:59)<br>
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:246)<br>
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:75)<br>
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:325)</p>
<p dir="auto">We have a custom ApplicationContext implementation and are using custom namespace handlers. They might have something to do with the problem. Any ways there could be some protective code in org.springframework.beans.factory.config.BeanDefitionVisitor's resolveValue method.</p>
<p dir="auto">These are the lines that could be changed:</p>
<p dir="auto">141:		else if (value instanceof TypedStringValue) {<br>
142:			TypedStringValue typedStringValue = (TypedStringValue) value;<br>
143:			String visitdString = resolveStringValue(typedStringValue.getValue());<br>
144:			typedStringValue.setValue(visitdString);</p>
<p dir="auto">suggested change</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="else if (value instanceof TypedStringValue) {
     TypedStringValue typedStringValue = (TypedStringValue) value;
     if (typedStringValue.getValue() != null) {
          String visitdString = resolveStringValue(typedStringValue.getValue());
          typedStringValue.setValue(visitdString);
     }"><pre class="notranslate"><code class="notranslate">else if (value instanceof TypedStringValue) {
     TypedStringValue typedStringValue = (TypedStringValue) value;
     if (typedStringValue.getValue() != null) {
          String visitdString = resolveStringValue(typedStringValue.getValue());
          typedStringValue.setValue(visitdString);
     }
</code></pre></div>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.0.3</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="398076384" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/7965" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/7965/hovercard" href="https://github.com/spring-projects/spring-framework/issues/7965">#7965</a> 2.0.3 Regression PropertyPlaceholderConfigurer and  = NPE (<em><strong>"is duplicated by"</strong></em>)</li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398076490" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/7980" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/7980/hovercard" href="https://github.com/spring-projects/spring-framework/issues/7980">#7980</a> Nullpointer in PropertyPlaceholderConfigurator (<em><strong>"is duplicated by"</strong></em>)</li>
</ul>