You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(387) |
May
(1066) |
Jun
(689) |
Jul
(504) |
Aug
(697) |
Sep
(660) |
Oct
(591) |
Nov
(393) |
Dec
(324) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(567) |
Feb
(448) |
Mar
(461) |
Apr
(368) |
May
(887) |
Jun
(243) |
Jul
(429) |
Aug
(670) |
Sep
(648) |
Oct
(684) |
Nov
(599) |
Dec
(317) |
2008 |
Jan
(388) |
Feb
(400) |
Mar
(323) |
Apr
(214) |
May
(228) |
Jun
(120) |
Jul
(168) |
Aug
(64) |
Sep
(78) |
Oct
(127) |
Nov
(28) |
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
(22) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Juergen H. <jho...@us...> - 2008-10-17 15:59:57
|
Update of /cvsroot/springframework/spring In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv16881 Modified Files: .classpath Log Message: updated to Quartz 1.6.1 GA Index: .classpath =================================================================== RCS file: /cvsroot/springframework/spring/.classpath,v retrieving revision 1.231 retrieving revision 1.232 diff -C2 -d -r1.231 -r1.232 *** .classpath 30 Sep 2008 11:29:22 -0000 1.231 --- .classpath 17 Oct 2008 15:59:45 -0000 1.232 *************** *** 103,107 **** <classpathentry kind="lib" path="lib/portlet/portlet-api.jar"/> <classpathentry kind="lib" path="lib/qdox/qdox-1.5.jar"/> ! <classpathentry kind="lib" path="lib/quartz/quartz-all-1.6.1-RC3.jar"/> <classpathentry kind="lib" path="lib/serp/serp-1.13.1.jar"/> <classpathentry kind="lib" path="lib/struts/struts.jar"/> --- 103,107 ---- <classpathentry kind="lib" path="lib/portlet/portlet-api.jar"/> <classpathentry kind="lib" path="lib/qdox/qdox-1.5.jar"/> ! <classpathentry kind="lib" path="lib/quartz/quartz-all-1.6.1.jar"/> <classpathentry kind="lib" path="lib/serp/serp-1.13.1.jar"/> <classpathentry kind="lib" path="lib/struts/struts.jar"/> |
From: Juergen H. <jho...@us...> - 2008-10-17 15:59:57
|
Update of /cvsroot/springframework/spring/lib In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv16881/lib Modified Files: readme.txt Log Message: updated to Quartz 1.6.1 GA Index: readme.txt =================================================================== RCS file: /cvsroot/springframework/spring/lib/readme.txt,v retrieving revision 1.215 retrieving revision 1.216 diff -C2 -d -r1.215 -r1.216 *** readme.txt 8 Oct 2008 11:16:36 -0000 1.215 --- readme.txt 17 Oct 2008 15:59:45 -0000 1.216 *************** *** 66,70 **** - required at runtime when using Spring's backport-concurrent support ! * dom4j/dom4j-1.6.1, dom4j/jaxen-1.1-beta-7.jar - DOM4J 1.6.1 XML parser (http://www.dom4j.org) - required for running PetClinic (by Hibernate) --- 66,70 ---- - required at runtime when using Spring's backport-concurrent support ! * dom4j/dom4j-1.6.1 - DOM4J 1.6.1 XML parser (http://www.dom4j.org) - required for running PetClinic (by Hibernate) *************** *** 355,360 **** - required for building the framework and the attributes version of JPetStore ! * quartz/quartz-all-1.6.1-RC3.jar ! - Quartz 1.6.1 RC3 (http://www.opensymphony.com/quartz) - required for building the framework - required at runtime when using Spring's Quartz scheduling support --- 355,360 ---- - required for building the framework and the attributes version of JPetStore ! * quartz/quartz-all-1.6.1.jar ! - Quartz 1.6.1 (http://www.opensymphony.com/quartz) - required for building the framework - required at runtime when using Spring's Quartz scheduling support |
From: Juergen H. <jho...@us...> - 2008-10-17 10:21:29
|
Update of /cvsroot/springframework/spring/src/org/springframework/web/servlet/theme In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22706/src/org/springframework/web/servlet/theme Modified Files: Tag: mbranch-2-0 ThemeChangeInterceptor.java Log Message: exposed "getParamName()" method on LocaleChangeInterceptor and ThemeChangeInterceptor Index: ThemeChangeInterceptor.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/web/servlet/theme/ThemeChangeInterceptor.java,v retrieving revision 1.7 retrieving revision 1.7.2.1 diff -C2 -d -r1.7 -r1.7.2.1 *** ThemeChangeInterceptor.java 7 Dec 2005 22:51:08 -0000 1.7 --- ThemeChangeInterceptor.java 17 Oct 2008 10:21:18 -0000 1.7.2.1 *************** *** 1,11 **** /* ! * Copyright 2002-2005 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, --- 1,11 ---- /* ! * Copyright 2002-2008 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, *************** *** 51,54 **** --- 51,62 ---- } + /** + * Return the name of the parameter that contains a theme specification + * in a theme change request. + */ + public String getParamName() { + return this.paramName; + } + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) |
From: Juergen H. <jho...@us...> - 2008-10-17 10:21:29
|
Update of /cvsroot/springframework/spring/src/org/springframework/web/servlet/i18n In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22706/src/org/springframework/web/servlet/i18n Modified Files: Tag: mbranch-2-0 LocaleChangeInterceptor.java Log Message: exposed "getParamName()" method on LocaleChangeInterceptor and ThemeChangeInterceptor Index: LocaleChangeInterceptor.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/web/servlet/i18n/LocaleChangeInterceptor.java,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -C2 -d -r1.8 -r1.8.2.1 *** LocaleChangeInterceptor.java 7 Dec 2005 22:51:01 -0000 1.8 --- LocaleChangeInterceptor.java 17 Oct 2008 10:21:18 -0000 1.8.2.1 *************** *** 1,11 **** /* ! * Copyright 2002-2005 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, --- 1,11 ---- /* ! * Copyright 2002-2008 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, *************** *** 54,57 **** --- 54,65 ---- } + /** + * Return the name of the parameter that contains a locale specification + * in a locale change request. + */ + public String getParamName() { + return this.paramName; + } + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) |
From: Juergen H. <jho...@us...> - 2008-10-17 10:13:12
|
Update of /cvsroot/springframework/spring/src/org/springframework/web/servlet/i18n In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22303/src/org/springframework/web/servlet/i18n Modified Files: LocaleChangeInterceptor.java Log Message: exposed "getParamName()" method on LocaleChangeInterceptor and ThemeChangeInterceptor Index: LocaleChangeInterceptor.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/web/servlet/i18n/LocaleChangeInterceptor.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** LocaleChangeInterceptor.java 7 Dec 2005 22:51:01 -0000 1.8 --- LocaleChangeInterceptor.java 17 Oct 2008 10:12:56 -0000 1.9 *************** *** 1,11 **** /* ! * Copyright 2002-2005 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, --- 1,11 ---- /* ! * Copyright 2002-2008 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, *************** *** 54,57 **** --- 54,65 ---- } + /** + * Return the name of the parameter that contains a locale specification + * in a locale change request. + */ + public String getParamName() { + return this.paramName; + } + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) |
From: Juergen H. <jho...@us...> - 2008-10-17 10:13:12
|
Update of /cvsroot/springframework/spring/src/org/springframework/web/servlet/theme In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22303/src/org/springframework/web/servlet/theme Modified Files: ThemeChangeInterceptor.java Log Message: exposed "getParamName()" method on LocaleChangeInterceptor and ThemeChangeInterceptor Index: ThemeChangeInterceptor.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/web/servlet/theme/ThemeChangeInterceptor.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ThemeChangeInterceptor.java 7 Dec 2005 22:51:08 -0000 1.7 --- ThemeChangeInterceptor.java 17 Oct 2008 10:12:56 -0000 1.8 *************** *** 1,11 **** /* ! * Copyright 2002-2005 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, --- 1,11 ---- /* ! * Copyright 2002-2008 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, *************** *** 51,54 **** --- 51,62 ---- } + /** + * Return the name of the parameter that contains a theme specification + * in a theme change request. + */ + public String getParamName() { + return this.paramName; + } + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) |
From: Juergen H. <jho...@us...> - 2008-10-16 19:31:54
|
Update of /cvsroot/springframework/spring In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25255 Modified Files: Tag: mbranch-2-0 changelog.txt Log Message: SQLErrorCodeSQLExceptionTranslator etc Index: changelog.txt =================================================================== RCS file: /cvsroot/springframework/spring/changelog.txt,v retrieving revision 1.558.2.65 retrieving revision 1.558.2.66 diff -C2 -d -r1.558.2.65 -r1.558.2.66 *** changelog.txt 18 Sep 2008 11:01:40 -0000 1.558.2.65 --- changelog.txt 16 Oct 2008 19:31:48 -0000 1.558.2.66 *************** *** 4,8 **** ! Changes in version 2.0.9 (2008-09-29) ------------------------------------- --- 4,8 ---- ! Changes in version 2.0.9 (2008-10-27) ------------------------------------- *************** *** 22,25 **** --- 22,26 ---- * BeanWrapperImpl trims an enum candidate value before matching it against the available enum values * StringArrayPropertyEditor (for comma-delimited splitting of array elements) registered for short[], int[], long[] too + * fixed corner case in AbstractBeanDefinition where a ClassCastException could arise in "getBeanClass(Name)" * AbstractBeanFactory rejects getBean request with arguments in case of a pre-existing singleton of same name as well * AbstractAutowireCapableBeanFactory removes singleton if created for type check in case of circular reference issues *************** *** 41,44 **** --- 42,46 ---- * JndiDataSourceLookup uses "resourceRef"=true by default (being able to resolve J2EE "jdbc/myDb" ENC names by default) * NativeJdbcExtractorAdapter only processes DatabaseMetaData Connection if non-null (for WebLogic cluster compatibility) + * SQLErrorCodeSQLExceptionTranslator is able to work without fallback SQLState translation as well * SQLStateSQLExceptionTranslator translates "01*" data truncation codes into DataIntegrityViolationException * SQLStateSQLExceptionTranslator translates "61*" deadlock codes into ConcurrencyFailureException *************** *** 59,62 **** --- 61,65 ---- * added "text/csv" to MimeMessageHelper's default MIME mappings * removed overlapping "application/x-pointplus" MIME type for "css" extension from MimeMessageHelper's default mappings + * ConfigurableMimeFileTypeMap explicitly closes the InputStream that it uses for "mime.types" resource reading Package org.springframework.mock *************** *** 96,99 **** --- 99,103 ---- * revised error logging during XSLT processing to properly log compilation errors before an eventual fatal exception * InternalResourceView only exposes forward attributes when running on Servlet <2.5 (for GlassFish compatibility) + * VelocityConfigurer exposes ServletContext as VelocityEngine attribute (analogous to the standard VelocityViewServlet) * fixed AbstractJasperReportsView to fully isolate a model-specified JDBC DataSource (not setting it as view DataSource) * fixed JSP form tags to properly return SKIP_BODY instead of the non-defined EVAL_PAGE (for WebLogic compatibility) |
From: Juergen H. <jho...@us...> - 2008-10-16 19:30:23
|
Update of /cvsroot/springframework/spring/src/org/springframework/jdbc/support In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25115/src/org/springframework/jdbc/support Modified Files: Tag: mbranch-2-0 SQLErrorCodeSQLExceptionTranslator.java CustomSQLErrorCodesTranslation.java Log Message: SQLErrorCodeSQLExceptionTranslator is able to work without fallback SQLState translation as well Index: CustomSQLErrorCodesTranslation.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/jdbc/support/CustomSQLErrorCodesTranslation.java,v retrieving revision 1.4 retrieving revision 1.4.6.1 diff -C2 -d -r1.4 -r1.4.6.1 *** CustomSQLErrorCodesTranslation.java 25 Mar 2005 09:27:10 -0000 1.4 --- CustomSQLErrorCodesTranslation.java 16 Oct 2008 19:30:17 -0000 1.4.6.1 *************** *** 1,11 **** /* ! * Copyright 2002-2005 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, --- 1,11 ---- /* ! * Copyright 2002-2008 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, *************** *** 21,31 **** /** ! * JavaBean for holding Custom JDBC Error Codes translation for a particular ! * database. The exceptionClass property defines which exception will be * thrown for the list of error codes specified in the errorCodes property. * - * <p>Normally loaded through a BeanFactory implementation. - * Used by the SQLErrorCodeSQLExceptionTranslator. - * * @author Thomas Risberg * @since 1.1 --- 21,28 ---- /** ! * JavaBean for holding custom JDBC error codes translation for a particular ! * database. The "exceptionClass" property defines which exception will be * thrown for the list of error codes specified in the errorCodes property. * * @author Thomas Risberg * @since 1.1 *************** *** 37,41 **** private Class exceptionClass; ! /** * Set the SQL error codes to match. --- 34,39 ---- private Class exceptionClass; ! ! /** * Set the SQL error codes to match. *************** *** 49,53 **** */ public String[] getErrorCodes() { ! return errorCodes; } --- 47,51 ---- */ public String[] getErrorCodes() { ! return this.errorCodes; } *************** *** 67,71 **** */ public Class getExceptionClass() { ! return exceptionClass; } --- 65,69 ---- */ public Class getExceptionClass() { ! return this.exceptionClass; } Index: SQLErrorCodeSQLExceptionTranslator.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/jdbc/support/SQLErrorCodeSQLExceptionTranslator.java,v retrieving revision 1.27.2.1 retrieving revision 1.27.2.2 diff -C2 -d -r1.27.2.1 -r1.27.2.2 *** SQLErrorCodeSQLExceptionTranslator.java 31 May 2007 14:32:58 -0000 1.27.2.1 --- SQLErrorCodeSQLExceptionTranslator.java 16 Oct 2008 19:30:17 -0000 1.27.2.2 *************** *** 1,4 **** /* ! * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 35,38 **** --- 35,39 ---- import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.jdbc.InvalidResultSetAccessException; + import org.springframework.jdbc.UncategorizedSQLException; /** *************** *** 160,170 **** */ public SQLErrorCodes getSqlErrorCodes() { ! return sqlErrorCodes; } /** * Override the default SQL state fallback translator. - * @param fallback custom fallback exception translator to use if error code - * translation fails * @see SQLStateSQLExceptionTranslator */ --- 161,169 ---- */ public SQLErrorCodes getSqlErrorCodes() { ! return this.sqlErrorCodes; } /** * Override the default SQL state fallback translator. * @see SQLStateSQLExceptionTranslator */ *************** *** 177,181 **** */ public SQLExceptionTranslator getFallbackTranslator() { ! return fallbackTranslator; } --- 176,180 ---- */ public SQLExceptionTranslator getFallbackTranslator() { ! return this.fallbackTranslator; } *************** *** 274,278 **** ", will now try the fallback translator"); } ! return this.fallbackTranslator.translate(task, sql, sqlEx); } --- 273,283 ---- ", will now try the fallback translator"); } ! ! if (this.fallbackTranslator != null) { ! return this.fallbackTranslator.translate(task, sql, sqlEx); ! } ! else { ! return new UncategorizedSQLException(task, sql, sqlEx); ! } } |
From: Juergen H. <jho...@us...> - 2008-10-16 19:28:26
|
Update of /cvsroot/springframework/spring In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv24906 Modified Files: changelog.txt Log Message: SQL exception translation, etc Index: changelog.txt =================================================================== RCS file: /cvsroot/springframework/spring/changelog.txt,v retrieving revision 1.735 retrieving revision 1.736 diff -C2 -d -r1.735 -r1.736 *** changelog.txt 8 Oct 2008 16:34:04 -0000 1.735 --- changelog.txt 16 Oct 2008 19:28:11 -0000 1.736 *************** *** 4,8 **** ! Changes in version 2.5.6 (2008-10-13) ------------------------------------- --- 4,8 ---- ! Changes in version 2.5.6 (2008-10-20) ------------------------------------- *************** *** 27,30 **** --- 27,32 ---- * AbstractFactoryBean's early singleton proxy handles equals, hashCode and toString calls locally (avoiding eager init) * PropertyPathFactoryBean logs a warning if the target bean is still in creation at the time of obtaining the property + * exposed public "copyRegisteredEditorsTo" method on ConfigurableBeanFactory interface + * fixed corner case in AbstractBeanDefinition where a ClassCastException could arise in "getBeanClass(Name)" * DefaultSingletonBeanRegistry eagerly cleans up cached dependency information when destroying a bean * AbstractBeanFactory rejects getBean request with arguments in case of a pre-existing singleton of same name as well *************** *** 33,36 **** --- 35,39 ---- * ServiceLocatorFactoryBean handles equals and hashCode based on proxy object identity * factored out "createBeanDefinition" template method in BeanDefinitionParserDelegate + * turned visibility of BeanDefinitionParserDelegate's "checkNameUniqueness" method to protected * XML list/set/map elements (in both the beans and the util namespace) support nested description element *************** *** 60,63 **** --- 63,72 ---- Package org.springframework.jdbc * SQLErrorCodesFactory always loads its "sql-error-codes.xml" files from Spring's class loader (-> static singleton) + * added "transientDataAccessResourceCodes" category to "sql-error-codes.xml", with default codes for DB2 and Sybase + * SQLErrorCodeSQLExceptionTranslator applies default SQLExceptionSubclassTranslator after error code translation only + * SQLErrorCodeSQLExceptionTranslator is able to work without fallback SQLState translation as well + * SQLExceptionSubclassTranslator translates SQLFeatureNotSupportedException to InvalidDataAccessApiUsageException + * SQLStateSQLExceptionTranslator returns TransientDataAccessResourceException for well-known vendor-specific SQL states + * factored out AbstractFallbackSQLExceptionTranslator base class for consistent "fallbackTranslator" capabilities * CallableStatementCreatorFactory strictly honors "SqlParameter.isInputValueProvided" (allowing for statement caching) * JdbcTemplate passes full Calendar argument to JDBC driver even in case of no SQL type specified *************** *** 77,80 **** --- 86,92 ---- * AbstractJmsListeningContainer eagerly clears shared JMS Connection after releasing, avoiding repeated close exceptions * revised DefaultMessageListenerContainer to correctly work with non-JMS transaction manager and CACHE_CONNECTION level + * DefaultMessageListenerContainer supports a stop notification callback for unlimited maxMessagesPerTask as well now + * introduced SubscriptionNameProvider interface for message listener objects suggesting default subscription names + * "jms:listener-container" uses actual message listener object's class name as default subscription name Package org.springframework.jmx *************** *** 93,96 **** --- 105,109 ---- * HibernateTemplate detects Spring-managed transactional Session even with SessionFactory proxy and allowCreate=false * HibernateTemplate's "loadAll" operation selects distinct root entities (avoiding duplicate entries in result list) + * HibernateTemplate translates Hibernate's DataException into a Spring DataIntegrityViolationException (for consistency) * added "packagesToScan" property to Hibernate AnnotationSessionFactoryBean, for autodetection of @Entity classes * added "persistenceXmlLocation" property to DefaultPersistenceUnitManager, as alternative to "persistenceXmlLocations" *************** *** 113,116 **** --- 126,130 ---- Package org.springframework.transaction * AbstractPlatformTransactionManager resumes after any kind of inner begin failure (not just after TransactionException) + * TransactionSynchronizationManager interaction gets logged at trace level only (minimizing debug log per transaction) Package org.springframework.util *************** *** 135,138 **** --- 149,153 ---- * InternalResourceView's "preventDispatchLoop" checks against the same request's URI only (for Portlet compatibility) * made RedirectView's "renderMergedOutputModel" implementation non-final + * VelocityConfigurer exposes ServletContext as VelocityEngine attribute (analogous to the standard VelocityViewServlet) * revised XsltView to specify full resource URI as StreamSource system id, for properly resolving relative paths * officially deprecated AbstractXsltView in favor of XsltView and its more flexible "locateSource" mechanism |
From: Juergen H. <jho...@us...> - 2008-10-16 19:17:29
|
Update of /cvsroot/springframework/spring/test/org/springframework/jdbc/support In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv23860/test/org/springframework/jdbc/support Modified Files: SQLExceptionSubclassTranslatorTests.java SQLStateSQLExceptionTranslatorTests.java SQLExceptionSubclassFactory.java Log Message: added "transientDataAccessResourceCodes" category to "sql-error-codes.xml", with default codes for DB2 and Sybase; SQLErrorCodeSQLExceptionTranslator applies default SQLExceptionSubclassTranslator after error code translation only; SQLErrorCodeSQLExceptionTranslator is able to work without fallback SQLState translation as well; SQLExceptionSubclassTranslator translates SQLFeatureNotSupportedException to InvalidDataAccessApiUsageException; SQLStateSQLExceptionTranslator returns TransientDataAccessResourceException for well-known vendor-specific SQL states; factored out AbstractFallbackSQLExceptionTranslator base class for consistent "fallbackTranslator" capabilities Index: SQLExceptionSubclassTranslatorTests.java =================================================================== RCS file: /cvsroot/springframework/spring/test/org/springframework/jdbc/support/SQLExceptionSubclassTranslatorTests.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SQLExceptionSubclassTranslatorTests.java 19 Jun 2007 13:45:56 -0000 1.1 --- SQLExceptionSubclassTranslatorTests.java 16 Oct 2008 19:17:16 -0000 1.2 *************** *** 1,4 **** /* ! * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 17,27 **** package org.springframework.jdbc.support; - import junit.framework.TestCase; - import java.sql.SQLException; ! import org.springframework.jdbc.BadSqlGrammarException; ! import org.springframework.dao.*; import org.springframework.core.JdkVersion; /** --- 17,33 ---- package org.springframework.jdbc.support; import java.sql.SQLException; ! import junit.framework.TestCase; ! import org.springframework.core.JdkVersion; + import org.springframework.dao.ConcurrencyFailureException; + import org.springframework.dao.DataAccessResourceFailureException; + import org.springframework.dao.DataIntegrityViolationException; + import org.springframework.dao.InvalidDataAccessApiUsageException; + import org.springframework.dao.PermissionDeniedDataAccessException; + import org.springframework.dao.RecoverableDataAccessException; + import org.springframework.dao.TransientDataAccessResourceException; + import org.springframework.jdbc.BadSqlGrammarException; /** *************** *** 31,105 **** private static SQLErrorCodes ERROR_CODES = new SQLErrorCodes(); static { ERROR_CODES.setBadSqlGrammarCodes(new String[] { "1" }); } - public void testErrorCodeTranslation() { - SQLExceptionTranslator sext = new SQLErrorCodeSQLExceptionTranslator(ERROR_CODES); - - if (JdkVersion.getMajorJavaVersion() >= JdkVersion.JAVA_16) { ! SQLException dataIntegrityViolationEx = SQLExceptionSubclassFactory.newSQLDataException("", "", 0); ! DataIntegrityViolationException divex = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx); ! assertEquals(dataIntegrityViolationEx, divex.getCause()); ! SQLException badSqlEx = SQLExceptionSubclassFactory.newSQLFeatureNotSupportedException("", "", 0); ! BadSqlGrammarException bsgex = (BadSqlGrammarException) sext.translate("task", "SQL", badSqlEx); ! assertEquals("SQL", bsgex.getSql()); ! assertEquals(badSqlEx, bsgex.getSQLException()); ! SQLException dataIntegrityViolationEx2 = SQLExceptionSubclassFactory.newSQLIntegrityConstraintViolationException("", "", 0); ! DataIntegrityViolationException divex2 = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx2); ! assertEquals(dataIntegrityViolationEx2, divex2.getCause()); ! SQLException permissionDeniedEx = SQLExceptionSubclassFactory.newSQLInvalidAuthorizationSpecException("", "", 0); ! PermissionDeniedDataAccessException pdaex = (PermissionDeniedDataAccessException) sext.translate("task", "SQL", permissionDeniedEx); ! assertEquals(permissionDeniedEx, pdaex.getCause()); ! SQLException dataAccesResourceEx = SQLExceptionSubclassFactory.newSQLNonTransientConnectionException("", "", 0); ! DataAccessResourceFailureException darex = (DataAccessResourceFailureException) sext.translate("task", "SQL", dataAccesResourceEx); ! assertEquals(dataAccesResourceEx, darex.getCause()); ! SQLException badSqlEx2 = SQLExceptionSubclassFactory.newSQLSyntaxErrorException("", "", 0); ! BadSqlGrammarException bsgex2 = (BadSqlGrammarException) sext.translate("task", "SQL2", badSqlEx2); ! assertEquals("SQL2", bsgex2.getSql()); ! assertEquals(badSqlEx2, bsgex2.getSQLException()); ! SQLException tranRollbackEx = SQLExceptionSubclassFactory.newSQLTransactionRollbackException("", "", 0); ! ConcurrencyFailureException cfex = (ConcurrencyFailureException) sext.translate("task", "SQL", tranRollbackEx); ! assertEquals(tranRollbackEx, cfex.getCause()); ! SQLException transientConnEx = SQLExceptionSubclassFactory.newSQLTransientConnectionException("", "", 0); ! TransientDataAccessResourceException tdarex = (TransientDataAccessResourceException) sext.translate("task", "SQL", transientConnEx); ! assertEquals(transientConnEx, tdarex.getCause()); ! SQLException transientConnEx2 = SQLExceptionSubclassFactory.newSQLTimeoutException("", "", 0); ! TransientDataAccessResourceException tdarex2 = (TransientDataAccessResourceException) sext.translate("task", "SQL", transientConnEx2); ! assertEquals(transientConnEx2, tdarex2.getCause()); ! SQLException recoverableEx = SQLExceptionSubclassFactory.newSQLRecoverableException("", "", 0); ! RecoverableDataAccessException rdaex2 = (RecoverableDataAccessException) sext.translate("task", "SQL", recoverableEx); ! assertEquals(recoverableEx, rdaex2.getCause()); ! // Test classic error code translation. We should move there next if the exception we pass in is not one ! // of the new sub-classes. ! SQLException sexEct = new SQLException("", "", 1); ! BadSqlGrammarException bsgEct = (BadSqlGrammarException) sext.translate("task", "SQL-ECT", sexEct); ! assertEquals("SQL-ECT", bsgEct.getSql()); ! assertEquals(sexEct, bsgEct.getSQLException()); ! // Test fallback. We assume that no database will ever return this error code, ! // but 07xxx will be bad grammar picked up by the fallback SQLState translator ! SQLException sexFbt = new SQLException("", "07xxx", 666666666); ! BadSqlGrammarException bsgFbt = (BadSqlGrammarException) sext.translate("task", "SQL-FBT", sexFbt); ! assertEquals("SQL-FBT", bsgFbt.getSql()); ! assertEquals(sexFbt, bsgFbt.getSQLException()); ! // and 08xxx will be data resource failure (non-transient) picked up by the fallback SQLState translator ! SQLException sexFbt2 = new SQLException("", "08xxx", 666666666); ! DataAccessResourceFailureException darfFbt = (DataAccessResourceFailureException) sext.translate("task", "SQL-FBT2", sexFbt2); ! assertEquals(sexFbt2, darfFbt.getCause()); ! } } --- 37,111 ---- private static SQLErrorCodes ERROR_CODES = new SQLErrorCodes(); + static { ERROR_CODES.setBadSqlGrammarCodes(new String[] { "1" }); } ! public void testErrorCodeTranslation() { ! if (JdkVersion.getMajorJavaVersion() < JdkVersion.JAVA_16) { ! return; ! } ! SQLExceptionTranslator sext = new SQLErrorCodeSQLExceptionTranslator(ERROR_CODES); ! SQLException dataIntegrityViolationEx = SQLExceptionSubclassFactory.newSQLDataException("", "", 0); ! DataIntegrityViolationException divex = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx); ! assertEquals(dataIntegrityViolationEx, divex.getCause()); ! SQLException featureNotSupEx = SQLExceptionSubclassFactory.newSQLFeatureNotSupportedException("", "", 0); ! InvalidDataAccessApiUsageException idaex = (InvalidDataAccessApiUsageException) sext.translate("task", "SQL", featureNotSupEx); ! assertEquals(featureNotSupEx, idaex.getCause()); ! SQLException dataIntegrityViolationEx2 = SQLExceptionSubclassFactory.newSQLIntegrityConstraintViolationException("", "", 0); ! DataIntegrityViolationException divex2 = (DataIntegrityViolationException) sext.translate("task", "SQL", dataIntegrityViolationEx2); ! assertEquals(dataIntegrityViolationEx2, divex2.getCause()); ! SQLException permissionDeniedEx = SQLExceptionSubclassFactory.newSQLInvalidAuthorizationSpecException("", "", 0); ! PermissionDeniedDataAccessException pdaex = (PermissionDeniedDataAccessException) sext.translate("task", "SQL", permissionDeniedEx); ! assertEquals(permissionDeniedEx, pdaex.getCause()); ! SQLException dataAccessResourceEx = SQLExceptionSubclassFactory.newSQLNonTransientConnectionException("", "", 0); ! DataAccessResourceFailureException darex = (DataAccessResourceFailureException) sext.translate("task", "SQL", dataAccessResourceEx); ! assertEquals(dataAccessResourceEx, darex.getCause()); ! SQLException badSqlEx2 = SQLExceptionSubclassFactory.newSQLSyntaxErrorException("", "", 0); ! BadSqlGrammarException bsgex2 = (BadSqlGrammarException) sext.translate("task", "SQL2", badSqlEx2); ! assertEquals("SQL2", bsgex2.getSql()); ! assertEquals(badSqlEx2, bsgex2.getSQLException()); ! SQLException tranRollbackEx = SQLExceptionSubclassFactory.newSQLTransactionRollbackException("", "", 0); ! ConcurrencyFailureException cfex = (ConcurrencyFailureException) sext.translate("task", "SQL", tranRollbackEx); ! assertEquals(tranRollbackEx, cfex.getCause()); ! SQLException transientConnEx = SQLExceptionSubclassFactory.newSQLTransientConnectionException("", "", 0); ! TransientDataAccessResourceException tdarex = (TransientDataAccessResourceException) sext.translate("task", "SQL", transientConnEx); ! assertEquals(transientConnEx, tdarex.getCause()); ! SQLException transientConnEx2 = SQLExceptionSubclassFactory.newSQLTimeoutException("", "", 0); ! TransientDataAccessResourceException tdarex2 = (TransientDataAccessResourceException) sext.translate("task", "SQL", transientConnEx2); ! assertEquals(transientConnEx2, tdarex2.getCause()); ! SQLException recoverableEx = SQLExceptionSubclassFactory.newSQLRecoverableException("", "", 0); ! RecoverableDataAccessException rdaex2 = (RecoverableDataAccessException) sext.translate("task", "SQL", recoverableEx); ! assertEquals(recoverableEx, rdaex2.getCause()); ! // Test classic error code translation. We should move there next if the exception we pass in is not one ! // of the new sub-classes. ! SQLException sexEct = new SQLException("", "", 1); ! BadSqlGrammarException bsgEct = (BadSqlGrammarException) sext.translate("task", "SQL-ECT", sexEct); ! assertEquals("SQL-ECT", bsgEct.getSql()); ! assertEquals(sexEct, bsgEct.getSQLException()); + // Test fallback. We assume that no database will ever return this error code, + // but 07xxx will be bad grammar picked up by the fallback SQLState translator + SQLException sexFbt = new SQLException("", "07xxx", 666666666); + BadSqlGrammarException bsgFbt = (BadSqlGrammarException) sext.translate("task", "SQL-FBT", sexFbt); + assertEquals("SQL-FBT", bsgFbt.getSql()); + assertEquals(sexFbt, bsgFbt.getSQLException()); + // and 08xxx will be data resource failure (non-transient) picked up by the fallback SQLState translator + SQLException sexFbt2 = new SQLException("", "08xxx", 666666666); + DataAccessResourceFailureException darfFbt = (DataAccessResourceFailureException) sext.translate("task", "SQL-FBT2", sexFbt2); + assertEquals(sexFbt2, darfFbt.getCause()); } Index: SQLStateSQLExceptionTranslatorTests.java =================================================================== RCS file: /cvsroot/springframework/spring/test/org/springframework/jdbc/support/SQLStateSQLExceptionTranslatorTests.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SQLStateSQLExceptionTranslatorTests.java 2 Aug 2006 16:16:34 -0000 1.1 --- SQLStateSQLExceptionTranslatorTests.java 16 Oct 2008 19:17:16 -0000 1.2 *************** *** 1,4 **** /* ! * Copyright 2002-2006 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 17,37 **** package org.springframework.jdbc.support; import junit.framework.TestCase; import org.springframework.dao.ConcurrencyFailureException; import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessResourceFailureException; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.jdbc.UncategorizedSQLException; import org.springframework.test.AssertThrows; - import java.sql.SQLException; - /** - * Unit tests for the {@link SQLStateSQLExceptionTranslator} class. - * * @author Rick Evans */ ! public final class SQLStateSQLExceptionTranslatorTests extends TestCase { private static final String REASON = "The game is afoot!"; --- 17,38 ---- package org.springframework.jdbc.support; + import java.sql.SQLException; + import junit.framework.TestCase; + import org.springframework.dao.ConcurrencyFailureException; import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessResourceFailureException; import org.springframework.dao.DataIntegrityViolationException; + import org.springframework.dao.TransientDataAccessResourceException; import org.springframework.jdbc.BadSqlGrammarException; import org.springframework.jdbc.UncategorizedSQLException; import org.springframework.test.AssertThrows; /** * @author Rick Evans + * @author Juergen Hoeller */ ! public class SQLStateSQLExceptionTranslatorTests extends TestCase { private static final String REASON = "The game is afoot!"; *************** *** 50,63 **** } ! public void testTranslateBadSql() throws Exception { doTest("07", BadSqlGrammarException.class); } ! public void testTranslateIntegrityViolation() throws Exception { ! doTest("22", DataIntegrityViolationException.class); } ! public void testTranslateUncategorized() throws Exception { ! doTest("00000000", UncategorizedSQLException.class); } --- 51,68 ---- } ! public void testTranslateBadSqlGrammar() throws Exception { doTest("07", BadSqlGrammarException.class); } ! public void testTranslateDataIntegrityViolation() throws Exception { ! doTest("23", DataIntegrityViolationException.class); } ! public void testTranslateDataAccessResourceFailure() throws Exception { ! doTest("53", DataAccessResourceFailureException.class); ! } ! ! public void testTranslateTransientDataAccessResourceFailure() throws Exception { ! doTest("S1", TransientDataAccessResourceException.class); } *************** *** 66,71 **** } ! public void testTranslateDataAccessResourceFailure() throws Exception { ! doTest("53", DataAccessResourceFailureException.class); } --- 71,76 ---- } ! public void testTranslateUncategorized() throws Exception { ! doTest("00000000", UncategorizedSQLException.class); } Index: SQLExceptionSubclassFactory.java =================================================================== RCS file: /cvsroot/springframework/spring/test/org/springframework/jdbc/support/SQLExceptionSubclassFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SQLExceptionSubclassFactory.java 19 Jun 2007 13:45:56 -0000 1.1 --- SQLExceptionSubclassFactory.java 16 Oct 2008 19:17:16 -0000 1.2 *************** *** 1,4 **** /* ! * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 17,26 **** package org.springframework.jdbc.support; ! import java.sql.*; /** * Class to generate Java 6 SQLException subclasses for testing purposes. * ! * @author trisberg */ public class SQLExceptionSubclassFactory { --- 17,36 ---- package org.springframework.jdbc.support; ! import java.sql.SQLDataException; ! import java.sql.SQLException; ! import java.sql.SQLFeatureNotSupportedException; ! import java.sql.SQLIntegrityConstraintViolationException; ! import java.sql.SQLInvalidAuthorizationSpecException; ! import java.sql.SQLNonTransientConnectionException; ! import java.sql.SQLRecoverableException; ! import java.sql.SQLSyntaxErrorException; ! import java.sql.SQLTimeoutException; ! import java.sql.SQLTransactionRollbackException; ! import java.sql.SQLTransientConnectionException; /** * Class to generate Java 6 SQLException subclasses for testing purposes. * ! * @author Thomas Risberg */ public class SQLExceptionSubclassFactory { |
From: Juergen H. <jho...@us...> - 2008-10-16 19:09:51
|
Update of /cvsroot/springframework/spring/src/org/springframework/orm/hibernate3 In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv23066/src/org/springframework/orm/hibernate3 Modified Files: SessionFactoryUtils.java Log Message: translates Hibernate's DataException into a Spring DataIntegrityViolationException (for consistency with SQLExceptionSubclassTranslator's handling of the JDBC 4 SQLDataException) Index: SessionFactoryUtils.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/orm/hibernate3/SessionFactoryUtils.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** SessionFactoryUtils.java 24 Jul 2008 11:45:51 -0000 1.42 --- SessionFactoryUtils.java 16 Oct 2008 19:09:34 -0000 1.43 *************** *** 630,636 **** return new InvalidDataAccessResourceUsageException(ex.getMessage(), ex); } - if (ex instanceof DataException) { - return new InvalidDataAccessResourceUsageException(ex.getMessage(), ex); - } if (ex instanceof LockAcquisitionException) { return new CannotAcquireLockException(ex.getMessage(), ex); --- 630,633 ---- *************** *** 639,642 **** --- 636,642 ---- return new DataIntegrityViolationException(ex.getMessage(), ex); } + if (ex instanceof DataException) { + return new DataIntegrityViolationException(ex.getMessage(), ex); + } if (ex instanceof JDBCException) { return new HibernateJdbcException((JDBCException) ex); |
From: Juergen H. <jho...@us...> - 2008-10-16 19:09:38
|
Update of /cvsroot/springframework/spring/test/org/springframework/orm/hibernate3 In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv23066/test/org/springframework/orm/hibernate3 Modified Files: HibernateTemplateTests.java Log Message: translates Hibernate's DataException into a Spring DataIntegrityViolationException (for consistency with SQLExceptionSubclassTranslator's handling of the JDBC 4 SQLDataException) Index: HibernateTemplateTests.java =================================================================== RCS file: /cvsroot/springframework/spring/test/org/springframework/orm/hibernate3/HibernateTemplateTests.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** HibernateTemplateTests.java 16 Jul 2008 12:06:32 -0000 1.21 --- HibernateTemplateTests.java 16 Oct 2008 19:09:35 -0000 1.22 *************** *** 2301,2339 **** } ! final DataException dex = new DataException("mymsg", sqlEx); try { createTemplate().execute(new HibernateCallback() { public Object doInHibernate(org.hibernate.Session session) throws HibernateException { ! throw dex; } }); ! fail("Should have thrown InvalidDataAccessResourceUsageException"); } ! catch (InvalidDataAccessResourceUsageException ex) { // expected ! assertEquals(dex, ex.getCause()); assertTrue(ex.getMessage().indexOf("mymsg") != -1); } ! final LockAcquisitionException laex = new LockAcquisitionException("mymsg", sqlEx); try { createTemplate().execute(new HibernateCallback() { public Object doInHibernate(org.hibernate.Session session) throws HibernateException { ! throw laex; } }); ! fail("Should have thrown CannotAcquireLockException"); } ! catch (CannotAcquireLockException ex) { // expected ! assertEquals(laex, ex.getCause()); assertTrue(ex.getMessage().indexOf("mymsg") != -1); } ! final ConstraintViolationException cvex = new ConstraintViolationException("mymsg", sqlEx, "myconstraint"); try { createTemplate().execute(new HibernateCallback() { public Object doInHibernate(org.hibernate.Session session) throws HibernateException { ! throw cvex; } }); --- 2301,2339 ---- } ! final LockAcquisitionException laex = new LockAcquisitionException("mymsg", sqlEx); try { createTemplate().execute(new HibernateCallback() { public Object doInHibernate(org.hibernate.Session session) throws HibernateException { ! throw laex; } }); ! fail("Should have thrown CannotAcquireLockException"); } ! catch (CannotAcquireLockException ex) { // expected ! assertEquals(laex, ex.getCause()); assertTrue(ex.getMessage().indexOf("mymsg") != -1); } ! final ConstraintViolationException cvex = new ConstraintViolationException("mymsg", sqlEx, "myconstraint"); try { createTemplate().execute(new HibernateCallback() { public Object doInHibernate(org.hibernate.Session session) throws HibernateException { ! throw cvex; } }); ! fail("Should have thrown DataIntegrityViolationException"); } ! catch (DataIntegrityViolationException ex) { // expected ! assertEquals(cvex, ex.getCause()); assertTrue(ex.getMessage().indexOf("mymsg") != -1); } ! final DataException dex = new DataException("mymsg", sqlEx); try { createTemplate().execute(new HibernateCallback() { public Object doInHibernate(org.hibernate.Session session) throws HibernateException { ! throw dex; } }); *************** *** 2342,2346 **** catch (DataIntegrityViolationException ex) { // expected ! assertEquals(cvex, ex.getCause()); assertTrue(ex.getMessage().indexOf("mymsg") != -1); } --- 2342,2346 ---- catch (DataIntegrityViolationException ex) { // expected ! assertEquals(dex, ex.getCause()); assertTrue(ex.getMessage().indexOf("mymsg") != -1); } |
From: Juergen H. <jho...@us...> - 2008-10-16 17:25:36
|
Update of /cvsroot/springframework/spring/tiger/src/org/springframework/ui In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13816/tiger/src/org/springframework/ui Modified Files: ExtendedModelMap.java Log Message: added @Override annotations Index: ExtendedModelMap.java =================================================================== RCS file: /cvsroot/springframework/spring/tiger/src/org/springframework/ui/ExtendedModelMap.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ExtendedModelMap.java 2 Dec 2007 00:37:18 -0000 1.1 --- ExtendedModelMap.java 16 Oct 2008 17:25:25 -0000 1.2 *************** *** 1,4 **** /* ! * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 27,32 **** --- 27,34 ---- * @since 2.5.1 */ + @SuppressWarnings("serial") public class ExtendedModelMap extends ModelMap implements Model { + @Override public ExtendedModelMap addAttribute(String attributeName, Object attributeValue) { super.addAttribute(attributeName, attributeValue); *************** *** 34,37 **** --- 36,40 ---- } + @Override public ExtendedModelMap addAttribute(Object attributeValue) { super.addAttribute(attributeValue); *************** *** 39,47 **** } ! public ExtendedModelMap addAllAttributes(Collection attributeValues) { super.addAllAttributes(attributeValues); return this; } public ExtendedModelMap addAllAttributes(Map<String, ?> attributes) { super.addAllAttributes(attributes); --- 42,52 ---- } ! @Override ! public ExtendedModelMap addAllAttributes(Collection<?> attributeValues) { super.addAllAttributes(attributeValues); return this; } + @Override public ExtendedModelMap addAllAttributes(Map<String, ?> attributes) { super.addAllAttributes(attributes); *************** *** 49,52 **** --- 54,58 ---- } + @Override public ExtendedModelMap mergeAttributes(Map<String, ?> attributes) { super.mergeAttributes(attributes); *************** *** 58,61 **** return this; } - } --- 64,66 ---- |
From: Sam B. <sbr...@us...> - 2008-10-16 15:54:47
|
Update of /cvsroot/springframework/spring In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5421 Modified Files: .springBeans Log Message: Updated Spring IDE pluginVersion, etc. Index: .springBeans =================================================================== RCS file: /cvsroot/springframework/spring/.springBeans,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** .springBeans 10 Sep 2007 13:22:28 -0000 1.2 --- .springBeans 16 Oct 2008 15:54:40 -0000 1.3 *************** *** 1,7 **** <?xml version="1.0" encoding="UTF-8"?> <beansProjectDescription> ! <configExtensions> ! <configExtension>xml</configExtension> ! </configExtensions> <configs> <config>tiger/test/org/springframework/test/context/junit4/BeforeAndAfterTransactionAnnotationTests-context.xml</config> --- 1,10 ---- <?xml version="1.0" encoding="UTF-8"?> <beansProjectDescription> ! <version>1</version> ! <pluginVersion><![CDATA[2.2.0.v200809261800]]></pluginVersion> ! <configSuffixes> ! <configSuffix><![CDATA[xml]]></configSuffix> ! </configSuffixes> ! <enableImports><![CDATA[false]]></enableImports> <configs> <config>tiger/test/org/springframework/test/context/junit4/BeforeAndAfterTransactionAnnotationTests-context.xml</config> |
From: Sam B. <sbr...@us...> - 2008-10-16 15:48:59
|
Update of /cvsroot/springframework/spring/sandbox/test/org/springframework/test/aj In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4887/sandbox/test/org/springframework/test/aj Removed Files: TestAspect.java FactoryAdvice.java AbstractAdvicedTests.java FactoryTests.java aop.xml AjTestCaseLoaderTests.java Factory.java Log Message: Deleted all tests in the sandbox which involved the non-existent CallMonitor. --- AbstractAdvicedTests.java DELETED --- --- TestAspect.java DELETED --- --- aop.xml DELETED --- --- FactoryTests.java DELETED --- --- AjTestCaseLoaderTests.java DELETED --- --- Factory.java DELETED --- --- FactoryAdvice.java DELETED --- |
From: Sam B. <sbr...@us...> - 2008-10-16 15:48:54
|
Update of /cvsroot/springframework/spring/sandbox/test/org/springframework/context/support In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4887/sandbox/test/org/springframework/context/support Removed Files: aop.xml Person.java hibernate-context.xml ContextClassLoaderShadowingAspectForHibernate.java AspectJClassLoaderWithGenericApplicationContextTests.java TestBeanAdvice.java testbean-context.xml Log Message: Deleted all tests in the sandbox which involved the non-existent CallMonitor. --- testbean-context.xml DELETED --- --- TestBeanAdvice.java DELETED --- --- Person.java DELETED --- --- AspectJClassLoaderWithGenericApplicationContextTests.java DELETED --- --- ContextClassLoaderShadowingAspectForHibernate.java DELETED --- --- hibernate-context.xml DELETED --- --- aop.xml DELETED --- |
From: Juergen H. <jho...@us...> - 2008-10-16 10:29:24
|
Update of /cvsroot/springframework/spring/src/org/springframework/jdbc/support In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv23477/src/org/springframework/jdbc/support Modified Files: CustomSQLErrorCodesTranslation.java Log Message: polishing Index: CustomSQLErrorCodesTranslation.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/jdbc/support/CustomSQLErrorCodesTranslation.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CustomSQLErrorCodesTranslation.java 25 Mar 2005 09:27:10 -0000 1.4 --- CustomSQLErrorCodesTranslation.java 16 Oct 2008 10:29:12 -0000 1.5 *************** *** 1,11 **** /* ! * Copyright 2002-2005 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, --- 1,11 ---- /* ! * Copyright 2002-2008 the original author or authors. ! * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at ! * * http://www.apache.org/licenses/LICENSE-2.0 ! * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, *************** *** 21,31 **** /** ! * JavaBean for holding Custom JDBC Error Codes translation for a particular ! * database. The exceptionClass property defines which exception will be * thrown for the list of error codes specified in the errorCodes property. * - * <p>Normally loaded through a BeanFactory implementation. - * Used by the SQLErrorCodeSQLExceptionTranslator. - * * @author Thomas Risberg * @since 1.1 --- 21,28 ---- /** ! * JavaBean for holding custom JDBC error codes translation for a particular ! * database. The "exceptionClass" property defines which exception will be * thrown for the list of error codes specified in the errorCodes property. * * @author Thomas Risberg * @since 1.1 *************** *** 37,41 **** private Class exceptionClass; ! /** * Set the SQL error codes to match. --- 34,39 ---- private Class exceptionClass; ! ! /** * Set the SQL error codes to match. *************** *** 49,53 **** */ public String[] getErrorCodes() { ! return errorCodes; } --- 47,51 ---- */ public String[] getErrorCodes() { ! return this.errorCodes; } *************** *** 67,71 **** */ public Class getExceptionClass() { ! return exceptionClass; } --- 65,69 ---- */ public Class getExceptionClass() { ! return this.exceptionClass; } |
From: Juergen H. <jho...@us...> - 2008-10-16 10:29:24
|
Update of /cvsroot/springframework/spring/src/org/springframework/dao In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv23477/src/org/springframework/dao Modified Files: TransientDataAccessException.java RecoverableDataAccessException.java TransientDataAccessResourceException.java Log Message: polishing Index: RecoverableDataAccessException.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/dao/RecoverableDataAccessException.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RecoverableDataAccessException.java 10 Sep 2007 13:26:43 -0000 1.2 --- RecoverableDataAccessException.java 16 Oct 2008 10:29:12 -0000 1.3 *************** *** 1,4 **** /* ! * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 18,25 **** /** ! * Data access exception thrown when a previously failed operation might be able to succeed if the ! * application performs some recovery steps and retries the entire transaction or in the case of a distributed ! * transaction, the transaction branch. At a minimum, the recovery operation must include closing the current ! * connection and getting a new connection. * * @author Thomas Risberg --- 18,26 ---- /** ! * Data access exception thrown when a previously failed operation might be able ! * to succeed if the application performs some recovery steps and retries the entire ! * transaction or in the case of a distributed transaction, the transaction branch. ! * At a minimum, the recovery operation must include closing the current connection ! * and getting a new connection. * * @author Thomas Risberg Index: TransientDataAccessResourceException.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/dao/TransientDataAccessResourceException.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TransientDataAccessResourceException.java 29 May 2008 13:14:21 -0000 1.3 --- TransientDataAccessResourceException.java 16 Oct 2008 10:29:12 -0000 1.4 *************** *** 18,22 **** /** ! * Data access exception thrown when a resource fails temporarily and the operation can be retried. * * @author Thomas Risberg --- 18,23 ---- /** ! * Data access exception thrown when a resource fails temporarily ! * and the operation can be retried. * * @author Thomas Risberg Index: TransientDataAccessException.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/dao/TransientDataAccessException.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TransientDataAccessException.java 29 May 2008 13:14:21 -0000 1.3 --- TransientDataAccessException.java 16 Oct 2008 10:29:12 -0000 1.4 *************** *** 18,24 **** /** ! * Root of the hierarchy of data access exceptions that are considered transient - where a previoulsy ! * failed operation might be able to succeed when the operation is retried without any intervention by ! * application-level functionality. * * @author Thomas Risberg --- 18,24 ---- /** ! * Root of the hierarchy of data access exceptions that are considered transient - ! * where a previously failed operation might be able to succeed when the operation ! * is retried without any intervention by application-level functionality. * * @author Thomas Risberg |
From: Juergen H. <jho...@us...> - 2008-10-15 16:43:13
|
Update of /cvsroot/springframework/spring/src/org/springframework/jms/listener/adapter In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv20621/src/org/springframework/jms/listener/adapter Modified Files: MessageListenerAdapter.java Log Message: introduced SubscriptionNameProvider interface for message listener objects suggesting default subscription names; MessageListenerAdapter uses actual message listener object's class name as default subscription name Index: MessageListenerAdapter.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/jms/listener/adapter/MessageListenerAdapter.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** MessageListenerAdapter.java 8 May 2008 20:50:19 -0000 1.17 --- MessageListenerAdapter.java 15 Oct 2008 14:42:00 -0000 1.18 *************** *** 31,34 **** --- 31,35 ---- import org.springframework.jms.listener.SessionAwareMessageListener; + import org.springframework.jms.listener.SubscriptionNameProvider; import org.springframework.jms.support.JmsUtils; import org.springframework.jms.support.converter.MessageConversionException; *************** *** 134,138 **** * @see org.springframework.jms.listener.AbstractMessageListenerContainer#setMessageListener */ ! public class MessageListenerAdapter implements MessageListener, SessionAwareMessageListener { /** --- 135,139 ---- * @see org.springframework.jms.listener.AbstractMessageListenerContainer#setMessageListener */ ! public class MessageListenerAdapter implements MessageListener, SessionAwareMessageListener, SubscriptionNameProvider { /** *************** *** 361,370 **** } else { ! logger.debug("No result object given - no result to handle"); } } ! /** * Initialize the default implementations for the adapter's strategies. * @see #setMessageConverter --- 362,380 ---- } else { ! logger.trace("No result object given - no result to handle"); ! } ! } ! ! public String getSubscriptionName() { ! if (this.delegate instanceof SubscriptionNameProvider) { ! return ((SubscriptionNameProvider) this.delegate).getSubscriptionName(); ! } ! else { ! return this.delegate.getClass().getName(); } } ! /** * Initialize the default implementations for the adapter's strategies. * @see #setMessageConverter |
From: Juergen H. <jho...@us...> - 2008-10-15 15:30:38
|
Update of /cvsroot/springframework/spring/src/org/springframework/jms/listener In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv19167/src/org/springframework/jms/listener Modified Files: AbstractPollingMessageListenerContainer.java Log Message: log "no message received" message at trace level only Index: AbstractPollingMessageListenerContainer.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/jms/listener/AbstractPollingMessageListenerContainer.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** AbstractPollingMessageListenerContainer.java 2 Sep 2008 13:12:39 -0000 1.13 --- AbstractPollingMessageListenerContainer.java 15 Oct 2008 14:27:23 -0000 1.14 *************** *** 345,350 **** } else { ! if (logger.isDebugEnabled()) { ! logger.debug("Consumer [" + consumerToUse + "] of " + (transactional ? "transactional " : "") + "session [" + sessionToUse + "] did not receive a message"); } --- 345,350 ---- } else { ! if (logger.isTraceEnabled()) { ! logger.trace("Consumer [" + consumerToUse + "] of " + (transactional ? "transactional " : "") + "session [" + sessionToUse + "] did not receive a message"); } |
From: Juergen H. <jho...@us...> - 2008-10-15 15:18:58
|
Update of /cvsroot/springframework/spring/src/org/springframework/jms/listener In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv20621/src/org/springframework/jms/listener Modified Files: AbstractMessageListenerContainer.java Added Files: SubscriptionNameProvider.java Log Message: introduced SubscriptionNameProvider interface for message listener objects suggesting default subscription names; MessageListenerAdapter uses actual message listener object's class name as default subscription name --- NEW FILE: SubscriptionNameProvider.java --- /* * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.jms.listener; /** * Interface to be implemented by message listener objects that suggest a specific * name for a durable subscription that they might be registered with. Otherwise * the listener class name will be used as a default subscription name. * * <p>Applies to {@link javax.jms.MessageListener} objects as well as to * {@link SessionAwareMessageListener} objects and plain listener methods * (as supported by {@link org.springframework.jms.listener.adapter.MessageListenerAdapter}. * * @author Juergen Hoeller * @since 2.5.6 */ public interface SubscriptionNameProvider { /** * Determine the subscription name for this message listener object. */ String getSubscriptionName(); } Index: AbstractMessageListenerContainer.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/jms/listener/AbstractMessageListenerContainer.java,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** AbstractMessageListenerContainer.java 23 Aug 2008 23:39:38 -0000 1.39 --- AbstractMessageListenerContainer.java 15 Oct 2008 14:42:00 -0000 1.40 *************** *** 239,248 **** this.messageListener = messageListener; if (this.durableSubscriptionName == null) { ! // Use message listener class name as default name for a durable subscription. ! this.durableSubscriptionName = messageListener.getClass().getName(); } } /** * Check the given message listener, throwing an exception * if it does not correspond to a supported listener type. --- 239,254 ---- this.messageListener = messageListener; if (this.durableSubscriptionName == null) { ! this.durableSubscriptionName = getDefaultSubscriptionName(messageListener); } } /** + * Return the message listener object to register. + */ + public Object getMessageListener() { + return this.messageListener; + } + + /** * Check the given message listener, throwing an exception * if it does not correspond to a supported listener type. *************** *** 265,272 **** /** ! * Return the message listener object to register. */ ! public Object getMessageListener() { ! return this.messageListener; } --- 271,286 ---- /** ! * Determine the default subscription name for the given message listener. ! * @param messageListener the message listener object to check ! * @return the default subscription name ! * @see SubscriptionNameProvider */ ! protected String getDefaultSubscriptionName(Object messageListener) { ! if (messageListener instanceof SubscriptionNameProvider) { ! return ((SubscriptionNameProvider) messageListener).getSubscriptionName(); ! } ! else { ! return messageListener.getClass().getName(); ! } } *************** *** 502,509 **** } // Actually invoke the message listener... - if (logger.isDebugEnabled()) { - logger.debug("Invoking listener with message of type [" + message.getClass() + - "] and session [" + sessionToUse + "]"); - } listener.onMessage(message, sessionToUse); // Clean up specially exposed Session, if any. --- 516,519 ---- |
From: Juergen H. <jho...@us...> - 2008-10-15 13:13:01
|
Update of /cvsroot/springframework/spring/docs/reference/src In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14287/docs/reference/src Modified Files: Tag: mbranch-2-0 beans.xml Log Message: fixed depends-on note Index: beans.xml =================================================================== RCS file: /cvsroot/springframework/spring/docs/reference/src/beans.xml,v retrieving revision 1.169.2.19 retrieving revision 1.169.2.20 diff -C2 -d -r1.169.2.19 -r1.169.2.20 *** beans.xml 21 Jul 2008 20:55:05 -0000 1.169.2.19 --- beans.xml 15 Oct 2008 13:12:44 -0000 1.169.2.20 *************** *** 1609,1619 **** <bean id="accountDao" class="x.y.jdbc.JdbcAccountDao" />]]></programlisting> <note> ! <para>The '<literal>depends-on</literal>' attribute and property is used not only to ! specify an initialization time dependency, but also to specify ! the corresponding destroy time dependency (in the case of ! <link linkend="beans-factory-scopes-singleton">singleton</link> beans only). Dependant beans that are defined in the ! '<literal>depends-on</literal>' attribute will be destroyed ! first prior to the relevant bean itself being destroyed. This thus ! allows you to control shutdown order too.</para> </note> </section> --- 1609,1620 ---- <bean id="accountDao" class="x.y.jdbc.JdbcAccountDao" />]]></programlisting> <note> ! <para>The '<literal>depends-on</literal>' attribute at the bean definition ! level is used not only to specify an initialization time dependency, but ! also to specify the corresponding destroy time dependency (in the case of ! <link linkend="beans-factory-scopes-singleton">singleton</link> beans ! only). Dependent beans that define a '<literal>depends-on</literal>' ! relationship with a given bean will be destroyed first - prior to the given ! bean itself being destroyed. As a consequence, '<literal>depends-on</literal>' ! may be used to control shutdown order too.</para> </note> </section> |
From: Juergen H. <jho...@us...> - 2008-10-15 13:12:18
|
Update of /cvsroot/springframework/spring/docs/reference/src In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv14243/docs/reference/src Modified Files: beans.xml Log Message: fixed depends-on note Index: beans.xml =================================================================== RCS file: /cvsroot/springframework/spring/docs/reference/src/beans.xml,v retrieving revision 1.241 retrieving revision 1.242 diff -C2 -d -r1.241 -r1.242 *** beans.xml 14 Oct 2008 15:17:18 -0000 1.241 --- beans.xml 15 Oct 2008 13:12:08 -0000 1.242 *************** *** 1952,1963 **** <note> ! <para>The '<literal>depends-on</literal>' attribute and property is ! used not only to specify an initialization time dependency, but also ! to specify the corresponding destroy time dependency (in the case of <link linkend="beans-factory-scopes-singleton">singleton</link> beans ! only). Dependent beans that are defined in the ! '<literal>depends-on</literal>' attribute will be destroyed first ! prior to the relevant bean itself being destroyed. This thus allows ! you to control shutdown order too.</para> </note> </section> --- 1952,1963 ---- <note> ! <para>The '<literal>depends-on</literal>' attribute at the bean definition ! level is used not only to specify an initialization time dependency, but ! also to specify the corresponding destroy time dependency (in the case of <link linkend="beans-factory-scopes-singleton">singleton</link> beans ! only). Dependent beans that define a '<literal>depends-on</literal>' ! relationship with a given bean will be destroyed first - prior to the given ! bean itself being destroyed. As a consequence, '<literal>depends-on</literal>' ! may be used to control shutdown order too.</para> </note> </section> |
From: Juergen H. <jho...@us...> - 2008-10-15 12:01:41
|
Update of /cvsroot/springframework/spring/src/org/springframework/jms/connection In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9902/src/org/springframework/jms/connection Modified Files: CachingConnectionFactory.java Log Message: regular returning of cached resources gets logged at trace level only Index: CachingConnectionFactory.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/jms/connection/CachingConnectionFactory.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CachingConnectionFactory.java 30 Jul 2008 21:26:18 -0000 1.7 --- CachingConnectionFactory.java 15 Oct 2008 12:01:29 -0000 1.8 *************** *** 219,224 **** } if (session != null) { ! if (logger.isDebugEnabled()) { ! logger.debug("Found cached JMS Session for mode " + mode + ": " + (session instanceof SessionProxy ? ((SessionProxy) session).getTargetSession() : session)); } --- 219,224 ---- } if (session != null) { ! if (logger.isTraceEnabled()) { ! logger.trace("Found cached JMS Session for mode " + mode + ": " + (session instanceof SessionProxy ? ((SessionProxy) session).getTargetSession() : session)); } *************** *** 340,345 **** MessageProducer producer = (MessageProducer) this.cachedProducers.get(dest); if (producer != null) { ! if (logger.isDebugEnabled()) { ! logger.debug("Found cached JMS MessageProducer for destination [" + dest + "]: " + producer); } } --- 340,345 ---- MessageProducer producer = (MessageProducer) this.cachedProducers.get(dest); if (producer != null) { ! if (logger.isTraceEnabled()) { ! logger.trace("Found cached JMS MessageProducer for destination [" + dest + "]: " + producer); } } *************** *** 360,365 **** MessageConsumer consumer = (MessageConsumer) this.cachedConsumers.get(cacheKey); if (consumer != null) { ! if (logger.isDebugEnabled()) { ! logger.debug("Found cached JMS MessageConsumer for destination [" + dest + "]: " + consumer); } } --- 360,365 ---- MessageConsumer consumer = (MessageConsumer) this.cachedConsumers.get(cacheKey); if (consumer != null) { ! if (logger.isTraceEnabled()) { ! logger.trace("Found cached JMS MessageConsumer for destination [" + dest + "]: " + consumer); } } *************** *** 398,403 **** // Allow for multiple close calls... if (!this.sessionList.contains(proxy)) { ! if (logger.isDebugEnabled()) { ! logger.debug("Returning cached Session: " + this.target); } this.sessionList.addLast(proxy); --- 398,403 ---- // Allow for multiple close calls... if (!this.sessionList.contains(proxy)) { ! if (logger.isTraceEnabled()) { ! logger.trace("Returning cached Session: " + this.target); } this.sessionList.addLast(proxy); |
From: Juergen H. <jho...@us...> - 2008-10-15 12:00:11
|
Update of /cvsroot/springframework/spring/src/org/springframework/transaction/support In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9532/src/org/springframework/transaction/support Modified Files: TransactionSynchronizationManager.java Log Message: TransactionSynchronizationManager interaction gets logged at trace level only (minimizing debug log per transaction) Index: TransactionSynchronizationManager.java =================================================================== RCS file: /cvsroot/springframework/spring/src/org/springframework/transaction/support/TransactionSynchronizationManager.java,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** TransactionSynchronizationManager.java 6 May 2008 09:16:47 -0000 1.36 --- TransactionSynchronizationManager.java 15 Oct 2008 12:00:04 -0000 1.37 *************** *** 139,144 **** Object actualKey = TransactionSynchronizationUtils.unwrapResourceIfNecessary(key); Object value = doGetResource(actualKey); ! if (value != null && logger.isDebugEnabled()) { ! logger.debug("Retrieved value [" + value + "] for key [" + actualKey + "] bound to thread [" + Thread.currentThread().getName() + "]"); } --- 139,144 ---- Object actualKey = TransactionSynchronizationUtils.unwrapResourceIfNecessary(key); Object value = doGetResource(actualKey); ! if (value != null && logger.isTraceEnabled()) { ! logger.trace("Retrieved value [" + value + "] for key [" + actualKey + "] bound to thread [" + Thread.currentThread().getName() + "]"); } *************** *** 183,188 **** actualKey + "] bound to thread [" + Thread.currentThread().getName() + "]"); } ! if (logger.isDebugEnabled()) { ! logger.debug("Bound value [" + value + "] for key [" + actualKey + "] to thread [" + Thread.currentThread().getName() + "]"); } --- 183,188 ---- actualKey + "] bound to thread [" + Thread.currentThread().getName() + "]"); } ! if (logger.isTraceEnabled()) { ! logger.trace("Bound value [" + value + "] for key [" + actualKey + "] to thread [" + Thread.currentThread().getName() + "]"); } *************** *** 229,234 **** resources.set(null); } ! if (value != null && logger.isDebugEnabled()) { ! logger.debug("Removed value [" + value + "] for key [" + actualKey + "] from thread [" + Thread.currentThread().getName() + "]"); } --- 229,234 ---- resources.set(null); } ! if (value != null && logger.isTraceEnabled()) { ! logger.trace("Removed value [" + value + "] for key [" + actualKey + "] from thread [" + Thread.currentThread().getName() + "]"); } *************** *** 259,263 **** throw new IllegalStateException("Cannot activate transaction synchronization - already active"); } ! logger.debug("Initializing transaction synchronization"); synchronizations.set(new LinkedList()); } --- 259,263 ---- throw new IllegalStateException("Cannot activate transaction synchronization - already active"); } ! logger.trace("Initializing transaction synchronization"); synchronizations.set(new LinkedList()); } *************** *** 313,317 **** throw new IllegalStateException("Cannot deactivate transaction synchronization - not active"); } ! logger.debug("Clearing transaction synchronization"); synchronizations.set(null); } --- 313,317 ---- throw new IllegalStateException("Cannot deactivate transaction synchronization - not active"); } ! logger.trace("Clearing transaction synchronization"); synchronizations.set(null); } |