Release Notes Addendum

Oracle JDeveloper 10g

Release Notes Addendum

Version 10.1.3

last updated: 22-MAR-06

Introduction

This is an addendum to the release notes provided within the product. As new issues arise, they will be added to this addendum.

Difference in ADF Versions Between Application Server Install and Companion CD

There are two versions (builds) of ADF distributed in the Application Server 10.1.3 CD pack. The JDeveloper zip (jdevstudio1013.zip - the same zip also available on OTN) on the Application Server Companion CD contains a build of ADF (3673) that is slightly newer than the ADF runtime version that ships pre-installed with the Application Server distribution (3653). The following runtime bugs have been fixed in build 3673, but are present in 3653. If your applications are likely to encounter these issues, you may wish to use the ADF Installer to update the ADF runtime libraries installed in the Oracle Application Server from build 3653 to build 3673. See the JDeveloper documentation for more information about the ADF Installer.

ADFBC/FACES:Rendered Date is One Day Behind the Date in Table for JUN/SEP (4960813)

ADF Faces components using a SimpleDateFormat may be subject to this bug that causes some dates to be displayed one day off from the actual value. This is due to a calculation error in determining the user's timezone without taking into account daylight savings time. The workaround for this issue is

  1. If your <selectInputDate>is not going to show the time, then you may fix the timezone on this component via the timeZone tag on the convert: eg: <af:convertDateTime timeZone="America/Los_Angeles"/>
  2. The above is per component. If you want to fix the timezone for your entire app, then use the following tag in web-inf/adf-faces-config.xml:
    <time-zone>America/Los_Angeles</time-zone>

ITS: java.net.BindException: Address Already in Use When Many Clients Connect (4962761)

If many clients are connected to ITS and have frequent activity causing requests to the web application, some clients may fail with the error:
@ "java.net.BindException: Address Already in use".

This problem occurs due to the way certain OS's treat sockets. Whenever we make a request to the web application, a socket is opened to the web application, and then closed when the request is finished. Although the socket is closed, the OS does not allow the re-use of that socket for a certain length of time (e.g. 2-4 minutes). When many clients are connected and making many requests to the web application, the number of available sockets may reach 0.

When the problem occurs, it may only affect certain clients, and the problem may appear intermittent. In some cases, retrying input may work; however, the application may be in an unstable state for an individual user.

General IDE Issues

Path Whitespace Issues on MacIntosh

If you install JDeveloper 10.1.3 on Mac OS X under a directory with a space and encounter an issue starting the IDE, a specific workaround is to make this change to jdev/bin/jdev.common: At line 165, change: PRODUCT_NAME=`basename $0` to PRODUCT_NAME=`basename "$0"`.

In addition: Bug 4966432: MAC: EMBEDDED OC4J CANNOT START IF JDEV INSTALL HAS SPACE IN PATH

The primary workaround for any path whitespace issue is to reinstall to a location without path whitespace.

Check for Updates Privacy Information

When you use the Check for Updates feature, JDeveloper issues an HTTP style request to the Oracle server where the update center is located, in a very similar way to browsing a URL from your web browser. The automatic Check for Updates feature is enabled by default, so JDeveloper will issue an HTTP request on initial startup. In the interest of full disclosure, this document describes what information is sent to the server as part of that request, and how you can opt out of sending the requests if you are uncomfortable with it.

Hang When Drag and Drop Tagfile to JSP Via Visual Editor (4967129)

The JSP visual editor cannot open or edit any JSP page that references a .tag or .tagx file, e.g. <tags:tagFile1/>. The product may not respond correctly and unsaved work could be lost. For such files, open with the JSP source editor to view and edit. Creation of tag files themselves are not impacted by this bug.

Performance Degradation When Laptop Disconnected from Power Source

The performance of JDeveloper has been reported to degrade significantly when run on a laptop that is not plugged in. This is actually true for all Java GUI applications, and is being tracked by a Sun bug (5095398). If you encounter this situation, the workaround is to start JDeveloper using the following command-line argument:


	jdev -Dsun.java2d.ddoffscreen=false

