Skip to main content

JXTA JXSE 2.5RC2 "Pavlova" Release Announcement

1 reply [Last post]
bondolo
Offline
Joined: 2003-06-11

Community Members,

The next release of JXTA for Java SE/EE 5.0, JXSE 2.5 "Pavlova", is finally nearing completion. The Pavlova release is the result of tremendous effort over the last ten months. Pavlova will contain significant enhancements to JXSE along with the usual mix of refinements and bug fixes.

Because the JXSE 2.5 release will contain major enhancements and numerous changes to the internal implementation we have released several test versions before the final release of JXTA JSE 2.5. A fourth test version of JXSE 2.5 is now available, RC3. This "RC3" release is expected to be the final test release. "RC3" is being offered for compatibility, performance and regression testing.

This is a test release. It is possible that bugs and incompatibilities still remain. It's critical that we find and fix those bugs before the official final release. If you have not been following the daily builds or the previous test releases of JXSE 2.5 then now would be a very good time to test the upcoming release with your applications. Your input is essential in this task!

Except as required to fix critical (P1-P2) defects and regressions there are no additional changes planned for JXSE 2.5. We expect that the final 2.5 release will be completed in two weeks depending upon the number of high priority issues which must be resolved.

Mike Duigou
(for the JXSE Release Team)

Acknowledgements
=======================================================================

Special thanks to all of the community members who have already contributed ideas, reported problems, provided patches, and have helped greatly to improve the quality, and robustness of this release.

Especially deserving of recognition for the Pavlova release are the Shoal/Glassfish team and separately, Roger 'malveaux' Karis. The 2.5 release would not be nearly as robust, stable nor complete without your contributions.

Also, thanks in advance to all of the community members who spend time trying this test release, file issues and contribute to the final release. We won't be able to do it without you!

How to Get Involved
=======================================================================

1. Download or Build JXSE 2.5 RC3 using the instructions below in "Downloading and Installing".

2. Try out the updated JXTA tutorials using JXSE 2.5 RC3 and the latest draft of new edition of the JXSE Programmers Guide. (see below for more information).

3. Rebuild your applications with JXSE 2.5 RC3 and test them to ensure that they still function as expected.

4. Communicate! Share your feedback, observations, comments, criticisms and perspectives on the JXTA mailing lists and forums. Contribute to the JXTA wiki. If you are blogging about JXTA we encourage you to add your name to the JXTA blogroll on the JXTA FAQ Page.

5. File bugs, propose patches using the JXSE Issue Tracker.

6. Follow the progress of issues and test fixes using the nightly automated builds

Downloading and Installing
======================================================================

Prebuilt JXSE 2.5 RC3 builds can be installed from :

http://download.java.net/jxta/jxta-jxse/2.5_rc3/

You can also build the JXSE source from subversion using the following commands:

svn checkout https://jxta-jxse.dev.java.net/svn/jxta-jxse/tags/2.5RC3 jxta-jxse --username

followed by :

cd jxta-jxse
ant

JXSE 2.5 Dependencies
======================================================================

- Java Standard Edition 5.0 Compatible VM (http://java.sun.com)
- BouncyCastle 1.34 (http://www.bouncyCastle.org)
[Will be updated to 1.37 for security fixes before final release]
- Servlet 2.3 (http://java.sun.com)
- Jetty 4.2.25 (http://jetty.mortbay.com)

- Log4J is no longer required by JXSE. Application developers using Log4J in their applications will need to include it in their classpath.

Release Highlights
======================================================================

- NIO based TCP transport implementation.
- Rewritten relay and rendezvous seeding implementation that connects
faster and more reliably.
- User of Java 5.0 java.util.concurrent.Executor to improve Thread usage. JXSE 2.5 uses Threads much more efficiently than past versions.
- Log4J has been replaced with java.util.logging
- Inclusion of a new NetworkManager class to manage invoking,
configuring and shutting down JXTA.
- Improvements to JXTA Socket reliability and performance.
- Much greater use of Java 5.0 generics in the core APIs while
maintaining backwards compatibility.

Known incompatibilities between JXTA 2.5 and prior JXTA 2.x releases
======================================================================

- A small number of classes and methods which have been deprecated for a long time were removed as part of this release. The final release notes for JXSE 2.5 will include a full itemization of all removed items with the current alternatives.

- A several internal interfaces (net.jxta.impl.*) have changed. Applications which depended upon these internal classes may break as a result of these changes.

- For the authors of Peer Group services, there have been important changes in how services are started. Services which depended upon being able to get references to other services in their init() method will now fail.

- The ext.config configuration utility and the jxtaext.jar are no longer included with JXSE. The ext.config package has lacked a maintainer since June 2006 and despite plans to include it in the migration of the JXTA project to java.net it has unfortunately not yet been successfully migrated. The net.jxta.platform.NetworkConfigurator is currently the only recommended JXSE configuration API.

Other Important Changes
======================================================================

- JXSE has converted from using Log4J to java.util.logging for it's logging functionality. If you were previously using a custom log4j.properties file to control logging or setting logging options using one of the JXTA configuration APIs you will need to adapt to the new logging infrastructure.

Overall JXTA logging support is now regulated via a global system property rather than a value in the PlatformConfig file. You can set the default JXTA logging level when you invoke Java :

java -Dnet.jxta.level=CONFIG -jar myApp.jar

For finer grained control similar to what was available with the log4j.properties file you can use a logging.properties file in addition to the system property :

java -Dnet.jxta.logging.Logging=CONFIG \
-Djava.util.logging.config.file=logging.properties \
-jar myApp.jar

Note that depending on how your Java installation configures logging by default it may be necessary to provide your own logging config file in all cases due to default message filtering settings in the default configuration. You can normally find the default logging configuration file in the "lib" directory of your Java runtime. The default file is also a good initial template for building your own customized logging configuration file.

Updated Programmers Guide
======================================================================

In conjunction with the JXSE 2.5 release the JXTA Programmers Guide has been updated. This new edition of the Programmers Guide includes improved examples updated to match the 2.5 release, several new chapters and many other additions to the existing material.

You can track the progress of the new edition on the JXTA Guide project mailing lists and Subversion. Draft versions of the new edition are available at : Programmers Guide 2.5 Drafts. The Guide chapter authors and editors are eager to receive feedback and comments on the new edition.

Known issues in JXSE 2.5
======================================================================

Current Open Issues

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
lmikhailov
Offline
Joined: 2007-05-22

Hi there,

>For the authors of Peer Group services, there have been important changes
>in how services are started. Services which depended upon being able to get
>references to other services in their init() method will now fail.

Are there any plans to include a sample of correct peer group service creation in the JXTA Programmers Guide? I don't think anybody can figure out the correct way of doing this without such an example. Please post such a sample on this forum for everybody's benefit.

Leon