Skip to main content

Posts

Showing posts from January, 2012

Apache Tomcat 7.0.25 Released

Apache Tomcat 7.0.25 has been released and is available for immediate download from  http://tomcat.apache.org/download-70.cgi Mark Thomas notes on the Tomcat mailing lists: "The Apache Tomcat team announces the immediate availability of Apache Tomcat 7.0.25 This release includes numerous bug fixes and several new features compared to version 7.0.23. The notable new features include: * Align the Servlet 3.0 implementation with the changes defined in the first maintenance release (also known as Rev. A.). See the JCP documentation for a detailed list of changes. * Add support for connectors to automatically select a free port to bind to. This is useful when embedding and for testing. * Update to Commons Pool 1.5.7, Commons Daemon 1.0.8 and Eclipse JDT compiler 3.7.1. Please refer to the change log for the complete list of changes: http://tomcat.apache.org/tomcat-7.0-doc/changelog.html Note that this version has 4 zip binaries: a generic one and three bundled with Tomcat native...

SpringSource Webinar : Modern Enterprise Java Architectures With Spring3.1

Today SpringSource, the makers of the Spring Framework are hosting 2 webinars entitled: "Modern Enterprise Java Architectures with Spring 3.1". "In its 3.1 generation, the Spring Framework presents itself as a versatile open source platform for Java-based application architectures on any kind of deployment platform. This presentation covers the key feature set in Spring 3.1, from environment profiles and Java-based application configuration to declarative caching and Servlet 3.0 support. Spring 3.1's capabilities will be discussed in the context of current trends such as cloud computing and HTML 5, influencing the way enterprise Java applications will be built in 2012 and beyond." The webinars are to be held at 3pm UK time for European audiences and at 1pm EST for North American audiences. Full details of the webinars can be found at: European Webinar North American Webinar

Tomcat Security Issue - Denial Of Service

A new Tomcat security issue has been reported that affects Tomcat versions 7.0.0 through 7.0.22, versions 6.0.0 through 6.0.33 and versions 5.5.0 through 5.5.34. According to the Tomcat mailing lists: "CVE-2012-0022 Apache Tomcat Denial of Service Severity: Important Description: Analysis of the recent hash collision vulnerability identified unrelated inefficiencies with Apache Tomcat's handling of large numbers of parameters and parameter values. These inefficiencies could allow an attacker, via a specially crafted request, to cause large amounts of CPU to be used which in turn could create a denial of service. The issue was addressed by modifying the Tomcat parameter handling code to efficiently process large numbers of parameters and parameter values. Mitigation: Users of affected versions should apply one of the following mitigations: - Tomcat 7.0.x users should upgrade to 7.0.23 or later - Tomcat 6.0.x users should upgrade to 6.0.35 or later - Tomcat 5.5.x users s...

Tomcat Security Issue - Information Disclosure

A new Tomcat security issue has been reported that affects Tomcat versions 7.0.0 through 7.0.21 and versions 6.0.30 through 6.0.33. According to the Tomcat mailing lists: "CVE-2011-3375 Apache Tomcat Information disclosure Severity: Important Description: For performance reasons, information parsed from a request is often cached in two places: the internal request object and the internal processor object. These objects are not recycled at exactly the same time. When certain errors occur that needed to be added to the access log, the access logging process triggers the re-population of the request object after it has been recycled. However, the request object was not recycled before being used for the next request. That lead to information leakage (e.g. remote IP address, HTTP headers) from the previous request to the next request. The issue was resolved be ensuring that the request and response objects were recycled after being re-populated to generate the necessary access log...

Want to name the 2013 Eclipse Release?

A new community poll over on eclipse.org is asking readers to help decide the name of the 2013 annual release of Eclipse.  Each year the Eclipse Foundation releases a new version of Eclipse - this year it was Eclipse Indigo. The 2013 release of Eclipse must start with the letter "K", and the suggestions for the poll are: Karl Kratos Kepler Ketu Koronis Kuiper I know my favourite, what's yours?  Head on over to eclipse.org to cast your vote.  The poll will remain open until January 15.

Commons Pool 1.6 Released

Apache Commons Pool version 1.6 has been released.  In the release notification, Gary Gregory states: "The Apache Commons team is pleased to announce the release of version 1.6 of Commons Pool. Commons Pool provides a general purpose object pooling API, an implementation toolkit and some pool implementations. Version 1.6 adds generics to, and is binary compatible with, version 1.5.7. Source and binary distributions are available for download from the Apache Commons Pool download site: http://commons.apache.org/pool/download_pool.cgi Please verify signatures using the KEYS file available at the above location when downloading the release. For more information on Apache Commons Pool, visit the Pool home page: http://commons.apache.org/pool/ Feedback, suggestions for improvement or bug reports are welcome via the "Mailing Lists" and "Issue Tracking" links here: http://commons.apache.org/pool/project-info.html "

Spring Integration 2.1 Released

Yesterday, Mark Fisher announced the release of Spring Integration version 2.1 "Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns. It enables lightweight messaging within Spring-based applications and supports integration with external systems via declarative adapters. Those adapters provide a higher-level of abstraction over Spring's support for remoting, messaging, and scheduling. Spring Integration's primary goal is to provide a simple model for building enterprise integration solutions while maintaining the separation of concerns that is essential for producing maintainable, testable code." Spring Integration 2.1 includes many new features and hundreds of resolved issues including: RabbitMQ / AMQP support Support for VMWare vFabric GemFire Support for the Redis data structure server Support for MongoDB NoSQL server JSR-223 Scripting Support (S)FTP Outbound Gateways A com...

Forthcoming Book Review

Packt Publishing have just agreed to send me a copy of JBoss AS 7 Configuration, Deployment and Administration by Francesco Marchioni. I'll be reviewing the book shortly and posting my review. This looks like an interesting book as it covers management and administration of JBoss AS 7, something not often found in books.

NetBeans 7.1 Released

NetBeans IDE 7.1 has been released and is now available for download. Geertjan Wielenga states that NetBeans 7.1 "introduces support for JavaFX 2.0 by enabling the full compile/debug/profile development cycle for JavaFX 2.0 applications. The release also provides significant Swing GUI Builder enhancements, CSS3 support, and tools for visual debugging of Swing and JavaFX user interfaces. Additional highlights include Git support integrated into the IDE, new PHP debugging features, various JavaEE and Maven improvements, and more. " You can download NetBeans from it's download site as Java SE, Java EE, C/C++, PHP or everything bundles. You can read the Oracle Press Releases here .

Getting Logged On User in a Spring-Web Application

In a web application, it can be useful to get the logged on user's name and display it within a web page, for example as a link to allow the user to edit their profile.  In a Spring Web application the username can easily be obtained in a controller and passed via a map to the user interface. To get the username in a controller class, we would use the SecurityContextHolder.getContext().getAuthentication().getPrincipal() method to get hold of the principal. We can then call the .getUsername() method to get the username of the currently logged on user. @Controller public class PageController {   @RequestMapping(method = RequestMethod.GET)   public ModelAndView handleRequest() {     User user = (User) SecurityContextHolder.getContext()         .getAuthentication().getPrincipal();     Map<String, Object> userModel = new HashMap<String, Object>();     userModel.put("username", user.getUsername());     return new ModelAndView("page", "model...