+

Search Tips   |   Advanced Search

Runtime environment known restrictions

There are some known restrictions that apply when working with the Liberty profile runtime environment.

See also Developer Tools known restrictions.


List of known issues and restrictions:

  1. Minimum supported Java levels
  2. The installation directory name and path cannot include non-ASCII characters
  3. Changing the JDBC data source at run time might result in JPA failures
  4. An application that relies on a result being returned by getRealPath must be deployed as an expanded application, not as a WAR file
  5. WebSphere Application Server full profile scripts do not work with the Liberty profile
  6. Fileset restrictions
  7. Overriding classes from the Java SDK
  8. When we unpublish a shared library, it cannot be deleted until the server is stopped
  9. java:global lookups restrictions
  10. appSecurity-2.0 feature restrictions
  11. Applications not starting in an embedded Liberty server
  12. WebSphere MQ resource adapter and generic JCA support related restrictions
  13. Versioning is not possible for applications in the "dropins" directory
  14. Admin Center feature restrictions
  15. beanvalidation-1.0 feature restrictions
  16. Dynamic cache feature restrictions
  17. ejbLite-3.1 feature restrictions
  18. jsp-2.2 feature restrictions
  19. monitor-1.0 feature restriction
  20. wmqJmsClient-1.1 feature restrictions
  21. concurrent-1.0 feature restrictions


Minimum supported Java levels

The Liberty profile is supported with any compliant Java SE 6 or Java SE 7 runtime environment, subject to the minimum supported levels shown for the following specific implementations.

Java SE 6 runtime environment

For the Java SDK from IBM , the minimum supported level is 6.0 (J9 2.6) SR 1. For the JDK from Oracle, the minimum supported level is Java 6 update 26.

Java SE 7 runtime environment

For the Java SDK from IBM, the minimum supported level is IBM Runtime Environment, Java Technology Edition 7.0.4.1. For the JDK from Oracle on Windows and Linux, the minimum supported level is Java SDK/JRE/JDK 7.0.17. For the JDK from Oracle on Mac OS X, the minimum supported level is Java SDK/JRE/JDK 7.0 Update 15.


On distributed platforms, 32-bit or 64-bit Java is supported.
For Windows and Linux systems, we can use either the JDK from Oracle or the JDK from IBM. If we are developing applications on Windows or Linux, and we plan to deploy those applications to a server running on the WebSphere Application Server full profile, we should use the JDK from IBM. For HP systems and Mac OS, use the JDK from Oracle.

Note: To obtain the minimum supported Java level for IBM iSeries , install IBM J2SE 6.0 32-bit JVM (5761-JV1 option 11

or 5770-JV1 option 11) or IBM SE 6.0 64 bit (5761-JV1 option 12

or 5770-JV1 option 12), and also install Java PTF group SF99562 level 19 (or later) for IBM i 6.1 or SF99572 level 8 (or later) for IBM i 7.1.


The installation directory name and path cannot include non-ASCII characters

Recent JVMs do not fully support use of non-ASCII characters with the -jar and -javaagent commands. We should use only ASCII characters in the installation directory names and paths.


Changing the JDBC data source at run time might result in JPA failures

If the database dictionary type is not specified through properties, it is detected, and calculated by OpenJPA when the first entity manager is created and the database connection is made. This database dictionary type is used for all entity managers that are subsequently created. If the JDBC data source is changed while an application is running, the entity manager factory does not detect this change and continues to use the old dictionary for operations against the new data source. This can result in failures if the database is changed to a different vendor.

When we change a database to a different vendor, restart the application.


Modifying the dataSource, jdbcDriver, connectionManager, and JDBC vendor properties at run time might result in JPA failures

If you update the configuration of dataSource, jdbcDriver, connectionManager or any of the JDBC vendor properties lists (for example, properties.db2.jcc or properties.oracle) while the server is running, we might see J2CA8040E failures. These failures state that multiple dataSource elements cannot be associated with a single connectionManager. These failures are generated even if the configuration associates only one connectionManager with the dataSource element.

