Oracle JDeveloper 12c (12.2.1.1.0) Known Issues

Introduction

This document contains a list of known issues (and, where applicable workarounds for those issues) for the following products:

  • Oracle JDeveloper 12c (12.2.1.1.0)
  • Oracle Application Development Framework (ADF) 12c (12.2.1.1.0)

For a list of new features in this release, see the What's New document on OTN.

This document describes known issues with the release. If and when new issues are discovered they will be added to this document. Please also use the JDeveloper community discussion forum and other community resources for questions and answers and to let us know what you think!

Deployment

Domain Creation May Be Slow on Linux Machines With Inadequate Entropy

Creating a domain may take a long time on Linux machines with inadequate entropy. For more information, see Release Notes for Oracle WebLogic Server .

Web Services Development

Policy Not Enforced on a Provider Service Without a WSDL

For a web service provider with no WSDL associated with it, any policy attachments on it are not enforced by the server. To prevent users from deploying a Provider service without a WSDL, JDeveloper displays a warning in the code editor when this scenario is detected. The workaround for this problem is to maintain a WSDL for the Provider service and attach it to the service using the wsdlLocation annotation parameter.

Avoid Creating Multiple Top-down Web Services in the Same Project/Package (7165531)

Unless operating on the same schema, avoid creating multiple top-down web services in the same project as each successive top-down service may overwrite the ObjectFactory class created by the previous one if generated into the same package.

Deployment Fails When Deploying a JAX-WS RI Web Service to a Glassfish Server (14629256)

If you attempt to deploy a JAX-WS RI web service EAR or WAR file created using JDeveloper to Glassfish server, the deployment will fail.

To work around this issue, perform one of the following steps:

  • If your web service requires the web.xml file to support advanced capabilities, such as securing with basic authentication, then:
    • Edit the web.xml file to delete the oracle.adf.share.glassfish.listener.ADFGlassFishAppLifeCycleListener lifecycle listener entry, which is not required.
    • Delete the sun-jaxws.xml file.
  • Delete the web.xml file (if it is not required to support advanced capabilities).

ADF Business Components

Notes for ADF Business Components Deprecated Features

ADF interMedia domains are deprecated functionality (22383701)

Due to the deprecation of JPublisher, which is used to build ADF BC Java classes, we have had to deprecate the support for interMedia domains which are build on these Java classes. Avoid using interMedia domains, as this functionality will be desupported in a future release.

ADF bc4jdomjnrc.jar removed from deliverables (22599953)

The bc4jdomgnrc.jar is being removed from ADF BC deliverables because it introduces duplicate classes that we believe are not being used and that have been known to produce unexpected warnings upon project compilation. There are better alternatives for those generic domain data types in native Java that we have adopted.

Alternatives for the removed types are:

oracle.jbo.domain.Number - Use java data types like Integer and BigDecimal
oracle.jbo.domain.Date - Use java.sql.Date and java.sql.Timestamp

oracle.jbo.domain.Char - Use java.lang.Character.

As an alternative, if these Java types are not acceptable, you may register types in a custom type using the adf-config.xml file and the jbo.TypeMapEntries property.

Notes for ADF REST Runtime

ADF REST Describe Change to Field Data Type

Fields in the ADF REST describe that map to ADF Business Component attributes of type date and date time are no longer described as type string. ADF Business Component date/date time attributes now map to describe field types: date and datetime.

ADF REST HTTP PUT is deprecated functionality

Oracle has deprecated the functionality for executing HTTP PUT methods on ADF REST resource requests. In the current release, the describe for ADF REST resources continues to display PUT actions when the backing view object has the Update operation enabled (the operation enables both PUT and PATCH methods); however, ADF REST service clients should avoid making PUT requests (replace all items of the view row) as this functionality will be desupported in a future release.

REST resource PATCH requests fail when an attribute that is the row key value is changed (20859674)

PATCH requests executed by the ADF REST framework will fail if the update occurs on the view object row key attribute value. For example: PATCH /rest/Departments/10 with {“Deptno” : “11”} where Deptno is the key attribute will fail.

ADF Desktop Integration

HTTPS Connections

As of 4.2.0.12861, the ADFdi client may not successfully connect using https to older versions of Weblogic Server. One example of an older WLS version is the one bundled with JDeveloper in JDEVADF (Rel11) labels. Applying the latest Patch Set Updates (PSUs) is required; for example PSU 20780171 has been reported as allowing https connections to succeed with WLS 10.3.6). See MOS Doc ID 2087746.1

