Rules for migrating applications to Liberty
The WebSphere Application Server traditional to Liberty migration rules identify application issues that require changing when you move an application from Websphere Application Server traditional to Liberty, Liberty Core, Open Liberty, or Liberty for Java on IBM Cloud or Liberty on third-party cloud platforms.
WebSphere traditional to Liberty
| Rule Name | Rule Description | Automated Fix |
|---|---|---|
| Avoid using the deprecated WSSecurityHelper revokeSSOCookies and getLTPACookieFromSSOToken methods | This rule flags deprecated methods from the WSSecurityHelper class, specifically revokeSSOCookies and getLTPACookieFromSSOToken, which are not available on Liberty. The functionality of revokeSSOCookies is replaced by the logout() method from the Java Servlet-3.0 specification, while getLTPACookieFromSSOToken is replaced by WebSecurityHelper.getSSOCookieFromSSOToken(). |
was-to-liberty.yml org.openrewrite.java.liberty.WebSphereUnavailableSSOMethods |
| CommonJ SDO API is unavailable on Liberty | The CommonJ SDO API is not provided on WebSphere Liberty or Open Liberty. | No |
| Do not use WSPrincipal.getCredential() | This rule flags the deprecated method com.ibm.websphere.security.auth.WSPrincipal.getCredential(). This method is deprecated in WebSphere Application Server Version 5.1 |
was-to-liberty.yml org.openrewrite.java.liberty.ReplaceWSPrincipalGetCredential |
| Do not use the same XmlType name across multiple classes | When migrating from WebSphere traditional to Liberty, duplicate @XmlType names in JAX-WS classes can cause runtime errors. |
No |
| Getting the server name on Liberty | To get the server name on Liberty, you must first configure a <jndiEntry> with a value of ${wlp.server.name} in the server configuration. Then you can use the javax.naming.InitialContext lookup(String) method passing in the name of the <jndiEntry> you configured to get the server name. | was-to-liberty.yml org.openrewrite.java.liberty.ServerName |
| JAR files in subfolders are not loaded | In Liberty, JAR files in subfolders of the WEB-INF/lib folder are not automatically loaded. To avoid errors, you must move the JAR file to the WEB-INF/lib folder. | No |
| Namespace values in ra.xml must be consistent with the descriptor version | The Liberty server cannot load connector modules where the ra.xml deployment descriptor has a namespace value that does not match the defined version. | was-to-liberty.yml org.openrewrite.xml.liberty.ConnectorDDNamespaceRule |
| Review differences in WebSphere MBeans | Check your application for the use of WebSphere MBeans. The functionality and the object names of MBeans provided on Liberty are different than the MBeans provided on WebSphere traditional. | No |
| SOAP over Java Message Service (JMS) is unavailable | Liberty does not support SOAP over Java Message Service (JMS) | No |
| Some JSF packages are unavailable in Liberty | Some JSF implementation packages are unavailable in Liberty. Applications must be refactored to only use API packages or bundle the implementation classes. | No |
| Some WSSecurityHelper methods are unavailable | Some WSSecurityHelper methods are not available on Liberty. | No |
| Some WebSphere Exception APIs and SPIs are unavailable | Some WebSphere Exception APIs and SPIs are not available on Liberty. | No |
| Some WebSphere Extension Helper SPIs are unavailable | Some WebSphere Extension Helper SPIs are not available on Liberty. | No |
| Some WebSphere Security APIs and SPIs are unavailable | Some WebSphere Security APIs and SPIs are not available on Liberty. | No |
| Some WebSphere web services APIs and SPIs for JAX-WS are unavailable | Some WebSphere web services APIs and SPIs for JAX-WS are not available on Liberty. | No |
| Some WebSphere web services APIs and SPIs for SOAP are unavailable | Some WebSphere web services APIs and SPIs for SOAP are not available on Liberty. | No |
| Some WebSphere web services APIs and SPIs for WS-Addressing are unavailable | Some WebSphere web services APIs and SPIs for WS-Addressing are not available on Liberty. | No |
| Some WebSphere web services APIs and SPIs for WS-Security are unavailable | Some WebSphere web services APIs and SPIs for WS-Security are not available on Liberty. | No |
| Some WebSphere z/OS Optimized Local Adapters APIs are unavailable | Some com.ibm.websphere.ola APIs and EJB implementations are not available on Liberty. | No |
| The Activity Session service is unavailable | The Activity Session service is unavailable on Liberty. | No |
| The Apache Axis2 API is unavailable | The org.apache.axis2 APIs are unavailable on Liberty. | No |
| The Extension Registry APIs are unavailable | The Extension Registry APIs are not available on Liberty. | No |
| The Integrated Solutions Console (ISC) APIs are unavailable | The Integrated Solutions Console (ISC) APIs are not available on Liberty. | No |
| The Page List Servlet is unavailable | The WebSphere Servlet API was superseded by standard Servlet 3.0 functionality. This rule flags usage of the classes ClientList, MLNotFoundException, PageListServlet, and PageNotFoundException from com.ibm.servlet as they are not supported on Liberty. |
No |
| The Tivoli Performance Viewer SPIs are unavailable | The Tivoli Performance Viewer SPIs are not available on Liberty. | No |
| The Universal Description, Discovery and Integration (UDDI) APIs are unavailable | The Universal Description, Discovery and Integration (UDDI) APIs are not available on Liberty. | No |
| The WebSphere Application Client APIs are unavailable | The WebSphere Application Client APIs are not available on Liberty. | No |
| The WebSphere Application Profiling APIs are unavailable | The WebSphere Application Client APIs are not available on Liberty. | No |
| The WebSphere Asynchronous Beans API was superseded by a newer implementation | The com.ibm.websphere.asynchbeans API was replaced by JSR 236, Concurrency Utilities for Java EE. | No |
| The WebSphere Batch API and SPI are unavailable | The WebSphere Batch programming interfaces are not available on Liberty. | No |
| The WebSphere Common Exception APIs are unavailable | The WebSphere Common Exception APIs are unavailable on Liberty. | No |
| The WebSphere Connector Architecture APIs are unavailable | The WebSphere Connector Architecture APIs are not available on Liberty. | No |
| The WebSphere EJB Query API is unavailable | The WebSphere EJB query service is used for entity beans and is not available on Liberty. | No |
| The WebSphere Enterprise JavaBeans APIs and SPIs are unavailable | The WebSphere Enterprise JavaBeans APIs and SPIs are not available on Liberty. | No |
| The WebSphere Management APIs and SPIs are unavailable | The WebSphere Management APIs and SPIs are not available on Liberty. | No |
| The WebSphere ORB Extensions APIs are unavailable | The WebSphere ORB Extensions APIs are not available on Liberty. | No |
| The WebSphere Performance Monitoring Infrastructure (PMI) APIs and SPIs are unavailable | The WebSphere Performance Monitoring Infrastructure (PMI) APIs and SPIs are not available on Liberty. | No |
| The WebSphere Portal APIs are unavailable | The WebSphere Portal APIs are not available on Liberty. | No |
| The WebSphere Remote Request Dispatcher (RRD) SPIs are unavailable | The WebSphere Remote Request Dispatcher (RRD) SPIs are not available on Liberty. | No |
| The WebSphere Resource Adapter APIs and SPIs are unavailable | The WebSphere Resource Adapter APIs and SPIs are not available on Liberty. | No |
| The WebSphere Runtime APIs and SPIs are unavailable | The com.ibm.websphere.runtime APIs and SPIs are not available on Liberty. | No |
| The WebSphere SMF recording APIs are unavailable | The WebSphere SMF recording APIs are not available on Liberty. | No |
| The WebSphere Scheduler API was superseded by a newer implementation | The WebSphere Scheduler API was superseded by the Enterprise JavaBeans Persistent Timers 3.2 feature. | No |
| The WebSphere Service Data Objects (SDO) APIs are unavailable | The com.ibm.websphere.sdo API is not available on Liberty. | No |
| The WebSphere Service Integration Bus (SIB) APIs are unavailable | The WebSphere Service Integration Bus (SIB) APIs are not available on Liberty. | No |
| The WebSphere Servlet API was superseded by a newer implementation | The WebSphere Servlet API was superseded by standard Servlet 3.0 functionality. | No |
| The WebSphere ServletChain API was superseded by a newer implementation | The WebSphere Servlet API is replaced by Servlet 3.0 functionality. This rule flags any code using com.ibm.websphere.servlet.filter.ServletChain, which isn't available on Liberty. Instead, Use javax.servlet.Filter and javax.servlet.FilterChain |
No |
| The WebSphere Startup Beans Service API was superseded by a newer implementation | The WebSphere startup bean service is not available on Liberty. It has been superseded by the startup beans in EJB 3.1. | No |
| The WebSphere Studio Application Developer Integration Edition APIs are unavailable | The WebSphere Studio Application Developer Integration Edition APIs are not available on Liberty. | No |
| The WebSphere Work Area APIs and SPIs are unavailable | The com.ibm.websphere.workarea API and the com.ibm.wsspi.workarea SPI are not available on Liberty. | No |
| The WebSphere Workload Manager APIs are unavailable | The WebSphere Workload Manager APIs are not available on Liberty. | No |
| The WebSphere i18n APIs and SPIs are unavailable | The com.ibm.websphere.i18n.context API and the com.ibm.wsspi.i18n.context.util SPI are not available on Liberty. | No |
| The WebSphere logging and RAS APIs and SPIs are unavailable | The WebSphere logging and RAS APIs and SPIs are not available on Liberty. | No |
| The WebSphere web services APIs and SPIs for WS-RemoteManagement (WS-RM) are unavailable | The specified WebSphere web services APIs and SPIs for WS-RemoteManagement are not supported on Liberty, requiring modifications to the application for compatibility. This rule is flagged once for each Java class. | No |
| The WebSphere web services APIs and SPIs for WS-ResourceFramework (WS-RF) are unavailable | The WebSphere web services API and SPI for WS-ResourceFramework com.ibm.websphere.wsrf are not supported on Liberty, necessitating application modifications for compatibility. This rule is flagged once for each Java class. |
No |
| The persistence.xml file must be in a specification-recognized location | The persistence.xml file must be in a location recognized by the Java Persistence API (JPA) specification. | was-to-liberty.yml org.openrewrite.xml.liberty.PersistenceXmlLocationRule |
| The use of the WebSphere XPath, XQuery, and XSLT API requires configuration | To use the WebSphere XPath, XQuery, and XSLT API, applications must be configured to use the XML thin client JAR file provided by the WebSphere Application Server Feature Pack for XML. | No |
| Use the default InitialContext JNDI properties | Use the default values for the java.naming.factory.initial and java.naming.provider.url JNDI properties when you migrate to Liberty. | was-to-liberty.yml org.openrewrite.java.liberty.RemoveWas2LibertyNonPortableJndiLookup |
| Web Services Business Activity (WS-BA) is unavailable | Web Services Business Activity (WS-BA) is unavailable on Liberty. | No |
| Web Services Policy Sets are unavailable in Liberty | In Liberty, Policy Sets are no longer used. To avoid errors, migrate your JAX-WS applications to use Liberty WS-Policy and WS-Security. | No |
| Access to JSF third-party packages requires configuration | Most JSF implementation packages are unavailable in Liberty, some of these packages were made available to the third-party classloader. | No |
| Ported locally transacted JMS sessions do not work in Liberty | In WebSphere Application Server traditional, you can develop applications to take advantage of locally transacted JMS sessions. When you port these applications to Liberty, these applications behave differently or do not work at all. | No |
| Review differences in the WebSphere z/OS Optimized Local Adapters API | Liberty supports some com.ibm.websphere.ola APIs, but there are differences from the support provided on WebSphere traditional. | No |
| Review use of the dynamic cache service | Check your application for use of the dynamic cache service. Liberty implements a limited version of dynamic cache. | No |
| Some third-party APIs are unavailable on Liberty | Some third-party APIs are not available on Liberty and must be added to a location that is visible to the application classloader. | No |
| The use of system provided Eclipse Equinox APIs requires configuration | Liberty applications require configuration to include system-provided third-party APIs, whereas these are automatically available in WebSphere Application Server traditional. These APIs consist of packages from Apache Wink, Apache OpenJPA, Apache Aries, and Eclipse Equinox. Each referenced API results in a single flag for the project. | No |
| com.tivoli third-party APIs are unavailable on Liberty | This rule flags the use of unavailable third-party APIs to help evaluate migration complexity. If your application needs these APIs, ensure the JAR files are placed in a location accessible to the application classloader, like the WEB-INF/lib directory. If you can't include the JAR files due to licensing or other issues, remove the dependency on those APIs from your application. | No |
| org.apache third-party APIs are unavailable on Liberty | This rule flags the use of unavailable third-party APIs to help evaluate migration complexity. If these APIs are needed, their JAR files should be placed in a location accessible to the application classloader, such as the WEB-INF/lib directory. If the JAR files cannot be included, the application should be modified to remove the dependency on those APIs. | No |
| org.apache.aries third-party APIs are unavailable on Liberty | This rule flags the use of unavailable third-party APIs to assess migration complexity. If these APIs are needed, place their JAR files in a location accessible to the application classloader, like the WEB-INF/lib directory. If you can't include the JAR files, modify the application to eliminate the dependency on those APIs. | No |
| org.codehaus.jackson third-party APIs are unavailable on Liberty | This rule flags unavailable third-party APIs to help evaluate migration complexity. If needed, place the corresponding JAR files in a location accessible to the application classloader, like the WEB-INF/lib directory. If you cannot include the JAR files, remove the dependency on those APIs from your application. | No |
| Application contains WSDL2Java generated classes | Application Contains WSDL2Java Generated Classes that are not supported in Liberty. | No |
| Behavior change on lookups for Enterprise JavaBeans in previous versions of Liberty | EJB JNDI lookup names must use portable JNDI namespaces when migrating to Liberty versions prior to 20.0.0.12. See the detailed help for the list of accepted namespaces. | No |
| Behavior difference for web service host name validation | On Liberty, the host name is validated with the certificate by default, whereas on WebSphere traditional it is not. The most secure solution is to create a server certificate with the correct host name. Alternatively, you can customize the validation behavior by setting the http.conduit.tlsClientParameters.disableCNCheck property in the ibm-ws-bnd.xml file. | No |
| Component Authentication is not supported in Liberty | This rule identifies connection factories or data sources using both container-managed and component-managed authentication aliases, which is not supported in Liberty. Instead, you should use either container-managed or application-managed authentication with the appropriate resource references. To enable container-managed authentication for direct lookups, set the enableContainerAuthForDirectLookups property to true and configure the authData alias accordingly. |
No |
| Remove JAX-WS router modules in Liberty | The HTTPRouter modules do not need to be specified during migration to Liberty, as they are included by default. This rule flags the existance of HTTPRouter modules in WebSphere traditional appplications having JAX-WS webservices. | No |
| Namespace values in application.xml must be consistent with the descriptor version | The Liberty server cannot load application modules where the application.xml deployment descriptor has a namespace value that does not match the defined version. | was-to-liberty.yml org.openrewrite.xml.liberty.AppDDNamespaceRule |
| Namespace values in ejb-jar.xml must be consistent with the descriptor version | The Liberty server cannot load EJB modules where the ejb-jar.xml deployment descriptor has a namespace value that does not match the defined version. | was-to-liberty.yml org.openrewrite.xml.liberty.EJBDDNamespaceRule |
| Namespace values in web.xml must be consistent with the descriptor version | The Liberty server cannot load web modules where the web.xml deployment descriptor has a namespace value that does not match the defined version. | was-to-liberty.yml org.openrewrite.xml.liberty.WebDDNamespaceRule |
| Precompiled JSP classes will be ignored | Precompiled JSP classes that were generated for WebSphere Application Server traditional will be ignored when migrating to Liberty. The precompiled JSP class files are not compatible with the Liberty server. | No |
| Review use of the javax.activation.DataHandler object | Check your application for use of the javax.activation.DataHandler object. On Liberty, each DataHandler object can be written to an output stream only once. After you call the DataHandler.writeTo(OutputStream) method, you cannot pass the DataHandler object to another method, return it, or store it for later use. | No |
| The InitialContext lookup method can return primitive types | On Liberty, the type of object returned by the javax.naming.InitialContext lookup method is determined by interpreting the value stored in the jndiEntry element as a Java literal string or primitive data type. On traditional WebSphere, primitive data types are returned as a string. | No |
| The use of java.sql.Driver and java.sql.DriverManager interfaces might require configuration | If you use java.sql.Driver and java.sql.DriverManager interfaces to connect to a database, you might need to configure a shared library for the database driver in the server.xml file, and reference it in the <application> element. | No |
| User-defined EJB binding locations were previously ignored in Liberty | In Liberty prior to version 20.0.0.12, Enterprise JavaBeans (EJB) beans were bound only to the java:[scope] namespace. User-defined EJB binding attributes that allow you to specify the JNDI name in WebSphere Application Server traditional were ignored in Liberty. | No |
Java Technology Support for Liberty
| Rule Name | Rule Description | Automated Fix |
|---|---|---|
| Entity Enterprise JavaBeans (EJB) are unavailable | Entity Enterprise JavaBeans (EJB) are not supported on Liberty or Liberty Core. | No |
| Java API for XML Registries (JAXR) is unavailable | The Java API for XML Registries (JAXR) is not supported on Liberty or Liberty Core. | No |
| Java EE Application Deployment API is unavailable | The Java EE Application Deployment API is not supported on Liberty or Liberty Core. | No |
| Java Portlet is unsupported | The Java Portlet API and its deployment descriptors are not supported on Liberty for production. | No |
| Migrate JAX-RPC to JAX-WS | This rule flags the use of any JAX-RPC specific packages and configuration | No |
| Web Services Notification (WS-Notification) is unavailable | Web Services Notification (WS-Notification) is not supported on Liberty or Liberty Core. | No |
| JavaServer Faces (JSF) 1.1/1.2 compatibility | Liberty supports JavaServer Faces (JSF) 2.0. JSF 2.0 is backwards compatible with JSF 1.2 and 1.1. However, older JSF applications might still encounter compatibility issues when running on Liberty. | No |
| Stub classes must be included when using remote Enterprise JavaBeans (EJB) 2.x | A client must include stub classes when you start a remote EJB bean that is hosted on WebSphere Application Server. If the target EJB bean is running in a separate application and uses the EJB 2.x remote programming model with the EJBHome and EJBObject interfaces, then the client must also include stub classes on its classpath.Stub classes are not generated when you deploy to Liberty. | No |
| Transaction propagation is not supported for Enterprise JavaBeans (EJB) remote interfaces | When using EJB remote interfaces, Liberty does not support outbound or inbound transaction propagation. By default, EJB beans are container-managed and have a "Required" transaction attribute, which means they use transactions. | No |
| EXtensible Stylesheet Language (XSLT) 2.x is unavailable | EXtensible Stylesheet Language (XSLT) 1.0 is supported in all WebSphere Application Server editions. If your application requires an XSLT 2.0 processor, implementation classes must be added for your application. | No |
| Spring applications might fail to run from a non-expanded WAR file | This rule flags Java code referencing the org.springframework package, as Spring applications may not function properly on Liberty unless the WAR file is expanded. To deploy the application correctly, expand both the WAR and EAR files into directories with the same names. In Liberty V8.5.5.8 and later, set the autoExpand attribute in the application manager to true for automatic expansion of application archives. |
No |
Java Technology Support for Liberty Core
| Rule Name | Rule Description | Automated Fix |
|---|---|---|
| Asynchronous method invocations for Enterprise JavaBeans (EJB) are unavailable | EJB Asynchronous methods are supported in all WebSphere Application Server editions except Liberty Core. | No |
| Enterprise JavaBeans (EJB) 1.x/2.x is unavailable | Enterprise JavaBeans (EJB) 1.x/2.x are supported in all WebSphere Application Server editions except Liberty Core. If your application is deployed to Liberty, you must enable the ejb-3.2 feature which includes the ejbHome-3.2 feature. | No |
| J2EE Management API is unavailable | The J2EE Management API is supported in all WebSphere Application Server editions except Liberty Core. | No |
| Java API for WSDL (JWSDL) is unavailable | The Java API for WSDL (JWSDL) is supported by the JAX-WS feature available in all WebSphere Application Server editions except Liberty Core. | No |
| Java API for XML-Based Web Services (JAX-WS) is unavailable | The Java API for XML-Based Web Services (JAX-WS) is supported in all WebSphere Application Server editions except Liberty Core. | No |
| Java Authentication Service Provider Interface for Containers (JASPIC) API is unavailable | The Java Authentication Service Provider Interface for Containers (JASPIC) API is supported in all WebSphere Application Server editions except Liberty Core. | No |
| Java Authorization Contract for Containers (JACC) API is unavailable | The Java Authorization Contract for Containers (JACC) API is supported in all WebSphere Application Server editions except Liberty Core. | No |
| Java Connector Architecture (JCA) API is unavailable | The Java Connector Architecture (JCA) API is supported in all WebSphere Application Server editions except Liberty Core. | No |
| Java EE Application Client is unavailable | The Java EE Application Client modules are supported in all WebSphere Application Server editions except Liberty Core. | No |
| Java Message Service (JMS) is unavailable | The Java Message Service (JMS) is supported in all WebSphere Application Server editions except Liberty Core. | No |
| Message-Driven Beans (MDB) are unavailable | Message-Driven Beans (MDB) are supported in all WebSphere Application Server editions except Liberty Core. | No |
| Remote interfaces for Enterprise JavaBeans (EJB) are unavailable | Remote EJB interfaces are supported in all WebSphere Application Server editions except Liberty Core. | No |
| Session Initiation Protocol (SIP) Servlet API is unavailable | Session Initiation Protocol (SIP) Servlet API and its deployment descriptors are supported in all WebSphere Application Server editions except Liberty Core. | No |
| Timer service for Enterprise JavaBeans (EJB) is unavailable | The EJB Timer Service is supported in all WebSphere Application Server editions except Liberty Core. | No |
| Web Services Metadata for the Java Platform is unavailable | Web Services Metadata for the Java Platform specification is supported by the JAX-WS feature available in all WebSphere Application Server editions except Liberty Core. | No |
WebSphere traditional to Liberty Java EE 6
| Rule Name | Rule Description | Automated Fix |
|---|---|---|
| The use of system provided Apache OpenJPA APIs requires configuration | To use system-provided third-party APIs in Liberty applications, you need to configure their inclusion, unlike in WebSphere Application Server traditional, where they are pre-configured. These APIs, such as those from Apache Wink, Apache OpenJPA, Apache Aries, and Eclipse Equinox, will flag the project for each reference. | No |
| The use of system provided Apache Wink APIs requires configuration | Liberty applications require configuration to include system-provided third-party APIs, unlike WebSphere Application Server traditional, where they are automatically available. These APIs, such as those from Apache Wink, Apache OpenJPA, Apache Aries, and Eclipse Equinox, will flag the project for each reference. | No |
WebSphere traditional to Managed Liberty
| Rule Name | Rule Description | Automated Fix |
|---|---|---|
| Detect CommonJ Timer and Work Manager APIs | The CommonJ Timer and Work Manager APIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heritageAPIs-1.1 feature. The CommonJ Timer and Work Manager APIs are superseded by JSR 236, Concurrency Utilities for Java EE, concurrent-1.0, but now WebSphere Liberty provides support for both APIs. Concurrency Utilities are recommended for new applications, but the CommonJ APIs can be used to accelerate the modernization of existing applications. | No |
| Detect the WebSphere Common Exception JDBC APIs | If you use exceptions in the com.ibm.websphere.ce.cm package, make sure you are using WebSphere Liberty 22.0.0.1 or later. | No |
| Detect usage of the Quartz scheduler | This rule flags the presence of the Quartz Job Scheduler in the application. | No |
| WebSphere DataStoreHelper APIs in Managed Liberty | This rule flags the usage of DataStoreHelpr APIs and SPIs.These APIs and SPIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heratigeAPIs-1.1 and jdbc-4.x features. They are not available on Managed Liberty, Open Liberty or WebSphere Liberty Core. |
No |
| WebSphere JDBC APIs in Managed Liberty | This rule flags the usage of JDBC APIs and SPIs.These APIs and SPIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heratigeAPIs-1.1 and jdbc-4.x features. They are not available on Managed Liberty, Open Liberty or WebSphere Liberty Core |
No |
WebSphere traditional to Open Liberty
| Rule Name | Rule Description | Automated Fix |
|---|---|---|
| Detect usage of the Quartz scheduler | This rule flags the presence of the Quartz Job Scheduler in the application. | No |
| Detect CommonJ Timer and Work Manager APIs | The CommonJ Timer and Work Manager APIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heritageAPIs-1.1 feature. The CommonJ Timer and Work Manager APIs are superseded by JSR 236, Concurrency Utilities for Java EE, concurrent-1.0, but now WebSphere Liberty provides support for both APIs. Concurrency Utilities are recommended for new applications, but the CommonJ APIs can be used to accelerate the modernization of existing applications. | No |
| Detect the WebSphere Common Exception JDBC APIs | If you use exceptions in the com.ibm.websphere.ce.cm package, make sure you are using WebSphere Liberty 22.0.0.1 or later. | No |
| WebSphere DataStoreHelper APIs in Open Liberty | This rule flags the usage of DataStoreHelpr APIs and SPIs.These APIs and SPIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heratigeAPIs-1.1 and jdbc-4.x features. They are not available on Managed Liberty, Open Liberty or WebSphere Liberty Core. |
No |
| WebSphere JDBC APIs in Open Liberty | This rule flags the usage of JDBC APIs and SPIs.These APIs and SPIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heratigeAPIs-1.1 and jdbc-4.x features. They are not available on Managed Liberty, Open Liberty or WebSphere Liberty Core |
No |
WebSphere traditional to WebSphere Liberty Base, ND, and z/OS
| Rule Name | Rule Description | Automated Fix |
|---|---|---|
| Detect CommonJ Timer and Work Manager APIs | The CommonJ Timer and Work Manager APIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heritageAPIs-1.1 feature. The CommonJ Timer and Work Manager APIs are superseded by JSR 236, Concurrency Utilities for Java EE, concurrent-1.0, but now WebSphere Liberty provides support for both APIs. Concurrency Utilities are recommended for new applications, but the CommonJ APIs can be used to accelerate the modernization of existing applications. | No |
| Detect the WebSphere Common Exception JDBC APIs | If you use exceptions in the com.ibm.websphere.ce.cm package, make sure you are using WebSphere Liberty 22.0.0.1 or later. | No |
| Detect usage of the Quartz scheduler | This rule flags the presence of the Quartz Job Scheduler in the application. | No |
| WebSphere DataStoreHelper APIs in WebSphere Liberty | This rule flags the usage of DataStoreHelpr APIs and SPIs.These APIs and SPIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heratigeAPIs-1.1 and jdbc-4.x features. They are not available on Managed Liberty, Open Liberty or WebSphere Liberty Core. |
No |
| WebSphere JDBC APIs in WebSphere Liberty | This rule flags the usage of JDBC APIs and SPIs.These APIs and SPIs are provided on WebSphere Liberty version 22.0.0.1 and later through the heratigeAPIs-1.1 and jdbc-4.x features. They are not available on Managed Liberty, Open Liberty or WebSphere Liberty Core |
No |