Alternatively, you can disable the PowerPlay feature (accessed via the Advanced settings of the Display Control Panel). This will likely result in a higher rate of battery power consumption.

Deployment Issues

Data-Sources Password Handling and Application Server 10.1.2

Deploying an application that uses connections defined in data-sources.xml developed using JDeveloper 10.1.3 that is deployed to Application Server 10.1.2 will result in a deployment failure. One example is an application that uses an EJB to connect to a database. This is due to differences in the way Application Server 10.1.3 and Application Server 10.1.2 interpret password indirection. A patch for Application Server 10.1.2 is available here that allows deployment of these types of applications to Application Server 10.1.2.

JAZN Error When Using ADF Security with Authorization on Web Application (4966779)

If you receive a JAZN error when using ADF security with authorization on a web application:

  1. Open the testSec2.deploy properties dialog under struts/Resources.
  2. Select File Groups->WEB-INF/classes->Filters.
  3. Uncheck orion-application.xml under META-INF.
  4. Re-deploy the application and reboot the OC4J server.
  5. Make sure you reboot the server or the changes will not take place.

Configuring an OC4J Instance With a Custom Home Directory (4920098)

In the 10.1.3 AS installation, you have the option of specifying the name of the OC4J instance. A typical install might have the following directory structure c:\oracleAS\j2ee\home\config, while an advanced AS install could specify c:\oracleAS\j2ee\myoc4j\config.

If you change the name of the home directory, the installer will fail to update three files in the c:\oracleAS\j2ee\myoc4j\config directory:

  • server.xml
  • application.xml
  • default-web-site.xml

You will need to edit these files for ADF to work correctly.

Editing the application.xml file

If the following xml element does not exist, then add:

<imported-shared-libraries>
<import-shared-library name="adf.oracle.domain"/>
</imported-shared-libraries>

Editing the default-web-site.xml file

If the following does not exist, then add:

<web-app application="bc4j" name="webapp" root="/webapp" load-on-startup="true"/>

Editing the server.xml file

If the following shared libraries are not defined, then add:

<shared-library name="oracle.expression-evaluator" version="10.1.3" library-compatible="true">
<code-source path="${oracle.home}/jlib/commons-el.jar"/>

<code-source path="${oracle.home}/jlib/oracle-el.jar"/>
<code-source path="${oracle.home}/jlib/jsp-el-api.jar"/>
</shared-library>
<shared-library name="adf.oracle.domain" version="10.1.3" library-compatible="true">

<import-shared-library name="oracle.xml"/>
<import-shared-library name="oracle.jdbc"/>
<import-shared-library name="oracle.cache"/>
<import-shared-library name="oracle.dms"/>
<import-shared-library name="oracle.sqlj"/>

<import-shared-library name="oracle.toplink"/>
<import-shared-library name="oracle.ws.core"/>
<import-shared-library name="oracle.ws.client"/>
<import-shared-library name="oracle.xml.security"/>
<import-shared-library name="oracle.ws.security"/>

<import-shared-library name="oracle.ws.reliability"/>
<import-shared-library name="oracle.jwsdl"/>
<import-shared-library name="oracle.http.client"/>
<import-shared-library name="oracle.expression-evaluator"/>
<code-source path="${oracle.home}/BC4J/lib"/>

<code-source path="${oracle.home}/jlib/commons-cli-1.0.jar"/>
<code-source path="${oracle.home}/mds/lib/concurrent.jar"/>
<code-source path="${oracle.home}/mds/lib/mdsrt.jar"/>
<code-source path="${oracle.home}/jlib/share.jar"/>
<code-source path="${oracle.home}/jlib/regexp.jar"/>

<code-source path="${oracle.home}/jlib/xmlef.jar"/>
<code-source path="${oracle.home}/BC4J/jlib/adfmtl.jar"/>
<code-source path="${oracle.home}/BC4J/jlib/adfui.jar"/>
<code-source path="${oracle.home}/BC4J/jlib/adf-connections.jar"/>
<code-source path="${oracle.home}/BC4J/jlib/dc-adapters.jar"/>

