<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=grussell" rel="nofollow">Gary Russell</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-9200?redirect=false" rel="nofollow">SPR-9200</a></strong> and commented</p>
<p dir="auto">A number of errors have crept into the DMLC Javadocs.</p>
<p dir="auto">For example:</p>
<ul dir="auto">
<li>setCachLevel() says that while the default is CACHE_NONE with an external txManager, it can be overridden. This is not the case because a new connection is obtained for each poll and bound to the thread.</li>
<li>setTransactionManager refers to AMLC class Javadocs, which in turn imply that for downstream JmsTemplate within an <code class="notranslate">@Transacted</code> method needs the LC to have an external JmsTransactionManager.</li>
</ul>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&quot;* The effect is similar to &quot;sessionTransacted&quot; set
 * to &quot;true&quot;, the difference being that this external transaction management
 * will also affect independent JMS access code within the service layer
 * (e.g. based on {@link org.springframework.jms.core.JmsTemplate} or
 * {@link org.springframework.jms.connection.TransactionAwareConnectionFactoryProxy}),
 * not just direct JMS Session usage in a {@link SessionAwareMessageListener}.&quot;"><pre class="notranslate"><code class="notranslate">"* The effect is similar to "sessionTransacted" set
 * to "true", the difference being that this external transaction management
 * will also affect independent JMS access code within the service layer
 * (e.g. based on {@link org.springframework.jms.core.JmsTemplate} or
 * {@link org.springframework.jms.connection.TransactionAwareConnectionFactoryProxy}),
 * not just direct JMS Session usage in a {@link SessionAwareMessageListener}."
</code></pre></div>
<p dir="auto">In fact, even with sessionTransacted=true the session is bound to the thread via a LocallyExposedJmsResourceHolder and no external txManager is required and, if provided, precludes caching in the DMLC (CCF is needed).</p>
<p dir="auto">It is now generally recommended that an external txManager only be provided if JTA is needed.</p>
<p dir="auto">Suggest a thorough review of all Listener Container documentation regarding the use of JmsTransactionManager.</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 3.1.1</p>
<p dir="auto"><strong>Reference URL:</strong> <a href="http://forum.springsource.org/showthread.php?123631-JMS-DMLC-not-caching-connection-when-using-TX-despite-cacheLevel-CACHE_CONSUMER" rel="nofollow">http://forum.springsource.org/showthread.php?123631-JMS-DMLC-not-caching-connection-when-using-TX-despite-cacheLevel-CACHE_CONSUMER</a></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="398109622" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/12536" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/12536/hovercard" href="https://github.com/spring-projects/spring-framework/issues/12536">#12536</a> Better abstraction for transactional configuration in DMLC (<em><strong>"is duplicated by"</strong></em>)</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/674bad4cfa21f40f9d8103ce729c54c2092a9f93/hovercard" href="https://github.com/spring-projects/spring-framework/commit/674bad4cfa21f40f9d8103ce729c54c2092a9f93"><tt>674bad4</tt></a></p>
<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=cosmicpaul" rel="nofollow">Paul Nardone</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-8806?redirect=false" rel="nofollow">SPR-8806</a></strong> and commented</p>
<p dir="auto">Transcribed by cbeams from Paul's original comment on <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398112358" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/12995" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/12995/hovercard" href="https://github.com/spring-projects/spring-framework/issues/12995">#12995</a></p>
<blockquote>
<p dir="auto">I am experiencing an issue with ExtendedBeanInfo and covariante propertytypes i've yet to isolate a simple test but it appears to be due using JDK PropertyDescriptor and the long standing JDK bug that are the cause resulting in</p>
<p dir="auto">java.beans.IntrospectionException: type mismatch between read and write methods<br>
at java.beans.PropertyDescriptor.findPropertyType(PropertyDescriptor.java:603)<br>
at java.beans.PropertyDescriptor.setWriteMethod(PropertyDescriptor.java:270)<br>
at java.beans.PropertyDescriptor.&lt;init&gt;(PropertyDescriptor.java:117)<br>
at org.springframework.beans.ExtendedBeanInfo.addOrUpdatePropertyDescriptor(ExtendedBeanInfo.java:260)<br>
at org.springframework.beans.ExtendedBeanInfo.addOrUpdatePropertyDescriptor(ExtendedBeanInfo.java:178)<br>
at org.springframework.beans.ExtendedBeanInfo.&lt;init&gt;(ExtendedBeanInfo.java:95)<br>
at org.springframework.beans.CachedIntrospectionResults.&lt;init&gt;(CachedIntrospectionResults.java:224)<br>
... 124 more</p>
</blockquote>
<hr>
<p dir="auto"><strong>Attachments:</strong></p>
<ul dir="auto">
<li><a href="https://jira.spring.io/secure/attachment/19024/testspringprops_1.zip" rel="nofollow">testspringprops_1.zip</a> (<em>10.74 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="398113255" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/13137" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/13137/hovercard" href="https://github.com/spring-projects/spring-framework/issues/13137">#13137</a> Regression - Introspection with BeanUtils started failing for java.awt.Component derived classes (<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="398112358" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/12995" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/12995/hovercard" href="https://github.com/spring-projects/spring-framework/issues/12995">#12995</a> Review ExtendedBeanInfo implementation</li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="398155112" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/14663" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/14663/hovercard" href="https://github.com/spring-projects/spring-framework/issues/14663">#14663</a> Overhaul non-void JavaBean write method support</li>
</ul>