When we make updates to the configuration of any of these JDBC resources, restart the server.


An application that relies on a result being returned by getRealPath must be deployed as an expanded application, not as a WAR file

The Java EE specification states that the getRealPath() method returns a null value if the content is being made available from a web archive (WAR) file. When we deploy a WAR file to the Liberty profile, the profile does not automatically extract the archive file into a directory structure. Therefore the application might fail to start. If the application relies on a result being returned by getRealPath(), we must deploy the application as an expanded web application, not as a WAR file. For example, we can manually extract the WAR file and copy the expanded application to the dropins directory.


WebSphere Application Server full profile scripts do not work with the Liberty profile

We cannot use any of the scripts under the bin directory of the WebSphere Application Server full profile to administer the Liberty profile.


Fileset restrictions

The following restrictions apply to Filesets:


Overriding classes from the Java SDK

Some Java EE 6 technologies supported by the Liberty profile require newer versions of APIs provided by Java SE 6. JAX-WS, JAXB and the javax.annotation.Resource annotation are all examples where a Java 6 SDK contains older classes than those required by Java EE 6. When compiling the application code against these APIs using Java SDK version 6, use classes provided by the Liberty profile rather than the Java SDK. We must take one of the following actions:

When we unpublish a shared library, it cannot be deleted until the server is stopped

When we unpublish a shared library from a server, the library JAR file is not immediately released from the server. Therefore the operating system does not know that the file is no longer in use, and does not let you delete the file. When we next stop the server, the library JAR file is released and we can delete the file.


java:global lookups restrictions

Resources defined in applications with java:global lookups can only be used to access names declared by applications deployed in the current server.


appSecurity-2.0 feature restrictions

For the appSecurity-2.0 feature, the following restrictions apply:


Applications not starting in an embedded Liberty server

Ensure that the Java process that starts the embedded Liberty server was started with the -javaagent JVM argument that pointed to the libertyInstallDir/bin/tools/ws-javaagent.jar. If the -javaagent JVM argument is not used the server runtime starts, but applications fail to start with no obvious exceptions.

WebSphere MQ resource adapter and generic JCA support related restrictions

The WebSphere MQ resource adapter can be installed in the WebSphere Application Server Liberty profile version 8.5.5.2 or later, using either the wmqJmsClient1.1 feature or generic JCA support. If we are using generic JCA support, the following restrictions apply:


Versioning is not possible for applications in the "dropins" directory

For applications in the "dropins" directory, the file name and file extension are used by the application monitor to determine the type of application, and to generate the application id and application name. It is therefore not possible to specify the version number for the application using the file name or file extension. In a production environment, we are not recommended to use the "dropins" directory.

Admin Center feature restrictions

For the adminCenter-1.0 feature, the following restriction applies:


beanvalidation-1.0 feature restrictions

For the beanvalidation-1.0 feature, the following restriction applies:


Dynamic cache feature restrictions

The following dynamic cache features are not available or have limited availability:


ejbLite-3.1 feature restrictions

For the ejbLite-3.1 feature, the following restrictions apply:


jsp-2.2 feature restrictions

For the jsp-2.2 feature, the following restriction applies:


monitor-1.0 feature restriction

For the monitor-1.0 feature, the following restriction applies:


wmqJmsClient-1.1 feature restrictions

For the wmqJmsClient-1.1 feature, the following restrictions apply:


concurrent-1.0 feature restrictions

For the concurrent-1.0 feature, the following restrictions apply:

For the thread context of type securityContext, any custom information in the subject that was not added using a JAAS login module will not be propagated. For example, if the submitter's subject contains a custom Principal that was added by a TAI, the propagated subject will not contain this custom Principal.


Parent topic: Troubleshooting tips

Concepts:

  • EJB 3.0 and EJB 3.1 application bindings overview

    Reference:
    Developer Tools known restrictions