오랜만에 살펴보는 3.0 개발현황.

아직도 M2가 마무리되지 않고 있다. 여러번 추가 이슈가 등록이 되어 처리되고 있고, 이슈에 등록되지 않은 다양한 기능의 추가와 polishing, 문서작업 등이 계속 올라오고 있는 중이다. 최근에 "M2 release를 위한 준비"라는 코멘트를 가진 commit이 있었으니 조만간 출시되리라 기대해본다.

사실 M2에서 가장 바라는 것이 있다면 최신 기능에 대해서 업데이트된 레퍼런스 문서가 포함되는 것과 새로운 3.0의 기능들이 충실하게 사용된 샘플이다. 2.0시절에 등장했던 맛보기 샘플 같은 것이라도 만들어주면 안될까.

최근 유겐의 작업은 주로 코드의 Java5로 업그레이드 또는 Java5의 신기술을 활용한 API추가, 그런 과정에서 새롭게 발견된 버그 픽스, 코드 정리하기 등등이다. M3에서 새로운 기능을 많이 추가하기 위해서 M2에서 기존 코드를 안정적이고 탄탄하게 다져놓으려는 의도인 듯 하다.

그리고 스프링에서 공식적으로 사용하는 Hibernate의 버전이 3.3으로 바뀌었다.

지난 12월 M1 공개이후 두달 이상을 끌고 있는 M2 작업이 어서 마무리 되었으면 좋겠다.

아래는 현재까지 M2의 변경된 기능에 대해서 최신 change log에 나온 내용이다. 여기에 추가해서 최근에 RestTemplate 기능이 포함됐다. REST 방식의 호출을 하는 client코드를 만들 때 사용할 수 있는 스프링 template 스타일의 기능이다. 내부적으로 OXM 추상레이어를 사용해서 동작하도록 설계되어있다. 

Changes in version 3.0.0.M2 (2009-02-20)
—————————————-

* refined OSGi version constraints for "javax.annotation" and "junit.framework"
* revised expression parser API design
* added SimpleThreadScope implementation
* "systemProperties" bean is not considered a default match for type Properties anymore
* registered plain singletons will be fully matched according to their qualifiers
* @Qualifier value matching takes chained aliases of target beans into account as well
* SimpleAliasRegistry’s "getAliases" method returns transitive aliases now
* pre-converted property values are preserved more eagerly for re-created beans
* ASM-based AnnotationMetadata fully resolves class arguments and enums into Java types
* ProceedingJoinPoint resolves parameter names using ASM-based parameter name discovery
* MethodInvocations and ProceedingJoinPoints always expose original method (not bridge)
* bridge method resolution works with Hibernate-generated CGLIB proxies as well
* generic collection type resolution respects upper bound (e.g. ? extends Number) as well
* TypeUtils detects variations of ParameterizedType/GenericArrayType assignability as well
* ReflectionUtils findMethod detects methods on "java.lang.Object" as well
* UrlResource eagerly closes HTTP connections in case of "getInputStream()" failure
* PathMatchingResourcePatternResolver avoids NPE when initialized with null ClassLoader
* all "taskExecutor" bean properties now accept any "java.util.concurrent.Executor"
* added "Future submit(Runnable)" and "Future submit(Callable)" to AsyncTaskExecutor
* SimpleAsyncTaskExecutor supports a custom "java.util.concurrent.ThreadFactory"
* SchedulingTaskExecutor interface extends AsyncTaskExecutor now
* added ThreadPoolExecutorFactoryBean (exposing the native ExecutorService interface)
* added ExecutorServiceAdapter class as a standard wrapper for a Spring TaskExecutor
* reduced backport-concurrent support to TaskExecutor adapters
* added @Async annotation and AsyncAnnotationAdvisor (namespace support coming in M3)
* EJB 3.1′s @Asynchronous annotation gets detected and supported by default as well
* ApplicationListener beans get obtained on demand, supporting non-singletons as well
* ApplicationListeners will be called in the order according to the Ordered contract
* generified ApplicationListener interface, narrowing the event type to be received
* introduced SmartApplicationListener interface for supported event/source types
* generified Transaction/Hibernate/Jdo/JpaCallback with generic "doInXxx" return type
* HibernateOperations uses generic parameter/return types where possible
* JdoOperations uses generic parameter/return types where possible (following JDO 2.1)
* removed "flush" operation from JdoDialect (fully relying on JDO 2.0+ compliance now)
* added JDO 2.1 compliant StandardPersistenceManagerProxy/SpringPersistenceManagerProxy
* Spring-created EntityManagers support JPA 2.0 draft API ("unwrap", "getQueryBuilder")
* Spring initiates JPA 2.0 query timeout with remaining Spring transaction timeout
* added support for WebSphere’s ResourceAdapter-managed messaging transactions
* made SpringBeanAutowiringInterceptor callback signature compatible with WebSphere
* WebSphereUowTransactionManager preserves original exception in case of rollback
* added "flush()" method to TransactionStatus and TransactionSynchronization interfaces
* test context manager automatically flushes transactions before rolling back
* DefaultLobHandler uses explicit Blob/Clob access for reading when "wrapAsLob"=true
* fixed JmsException/JmsUtils to fully avoid NPEs in case of cause messages being null
* fixed MessageListenerAdapter’s "getSubscriptionName()" to work without delegate as well
* fixed HTTP invoker to support resolution of multi-level primitive array classes again
* introduced OXM support package (originating from Spring Web Services)
* introduced OXM-based MarshallingMessageConverter for JMS
* introduced OXM-based MarshallingView for Spring MVC
* refined @PathVariable handling in MVC handler methods
* updated Spring Portlet MVC infrastructure and mocks for Portlet API 2.0
* added resource and event methods to Portlet HandlerAdapter/HandlerInterceptor
* added resolveException method for resource requests to HandlerExceptionResolver
* introduced Resource/EventAwareController subinterfaces of Portlet Controller
* introduced @Action/@Render/@Resource/@EventMapping annotations for Portlet MVC
* added @RequestHeader support for Portlet MVC
* introduced @CookieValue annotation for Servlet and Portlet MVC handler methods
* @RequestMapping type-level param constraints taken into account consistently
* optional boolean parameters in MVC handler methods resolve to "false" if not present
* "url" macro in "spring.ftl" performs standard Servlet URL encoding automatically