Table-related resource expressions: when creating new tables using ADFdi 4.3.0 (or later), you may notice some new resource expressions in the table header (and related ribbon commands). These expressions evaluate properly using the ADFdi 4.3.0 client. However, they will not evaluate with ADFdi 4.2.0 clients or older. As always, we recommend using a client that matches the server. The expressions used in tables created with older clients do evaluate properly with ADFdi 4.3.0. So, there is no need to changes these expressions.

ADF Faces, Controller and Data Visualization Runtime

Removal of Need for Special Accessibility Modes (16622238)

ADF Faces now provides accessible content without the need to set special accessibility modes in ADF Faces applications. Our components are optimized for use with a screen reader by default, eliminating the need for an application screen reader mode. Our components are zoomable by default, eliminating the need for an application large fonts mode. Our components detect when OS high contrast mode is set and automatically render content that is compatible with OS high contrast, eliminating the need for an application high contrast mode.

ADF Data Visualizations Charts

dvt:stockGraph tag is now deprecated. Developers should use dvt:stockChart instead.

Deprecated Tag New Tag
dvt:stockGraph dvt:stockChart

Please see JDeveloper 12.2.1.1 New Features document for more information on the stock chart and other new data visualization features.

ADF Data Visualization Pivot Table

Leading zeros are not carried from the pivot table to exported Excel (9927815).

Performance of Large Data Sets

For row-based data sets with more than 1000 rows, pre-calculate the summary data in the database to limit the number of rows sent to the Pivot Table to reduce resources necessary for data aggregation. You can also tune your view object to set how data is retrieved from the database by using the default setting of All Rows in batches of 1. For more information, see "Consider the Appropriate Tuning Setting for Every View Object" in Developing Fusion Web Applications with Oracle Application Development Framework guide. Finally, specify the number of columns and rows in a data fetch block by setting the columnFetchSize and rowFetchSize attributes of the dvt:pivotTable component.

ADF Data Visualization Design Time

The Create dialog for data-bound Area, Bar, and Line charts does not update correctly when metric attributes are mapped to the X Axis. The workaround is to map metric attributes to the Y Axis, and then edit the page source to swap the EL strings for the 'groups' and 'series' properties for each generated chartDataItem tag. (23513579)

JDeveloper

JDK may crash on startup when running JDeveloper with OEL7 (20119075)

If you start JDeveloper on a machine running OEL7 which uses the gnome-classic window manager you may find that JDK crashes. The workaround is to use JDK8u60 or later.

Coherence cluster error (21812587)

Integrated WLS SERVER STARTUP fails

OPatch support in CFU not available on MacOSX (22999741)

OPatch support in check for updates has been disabled on MacOSX due to a critical bug found in OPatch libraries that will not make it in time for this release.

Notes for Databases and the MDS Schema

The Oracle Metadata Services (MDS) Repository contains metadata for certain types of deployed applications. This includes custom Java EE applications developed by your organization and some Oracle Fusion Middleware component applications, such as Oracle B2B.

The MDS Repository supports Oracle databases, as well as non-Oracle databases, including SQL Server and DB2. Refer to the certification document for 12c (12.2.1) on the Oracle Fusion Middleware Supported System Configurations page for the latest information on certified databases.

Notes for Using an Oracle Database for the MDS Schema

On Oracle databases, the MDS database user created by Repository Creation Utility (RCU) requires EXECUTE privilege on DBMS_OUTPUT and DBMS_LOB. When you create a metadata repository using RCU, if PUBLIC does not have EXECUTE privilege on DBMS_OUTPUT and DBMS_LOB, the RCU user must have the privilege to grant EXECUTE privilege on DBMS_OUTPUT and DBMS_LOB to the MDS user.

To ensure that you have the correct privileges, login to RCU as a SYSDBA or as a DBA user who has EXECUTE privilege with GRANT OPTION on DBMS_OUTPUT and DBMS_LOB.

Notes for Using a Microsoft SQL Server Database for the MDS Schema

Note the following about using SQL Server as the database for MDS:

  • To create a metadata repository in SQL Server, set READ_COMMITTED_SNAPSHOT to ON for the hosting database. This enables the needed row versioning support. This feature can be enabled using the SQL command ALTER DATABASE, as in the following example:
  • ALTER DATABASE mds SET READ_COMMITTED_SNAPSHOT ON

  • You should use case-sensitive collation to support the case-sensitive semantics in the metadata repository. For example, if Latin1_General is used, select theSQL_Latin1_General_CP1_CS_AS collation using the following SQL command:
  • ALTER DATABASE mds COLLATE SQL_Latin1_General_CP1_CS_AS

  • There are some minor differences between an Oracle schema and a SQL Server schema. The length of the certain text fields are shorter for a SQL Server schema. For example, the full path name of the metadata in SQL Server is limited to 400 characters.