<code-source path="${oracle.home}/ord/jlib/ordim.jar"/>
<code-source path="${oracle.home}/ord/jlib/ordhttp.jar"/>
<code-source path="${oracle.home}/jlib/ojmisc.jar"/>
<code-source path="${oracle.home}/jlib/jdev-cm.jar"/>
<code-source path="${oracle.home}/lib/xsqlserializers.jar"/>

</shared-library>
<shared-library name="adf.generic.domain" version="10.1.3" library-compatible="true">
<import-shared-library name="oracle.xml"/>
<import-shared-library name="oracle.jdbc"/>

<import-shared-library name="oracle.cache"/>
<import-shared-library name="oracle.dms"/>
<import-shared-library name="oracle.sqlj"/>
<import-shared-library name="oracle.toplink"/>
<import-shared-library name="oracle.ws.core"/>

<import-shared-library name="oracle.ws.client"/>
<import-shared-library name="oracle.xml.security"/>
<import-shared-library name="oracle.ws.security"/>
<import-shared-library name="oracle.ws.reliability"/>
<import-shared-library name="oracle.jwsdl"/>

<import-shared-library name="oracle.http.client"/>
<import-shared-library name="oracle.expression-evaluator"/>
<code-source path="${oracle.home}/BC4J/jlib/bc4jdomgnrc.jar"/>
<code-source path="${oracle.home}/BC4J/lib"/>
<code-source path="${oracle.home}/jlib/commons-cli-1.0.jar"/>

<code-source path="${oracle.home}/mds/lib/concurrent.jar"/>
<code-source path="${oracle.home}/mds/lib/mdsrt.jar"/>
<code-source path="${oracle.home}/jlib/share.jar"/>
<code-source path="${oracle.home}/jlib/regexp.jar"/>
<code-source path="${oracle.home}/jlib/xmlef.jar"/>

<code-source path="${oracle.home}/BC4J/jlib/adfmtl.jar"/>
<code-source path="${oracle.home}/BC4J/jlib/adfui.jar"/>
<code-source path="${oracle.home}/BC4J/jlib/adf-connections.jar"/>
<code-source path="${oracle.home}/BC4J/jlib/dc-adapters.jar"/>
<code-source path="${oracle.home}/ord/jlib/ordim.jar"/>

<code-source path="${oracle.home}/ord/jlib/ordhttp.jar"/>
<code-source path="${oracle.home}/jlib/ojmisc.jar"/>
<code-source path="${oracle.home}/jlib/jdev-cm.jar"/>
<code-source path="${oracle.home}/lib/xsqlserializers.jar"/>
</shared-library>

<application name="bc4j" path="../../../BC4J/redist/bc4j.ear" start="true"/>

Workaround for URL / WS Data Control Apps When Deploying to Third-Party Application Servers or Oracle Application Server 10.1.2 (4963546 and 5001777)

When you deploy and run your application on Oracle Application Server 10.1.2 or a third-party application server, web pages that connect to a URL or a Web Service data control may fail to display data. This can occur because:

  1. The URL or the Web Service data control fails to create a connection.
  2. The connection attempt made by the Web Service data control fails authentication by the application server. (Does not apply to URL data controls.)

Workaround for the Connection Failure

For Oracle Application Server 10.1.3, JDeveloper packages the application as an archive with the connections.xml file of the .adf folder in the META-INF folder of the EAR file. This allows the 10.1.3 OC4J class loader to load connections.xml as an application resource and satisfy the requirements for the connection look up.