Related posts:

  1. Spring 3.0 (52) 반쪽짜리 3.0 RC1 공개
  2. Spring 3.0 (46) Spring 3.0 M4 릴리스
  3. 미리 보는 Spring 3.0.1의 변경사항
  4. Spring 3.0 (6) – R561 Portlet 2.0 API, @CookieValue
  5. Spring 3.0 (56) @Bean 사용의 주의사항
  6. Spring 3.0.1 mvc:annotation-driven 이 몰래 하는 짓
  7. Spring 3.0 (8) Core 모듈의 선택 라이브러리 분석
  8. Spring Framework 3.0.3 릴리스 & 의존 라이브러리
  9. Spring 3.0 EL (Spel)을 이용한 AssertThrows 확장 (2)
  10. Spring 3.0 (23) Web.Portlet 모듈 선택라이브러리 분석
  11. S1A 2008 셋째날 – Spring JavaConfig
  12. Spring 3.0 (44) Spring 3.0과 JEE6
  13. Spring 3.0 (3) R-543 Portlet Mocks, MVC 등등
  14. Spring 3.0 EL (Spel)을 이용한 AssertThrows 확장 (1)
  15. Spring 3.0 (14) Context Support 모듈의 선택 라이브러리 분석

Facebook comments:

to “Spring 3.0 (28) R-669 Update”

  1. Having read this I believed it was extremely
    informative. I appreciate you spending some time
    and effort to pput this content together. I once again find myself personallly spending a
    lot of time both reading and leaving comments.
    But so what, it was still worth it!

    Here iss my page; info

  2. Everything is very open with a really clear explanation of the challenges.
    It was truly informative. Your website is useful.
    Thanks for sharing!

  3. I do believe all the ideas you’ve introduced on your post.

    They are very convincing and will definitely work. Still, the
    posts are too brief for novices. May just you please prolong them
    a little from subsequent time? Thanks for
    the post.

  4. would love to perpetually get updated great site! .

  5. Hey There. I found your blog using msn. This is a very well written article.

    I will make sure to bookmark it and return to read more of your useful information. Thanks for the post.
    I’ll certainly comeback.

    Visit my page :: Tamie

  6. Howdy, There’s no doubt that your site might be having browser
    compatibility issues. Whenever I take a look at your site in Safari, it looks
    fine but when opening in IE, it’s got some overlapping issues.

    I just wanted to give you a quick heads up! Apart from that, excellent website!

    Here is my webpage – Tamera

  7. Someone necessarily assist to make critically articles I would state. This is the very first time I frequented your website page and thus far? I amazed with the analysis you made to create this particular put up incredible. Great process!

  8. Thank you for all your work on this site. Gloria enjoys carrying out investigation and it’s really easy to understand why. All of us hear all about the lively mode you convey vital things through this website and cause response from others about this point then our own child is without a doubt learning a lot. Enjoy the remaining portion of the new year. You’re the one carrying out a powerful job.

  9. I’m so happy to read this. This is the kind of manual that needs to be given and not the accidental misinformation that is at the other blogs. Appreciate your sharing this greatest doc.

  10. Hello, i think that i saw you visited my blog thus i came to “return the favor”.I’m attempting to find things to enhance my website!I suppose its ok to use some of your ideas!!

  11. Hi there, You have done an incredible job. I will definitely digg it and personally suggest to my friends. I am sure they’ll be benefited from this site.

  12. Thanks , I have recently been searching for info about this topic for ages and yours is the best I’ve found out till now. But, what concerning the bottom line? Are you sure about the source?

  13. You completed a few nice points there. I did a search on the theme and found nearly all persons will consent with your blog.

  14. Hey, you used to write fantastic, but the last several posts have been kinda boring¡K I miss your tremendous writings. Past several posts are just a little out of track! come on!

  15. Thank you for all your work on this site. Gloria enjoys carrying out investigation and it’s really easy to understand why. All of us hear all about the lively mode you convey vital things through this website and cause response from others about this point then our own child is without a doubt learning a lot. Enjoy the remaining portion of the new year. You’re the one carrying out a powerful job.

  16. I am just writing to make you be aware of what a superb encounter my friend’s princess found reading your site. She picked up such a lot of details, most notably what it’s like to possess an incredible coaching nature to make other people just grasp chosen specialized matters. You really did more than my expected results. Thanks for delivering those good, safe, edifying and even easy guidance on the topic to Lizeth.

  17. I¡¦m not positive where you are getting your information, however good topic. I needs to spend some time learning much more or working out more. Thanks for excellent info I used to be searching for this information for my mission.

  18. I intended to send you a very small observation to say thanks the moment again on the awesome thoughts you’ve featured in this article. It has been so shockingly generous with you to provide publicly what many individuals would’ve sold for an electronic book to end up making some bucks for themselves, particularly considering the fact that you could have tried it if you ever desired. The thoughts likewise served to become a fantastic way to know that other people have the identical zeal the same as mine to see a good deal more when considering this condition. I’m certain there are millions of more pleasant times in the future for individuals that read through your website.

  19. I have read some just right stuff here. Certainly value bookmarking for revisiting. I surprise how much attempt you place to make this type of excellent informative website.

  20. Thank you for sharing excellent informations. Your web-site is so cool. I’m impressed by the details that you have on this blog. It reveals how nicely you perceive this subject. Bookmarked this website page, will come back for more articles. You, my pal, ROCK! I found simply the information I already searched everywhere and simply could not come across. What a great site.

  21. Pretty section of content. I just stumbled upon your weblog and in accession capital to assert that I acquire actually enjoyed account your blog posts. Anyway I’ll be subscribing to your feeds and even I achievement you access consistently quickly.

  22. I was just looking for this info for a while. After 6 hours of continuous Googleing, finally I got it in your web site. I wonder what’s the lack of Google strategy that do not rank this type of informative websites in top of the list. Generally the top web sites are full of garbage.

  23. Thankyou for this grand post, I am glad I observed this site on yahoo.

  24. You really make it seem really easy with your presentation but I to find this topic to be actually one thing which I think I might by no means understand. It seems too complicated and extremely wide for me. I’m looking ahead for your next put up, I will try to get the hang of it!

  25. Great tremendous things here. I’m very glad to look your article. Thank you so much and i am taking a look ahead to contact you. Will you please drop me a mail?

  26. You can definitely see your expertise within the work you write. The sector hopes for more passionate writers like you who are not afraid to mention how they believe. Always go after your heart.

  27. You completed a few nice points there. I did a search on the theme and found nearly all persons will consent with your blog.

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha