<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=steve_barham" rel="nofollow">Steve Barham</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-6269?redirect=false" rel="nofollow">SPR-6269</a></strong> and commented</p>
<p dir="auto">JdbcUtils#commonDatabaseName uses a number of hardcoded database product names to identify Sybase.</p>
<p dir="auto">public static String commonDatabaseName(String source) {<br>
String name = source;<br>
if (source != null &amp;&amp; source.startsWith("DB2")) {<br>
name = "DB2";<br>
}<br>
else if ("Sybase SQL Server".equals(source) ||<br>
"Adaptive Server Enterprise".equals(source) || "sql server".equals(source) ) {<br>
name = "Sybase";<br>
}<br>
return name;<br>
}</p>
<p dir="auto">Unfortunately, when using JTDS 1.2.4 against a Sybase 15.0.3 server, JtdsDatabaseMetadata will (for some server configurations) return 'ASE' rather than 'sql server'.</p>
<p dir="auto">This has knock on implications, most notably in this case in CallMetaDataProviderFactory, which uses the common database name to determine which meta data provider to use:</p>
<p dir="auto">else if ("Sybase".equals(databaseProductName)) {<br>
provider = new SybaseCallMetaDataProvider((databaseMetaData));<br>
}</p>
<p dir="auto">The net result of this is that a generic provider is used rather than a Sybase provider. The generic provider does not function correctly with at least one stored procedure in one of our applications, which results in no parameters being passed to the server.</p>
<p dir="auto">The proposed change would be to introduce 'ASE' alongside the existing Sybase product name checks in JdbcUtils, so that it is identified correctly as Sybase.</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.5.6</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="398097161" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/10722" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/10722/hovercard" href="https://github.com/spring-projects/spring-framework/issues/10722">#10722</a> Cannot retrieve database metadata for Sybase (<em><strong>"duplicates"</strong></em>)</li>
</ul>
<p dir="auto"><strong><a href="https://jira.spring.io/secure/ViewProfile.jspa?name=heymjo" rel="nofollow">Jorg Heymans</a></strong> opened <strong><a href="https://jira.spring.io/browse/SPR-2441?redirect=false" rel="nofollow">SPR-2441</a></strong> and commented</p>
<p dir="auto">I raised the issue here (<a href="http://forum.springframework.org/showthread.php?t=28170" rel="nofollow">http://forum.springframework.org/showthread.php?t=28170</a>), but nobody seems to have picked it up.</p>
<p dir="auto">This configuration worked fine in 2.0-RC2 (and 1.2.x for that matter)</p>
<p dir="auto">&lt;bean id="advisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"&gt;<br>
&lt;property name="advice"&gt;<br>
&lt;ref bean="interceptor" /&gt;<br>
&lt;/property&gt;<br>
&lt;property name="patterns"&gt;<br>
&lt;list&gt;<br>
&lt;value&gt;.<em>save.</em>&lt;/value&gt;<br>
&lt;value&gt;.<em>do.</em>&lt;/value&gt;<br>
&lt;value&gt;.<em>delete.</em>&lt;/value&gt;<br>
&lt;/list&gt;<br>
&lt;/property&gt;<br>
&lt;/bean&gt;</p>
<p dir="auto">When upgrading to 2.0-RC3 i get following exception:</p>
<p dir="auto">2006-08-17 09:12:47,129 ERROR [org.springframework.web.context.ContextLoader] - Context initialization failed<br>
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'advisor' defined in class path resource [service.xml]: Instantiation of bean failed; nested exception is java.lang.IllegalArgumentException: 'patterns' cannot be null or empty.<br>
Caused by:<br>
java.lang.IllegalArgumentException: 'patterns' cannot be null or empty.<br>
at org.springframework.util.Assert.notEmpty(Assert.java:214)<br>
at org.springframework.aop.support.AbstractRegexpMethodPointcut.setPatterns(AbstractRegexpMethodPointcut.java:82)<br>
at org.springframework.aop.support.RegexpMethodPointcutAdvisor.getPointcut(RegexpMethodPointcutAdvisor.java:150)<br>
at org.springframework.aop.support.AbstractPointcutAdvisor.toString(AbstractPointcutAdvisor.java:71)<br>
at java.lang.String.valueOf(String.java:2131)<br>
at java.lang.StringBuffer.append(StringBuffer.java:370)<br>
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:383)</p>
<p dir="auto">If you need more information or if there is anything i can do to help debugging this let me know.</p>
<hr>
<p dir="auto"><strong>Affects:</strong> 2.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="398069849" data-permission-text="Title is private" data-url="https://github.com/spring-projects/spring-framework/issues/7172" data-hovercard-type="issue" data-hovercard-url="/spring-projects/spring-framework/issues/7172/hovercard" href="https://github.com/spring-projects/spring-framework/issues/7172">#7172</a> IllegalArgumentException from RegexpMethodPointcutAdvisor initialization when using DEBUG log level (<em><strong>"is duplicated by"</strong></em>)</li>
</ul>