Coherence, WebLogic and Java SE 8 by René van Wijk

Posted: April 2, 2015 in WebLogic
Tags: , , , , , ,

 

clip_image002

In this post we will explore some new Java SE 8 features,

  • Lambda Expressions enable us to treat functionality as a method argument, or code as data. Lambda expressions let us express instances of single-method interfaces (referred to as functional interfaces) more compactly. The Java SE 8 API also ships a lot of new functional interfaces to make our life easier.
  • Method references provide easy-to-read lambda expressions for methods that already have a name.
  • Default methods enable new functionality to be added to the interfaces of libraries and ensure binary compatibility with code written for older versions of those interfaces.
  • Classes in the new java.util.stream package provide a Stream API to support functional-style operations on streams of elements. The Stream API is integrated into the Collections API, which enables bulk operations on collections, such as sequential or parallel map-reduce transformations.

and see how these work out on WebLogic and Coherence. Note that WebLogic 12.1.3 and Coherence 12.1.3 are supported on Java SE 8, with the following restrictions:

  • WebLogic Server 12.1.3 does not support applications using the Java SE 8 fork/join and parallel streams features. Avoid these features when building WebLogic Server 12.1.3 applications using Java SE 8. The reason for this restriction is that the threads used by the fork/join thread pool will not be WebLogic Server managed threads. Any of the work performed in these threads may not be able to make use of WebLogic Server or Java EE facilities because the state of these threads, including security and transaction state, may not be created properly. Further, these threads will not be controlled by WebLogic Server Work Manager thread management facilities, possibly resulting in excessive thread usage.
  • When using Java SE 8, the use of permgen-memory is no longer required. The Java command line options -XX:PermSize and -XX:MaxPermSize are ignored: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0.
  • Java SE 8 has new APIs for JDBC 4.2 and is supported for WebLogic Server 12.1.3 running on Java SE 8 with a JDBC driver that supports JDBC 4.2. However, although the Oracle JDBC thin driver bundled with WebLogic Server is certified on Java SE 8, the Oracle JDBC thin driver does not support JDBC 4.2.
  • When running using SSL connections with JCE on JDK 8, it may be necessary to install the Java Cryptography Extension Unlimited Strength Jurisdiction Policy Files 8.

As an example, we will use the application presented in the post Coherence 12c Grid Archive. To include some Java SE 8 features, we rewrite the servlet as (in which we also use parallel streams, although not supported, but just out of curiosity to see what goes on in the Java runtime). Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s