Notes for Using an IBM DB2 Database for the MDS Schema

Note the following about using DB2 as the database for MDS:

  • DB2 9.7 or later must be used for MDS repository to work properly.
  • Make sure that CUR_COMMIT is set to "ON", which is the default value for a newly installed DB2 9.7 database. This setting can be verified using following DB2 command:

    db2 connect to your_database user admin_user
    
    db2 "get db cfg" | grep -I commit
    Curently Committed   (CUR_COMMIT) = ON
    

    Set the lock timeout parameter of the database to a low value. Unlike Oracle databases, with DB2, if one user is updating a row, under some conditions, another user may be blocked when updating a different row and must wait until the transaction is committed or rolled back by the first user. To facilitate better concurrency, do not specify -1, which sets the lock timeout to infinity.

    To query the lock timeout value for your DB2 database, use the following command:

    db2 'get database config for database_alias' | grep -i timeout

    If the value is too high, change it. For example, to change the lock timeout value to 180 seconds, use the following command:

    db2 'update database config for database_alias using locktimeout 180'

    Choose a proper value for the locktimeout parameter. If a large value is used, it will affect system throughput, since the transaction has to wait a very long time before giving up. If the value is set too small, users will see many timeout exceptions if the database is processing many long running transactions.

  • Set the DB2 registry variables DB2_EVALUNCOMMITTED, DB2_SKIPINSERTED, and DB2_SJIPDELETED to OFF to avoid deadlock and locking issues. By default, they are set to OFF. To view the current registry variables setting, use the db2set -all command.
  • If they are not set to OFF, use the following commands:

    db2set DB2_EVALUNCOMMITTED=OFF
    
    db2set DB2_SKIPINSERTED=OFF
    db2set DB2_SKIPDELETED=OFF
    

    Restart the database server using the using db2stop and db2start commands.

  • DB2 may escalate a row lock to a table lock due to memory stress or lock usage. As the result, a user's transaction may be rolled back as a victim of deadlock or lock timeout. To reduce lock escalation, you can increase the size of the MAXLOCKS and LOCKLIST configuration parameters. Use the following commands:
  • db2 'update database config for database_alias using locklist value'
    
    db2 'update database config for database_alias using maxlocks value'
    

    For 11g Release 1 (11.1.1.8.0) and later, the MAXLOCKS value should be set to 20, and the LOCKLIST value should be set to 70000.

  • The isolation level must be set to Currently Committed. To verify the setting, use the following command:
  • db2 'get database config for database_alias' | grep -i commit

    To set the isolation level to Currently Committed, use the following command:

    db2 'update database config for database_alias using CUR_COMMIT ON'

  • If the database transaction log is often full, increase the database configuration parameter to allow for a larger log file. A larger log file requires more space, but it reduces the need for applications to retry the operation. You should set the log file size to at least 10000 and the number of primary log files to at least 50. Use the following commands:
  • 
    
    db2 'update database config for database_alias using LOGFILSIZ 10000'
    db2 'update database config for database_aliasusing LOGPRIMARY 50'
    

    If an MDS DB2 data source is created under an IBM WebSphere application server and the IBM DB2 JCC driver is chosen for the data source, the progressiveStreaming=2 property must be added to the property list of the data source. In effect, progressive streaming will be disabled. Without this property setting, MDS may run into issues in accessing document contents saved in a large object (LOB) column in the MDS repository.

MDS Remote Notifications

The MDS database repository has the capability of using Coherence to send cluster-wide notifications when a document in that repository is changed by a cluster member. When this feature is enabled, all the cluster members are notified of changes to documents when the changes are committed instead of waiting for the repository poll to be run on each node (either because the polling interval has expired or a change was made to the repository on that node). When a cluster member receives notification of a change to a document, it invalidates its current local version of that document and uses the updated document instead.

From release 12c, in order to enable this feature when using MDS in a WLS domain, set the “remote-notifications-enabled” property to “true” in the adf-config.xml file:

<persistence-config>

  ...
 <external-change-detection enabled="true" polling-interval-secs="5" remote-notifications-enabled="true"/>
</persistence-config>

For this feature to work you must ensure that the JNDI name that each node is using to refer to the repository is the same on every node, and polling must be enabled i.e. external-change-detection=”true” (it is enabled by default, but it must not be disabled).

If Remote Notifications is enabled for the application, individual DB metadata stores may opt-out by specifying the property “remote-notifications-enabled” as “false”:

    <metadata-store-usage id="db2">

       <metadata-store class-name="oracle.mds.persistence.stores.db.DBMetadataStore">
         ...
        <property name ="remote-notifications-enabled" value="false"/>
       </metadata-store>
    </metadata-store-usage>