However, some third-party application servers, and Oracle Application Server 10.1.2, do not support look up from the root of the EAR file. The workaround is to include the .adf folder in the deployment profile before creating the archive:

  1. In JDeveloper, locate the .deploy file in the Resources folder of your web application project.
  2. Double-click the file to open the WAR Deployment Profile Properties dialog.
  3. Expand File Groups - WEB-INF/classes - Contributors.
  4. In the Contributors panel, click Add and use the Browse dialog to locate the .adf folder in the root for your application (for example, /jdev/mywork//.adf path.)
  5. Select the .adf folder and add it as a contributor to the deployment profile.

Note that the .adf folder does not become part of the deployable archive. This merely ensures that the contents of the META-INF get placed in an appropriate location in the archive that will permit the web container to find it when the application loads.

Workaround for the Authentication Failure

In 10.1.3, web services rely on per-connection authentication APIs. These APIs appear in the http_client.jar already installed on Oracle Application Server 10.1.3.

However, third-party application servers, and Oracle Application Server 10.1.2, may not have the correction version of the http_client.jar. The workaround is to install the <JDev_Install>/j2ee/home/lib/http_client.jar on the target application server as described in the JDeveloper Release Notes, topic "Workaround for URL / WS Data Control Apps When Deploying to Third Party Application Servers or Oracle Application Server 10.1.2 (4931009)".

OJC Errors Out on Solaris (5001876)

Script JDEV_HOME/jdev/bin/ojc errors out on Solaris. This prevents users from running EJB applications using embedded OC4J as the server is configured to use "ojc" as the compiler. Users will see an exception in the embedded OC4J log window.

The workaround is to change the compiler for embedded OC4J to "javac". This can be done using "Tools -> Embedded OC4J Server Preferences -> Java Compiler" . Users needs to select "javac" as the compiler and specify a valid "Bin directory" for javac executable.

Toplink Issues

Resetting TopLink Units of Work will Improve Performance

When a TopLink Unit of Work is committed, its state is not automatically reset. Over multiple transactions, this will cause the Unit of Work's change set to grow, which may eventually degrade performance. You can reset the Unit of Work's state explicitly by calling TopLinkDataControl.resetState() from within your View or Controller layer. For example, from within a Struts DataAction's handleLifecycle() method, you could use code like the following:

TopLinkDataControl dc =
  (TopLinkDataControl) actionContext.getBindingContext().findDataControl("DataControlName");
if (! this.hasErrors(actionContext) )
{
  dc.resetState();
}

You may also want to call resetState() after a commit operation to explicitly reset unmapped aspects of the state.


Web Services Issues

Using WS-I Test Assertion Documents

If you are using the test assertion document from WS-I.org, you should useBasicProfile_1.1_TAD.xml rather than BasicProfileTestAssertions.xml.

Migrating Oracle J2EE 1.3 PL/SQL Web Services (4691958, 4413896)

Oracle J2EE 1.3 PL/SQL Web Services migrated to JDeveloper 10.1.3 will work correctly. However, if you want to modify the web services you must first regenerate the service, which you can do from the context menu of the web service container in the navigator. Regeneration is needed because in JDeveloper 10.1.3 the underlying format of PL/SQL services has changed, and the regeneration forces the web service into the new format so that any modification you make are recognized correctly.

There are a couple of issues that may occur during regeneration:

  • It is possible that there is a buffer failure and the WSDL document fails to regenerate. If this happens, regenerating the web service a second time will succeed the complete artefact set is produced.
  • There may be a project compilation failure where the interface cannot be found. This is because an internal referential lock has failed to release causing the web service interface to fail to regenerate. There are two ways to workaround this:
    • In the Structure window, expand the PL/SQL web service node, and double-click the interface file. This opens the interface in the source editor, and you will see that it is empty. Without saving, close the source editor to release the reference, and regenerate the web service.
    • Alternatively, you can release the locked reference by closing JDeveloper, then restarting it and regenerating the web service.

ADF Business Component Issues

Nested Packages (4964109)

ADF BC Diagrams created via the Business Components Tables wizard should not be put in nested packages in this release. To achieve a diagram in a nested package of your components created via this wizard; a new diagram should be created from the New Gallery, or a Right Mouse Menu option, and then the required components selected in the navigator and dropped on to the diagram surface.

ADF Databinding Issues

BEAN: Method in Data Control does not Appear in DC Palette (4776347)

Any bean-based data control (TopLink, EJB, Java, etc) only exposes in the Data Control Palette those methods which are referenced in the bean's xml file. For any migrated applications containing data controls with methods not referenced in the bean's xml file, the workaround is to recreate the data control. This will regenerate the bean xml file with the bean's public methods.

JSPs Based on 2.3 Spec Display "\" Characters When Using DataControls (5008174)

For JSPs based on Servlet 2.3 spec, upon dropping a DataControl (based on, for example, Dept VO) the attribute bindings values in the table cells appear as:

  
  <td> 
  	<c:out value="${bindings[\'Deptno\'].label}"/> 
  </td> 
  

This is an issue with 3rd party application servers such as Weblogic 8.x. The workaround is to remove the offending '\' character before and after like this:

  
  <td> 
  	<c:out value="${bindings['Deptno']Label}"/> 
  </td> 
  
 

ADF Swing (JClient) Issues

No Record Displayed in ADF Swing Application Based on Method Returning Array (4965497)

There is no record displayed in a ADF Swing application based on a method that returns an array. The work around is to delete the “BeanClass="java.lang.String” entry from the page definition

User Authenticated on Server Side is not Propagated Back to Client (5000131)

Do not use the new ADF security authorization on page, data control, iterator, method and attributes for 3-tier deployment. The old (since 9.0.5) authorization on entity and entity attributes still work on 3-tier JClient. This bug only applies to 3-tier BC4J and JClient using the new 10.1.3 ADF Security authorization support. It does not happen in the 2-tier case.

Miscellaneous Issues

No Support for 32-bit Systems

JDeveloper 10.1.3 is only supported on 32-bit systems.

Multiple Records Not Committed to Database (5002039)

When building an ADF Swing application that uses EJB 3.0 entities with eager fetching (fetch=FetchType.EAGER), newly created detail entities are not committed to the database when a parent entity is merged. To workaround this issue, either persist each detail entity through an explicit ADF action (such as a call to the 'persistEntity()' Session facade method), or write a custom 'merge' method on the Session bean that takes the parent entity, iterates through its detail instances, and calls persist() on each one that is not already managed by the container.

ADF Developers Guide

In the HTML and Online Help versions of the ADF Developer’s Guide, some code examples may display incorrectly or may be missing lines. To see the complete examples, please refer to the PDF version of the guide.

Build a JSP, Struts, and Oracle TopLink Application Cue Card

In Step 10 of the cue card set (Add Behavior to the UI), the instructions do not include placing the second row of the table inside the Struts Logic:iterate tag. This is necessary in order to display the contents in all rows of the table. The cue card viewlet displays the steps correctly.

Script jdev_home\jdev\bin\stop_oc4j Errors Out (4704168)

When attempting to shutdown OC4J using the stop_oc4j.bat located in the jdev\bin directory you may receive an error:

Error: Missing ormi[s]://<host>:<port>

This error is misleading. The command sent from the script is:

"..\..\jdk\bin\java.exe" -jar admin.jar ormi://localhost:23791 oc4jadmin welcome -shutdown

The workaround is to go to the j2ee\home directory and from the command prompt send the command:

"..\..\jdk\bin\java.exe" -jar admin.jar ormi://127.0.0.1:23791 oc4jadmin welcome -shutdown

Sometimes with a router or VPN the localhost is not properly recognized.

Console Exceptions/Failures on Mac (4991793)

Pressing the Run or Debug toolbar buttons may result in console exceptions and failures to execute on the Mac. Running or debugging can be performed through the main menu or context menus in the navigator or editor. Modifying run configurations can be performed via the project properties.

TEAMDEV: NPE When Updating Project Folders After New JSF Page Added (4945194)

If "Update project folders" is checked out while the JSF Navigation Diagram is open users will see a null pointer exception . As a workaround you need to close any open page flow diagrams in a project before you execute the "Update Project Folders" command on that project.

ADF Installer

The ADF Installer requires OC4J 10.1.3 production. It will not function with a 10.1.3 developers preview release.

ADF Faces in Clustered Application Environment (4939047)

When using ADF Faces in a clustered application environment, users might run into an issue where state is lost if user session is migrated to a different machine. Please refer to bug 4939047 for details and workarounds.

Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065, USA
http://www.oracle.com

Worldwide Inquiries:
1-800-ORACLE1
Fax 650.506.7200

Copyright © 2006, Oracle Corporation. All Rights Reserved.

E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy