Oracle9i® JDeveloper

Release Notes Addendum

Version 9.0.3

Last updated: January 2005

Content

Introduction

The below issues were compiled after the release of Oracle9i JDeveloper Version 9.0.3 in October 2002, Oracle9i JDeveloper Version 9.0.3.1 in February 2003, Oracle9i JDeveloper 9.0.3.2 in July 2003, and Oracle9i JDeveloper 9.0.3.3 in October 2003. This is an addendum to the release notes included with those releases. We plan to update this addendum regularly as new issues come to our attention.

SQL Flavor Issues (3473715)

The SQL Flavor (called SQL Dialect in later releases) can be changed in 9.0.3.x, but this functionality proved problematic and has been removed from later releases.

Separating Custom Struts Class Files from BC4J Struts Wizard Generated Files (Bug: 2888538)

It is not currently possible to use the BC4J Struts wizards (which appear in the New Gallery) to update an existing application's project folder and maintain that folder's custom Struts class files in their own package. When you run the BC4J Struts wizards on the project folder, the wizard expects to find definition files (including ApplicationResource.properties or struts-config.xml files) in the folder's default package. If the Struts files exist instead in a package defined by the user, the wizard will generate its own version of the Struts definition files in the default package.

Therefore, users who want to manage custom code (not generated by the BC4J Struts wizards) in a separate package should do so after running the wizard on an empty project folder. Once the generated application has been created, edit the Default Package name in the folder's Project Settings dialog. Subsequently, all Struts classes will appear in the newly defined package.

Classpath Not Set When Migrating JClient Projects from 9.0.2 to 9.0.3.x (3173033)

In JDeveloper 9.0.2, a named library (for example, JClientProject_Mypackage1Module) is created and added to the JClient project. The classpath attribute of this library definition points to the BC4J project classes. When you attempt to migrate a JClient project created using JDeveloper 9.0.2 to JDeveloper 9.0.3.x , the named library definition is not migrated. Therefore, the classpath dependency remains unresolved and results in a runtime error (fails with JboException: JBO-33001).

To specify the classpath BC4J project dependency, you can use one of the following techniques.

Define the named library to point to BC4J project classpath:

1. In JDeveloper 9.0.3.x, double-click on the JClient project file (for example, JClientProject.jpr) to open the Project Properties dialog
2. In the dialog, click Libraries and view the Selected Libraries list. The JClient named library will appear highlighted in red, which indicates the classpath is unknown. The classpath must be set.
3. In the Libraries page of the dialog, edit the library item and specify the classpath. It should point to the classes directory of your BC4J project (for example, browse to D:\<JDev903_Home>\jdev\mywork\JClient\BC4J\classes)

Alternatively, set the dependencies in the project properties:

1. In JDev 9.0.3.x, double-click the JClient project file (for example, JClientProject.jpr) to open the Project Properties dialog.
2. In the dialog, click Dependencies item.
3. In the Project Dependencies page of the dialog, select the BC4J Project (for example, BC4JProject.jpr) so a checkmark appears next to the project name.

Exception When Using Oracle 9iAS JAAS (3194890)

Due to a bug in javax.security.auth.loginLoginContext in JDK 1.3, you may get the following exception when using Oracle 9iAS JAAS:

The java.lang.IllegalArgumentException: wrong number of arguments at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

Next Button not Enabled in EAR Import Wizard Unless EAR Selected Through URLCHOO (3167280)

Attempting to import a deployed ear will fail to enable the next button in the import ear dialog if the import is attempted during the same session that the deployment of the ear occurred.

Migrating BC4J Project with Entity Facade does not Update "ejb-jar.xml" Until Package Containing EJB Application Module is Expanded (3099781)

After migrating an Entity Facade project to JDeveloper 9.0.3.x users must expand the EJB Application Module package node in the System Navigator. This will cause the <ejb-local-ref> tag in ejb-jar.xml to be updated properly.

Using the Browse Javadoc Command without a Network Connection

If you are using JDeveloper 9.0.3.2 or earlier and you are not connected to the network, you cannot use the Browse Javadoc command to access the JDK 1.3 javadoc (for J2SE). To resolve this:

- Copy the <jdev_install>/doc/ohj/jdk13doc.jar and rename the duplicate file <jdev_install>/doc/ohj/jdk13doc.zip.

(Starting, in JDeveloper 9.0.3.3, you can browse the JDK javadoc without renaming the JDK doc archive.)

In all versions of JDeveloper 9.0.3, we do not recommending using the Browse Javadoc command to access non-J2SE system libraries without a network connection. Attempting to browse javadoc for any system library (besides J2SE) without a network connection will return the local JAR file only after an extended delay. While JDeveloper will not hang as result, the wait time before it returns from a non-network javadoc search can be several minutes.

Using the Browse Javadoc Command with a Network Connection

As a workaround for 9.0.3.2, editing the jdev/lib/libraries.xml file to remove the hosted doc (otn.oracle.com) path will permit JDeveloper 9.0.3.2 users to locate the library's javadoc using the JAR files in the JDev/doc/ohj folder, rather than default to the OTN hosted doc.

For example, the libraries.xml file includes the doc path for OTN (in this case, for the Servlet Runtime library) like this:

<docPath>
              <entries>
              <Item protocol="http" host="otn.oracle.com" path="/hosted_doc/servlet/"/>
               <Item path="../doc/ohj/servlet-2_3-docs.jar" jar-entry=""/>
               </entries>
</docPath>

and should be edited to look like this:

<docPath>
               <entries>
                <Item path="../doc/ohj/servlet-2_3-docs.jar" jar-entry=""/>
                </entries>
</docPath>

It is important that you also remove the otn.oracle.com path for *each* library that comes *before* the updated library in the list of your project's "selected libraries". This ensures JDeveloper will not find the javadoc on OTN before it actually locates the local javadoc JAR file in the JDev/doc/ohj folder. To view the selected libraries list, right-click your project folder in the Navigator and choose Project Settings, then click Libraries.

Passivated Transactions Not Maintained Across Transactional Boundaries (3099314)

When an application module's transaction is committed or rolled back, passivated logs of that transaction (of the sort created by failover or application module pooling) are deleted. If you attempt to retrieve these transactions, you will receive an exception with number JBO-28039.

BC4J Glossary Entry for "Project Wizard" Misleading (3079674)

The BC4J Glossary entry for "Project Wizard" suggests that you can use this wizard to specify title, author, copyright, company, and description for a JDeveloper project. In release 9.0.3, JDeveloper does not maintain this information.

Database Object Access Using BC4J in a Multi-user Environment on Solaris

In a multi-user environment where JDeveloper is hosted on a Solaris OS, BC4J wizards that access database tables may throw oracle.jbo.CustomClassNotFoundException. Resetting the Database Objects checkbox will populate the available database objects list.

Modeled EJBs Cannot be Displayed in Iconic Mode (2918721)

If the display of a modeled EJB is changed to iconic using the Node View | Iconic menu option, the iconic shape for the modeled bean is not displayed correctly and throws an exception. If this happens, change the display of the modeled bean back to symbolic by selecting the bean on the diagram and choosing Model | Node View | Symbolic. **Note: This issue does not exist starting in version 9.0.3.3.**

CVS: Command Failure When Using CVs Pserver and Post-1.11.1.3 CVSNT Client (2936456)

An issue has been identified with password server access when using certain builds of CVSNT after release 1.11.1.3. When running commands or testing a connection, the client may produce an error with the message "Empty password used - try 'cvs login' with a real password".

The problem may be resolved by opening the wizard for the connection and changing the repository details on the Connection page: replace all instances of the backslash character with a forward slash, or enter the repository value as a UNIX format path.

Re-Deploying an EJB to OC4J (2899729)

If you deploy an EJB to OC4J, access the EJB with a client, and then re-deploy to standalone OC4J, you may receive a "Fatal Error: Syntax error in source" message. This is because of a bug in JDK 1.3.1_02, which is fixed in JDK 1.3.1_03. Use JDK 1.3.1_03 or later to solve this problem.

Business Component Files not Added to Web Service Deployment Profile (2787857)

When JDeveloper creates a Java web service, the wizard fails to add the middle tier business components to the web service deployment profile.

The workaround is, in the Navigator, right-click WebServices.deploy and choose Settings. Select WAR File | WEB-INF/classes, and ensure that the middle tier files are selected. Click OK, and they will be deployed along with the web service.

Deployed EAR File with EJB Dependency Includes EJB JAR (2766602)

If you create a WAR file with an EJB dependency, then deploy that WAR file to an EAR file, the WAR file inside the EAR file will have an EJB JAR. The deployment should work properly in a J2EE container despite the presence of implementation classes.

To follow J2EE best practices more closely, so that the WAR file does not have access to the EJB client classes, use this deployment strategy instead:

1) Create an EJB project with two profiles" - A simple JAR profile containing EJB client classes (home, remote, local home, and local interfaces, PK class, and dependencies) - An EJB profile for implementation classes, with a dependency on the JAR profile.

2) Create a WAR project. Create a WAR profile for this project with a dependency on the Simple JAR profile from the EJB project.

BC4J sets up deployment profiles using this best practice strategy by default.

EJB Tutorial, Developing a Human Resources Application, Part 5

In the EJB tutorial, Developing a Human Resources Application, Part 5, Adding a Create Method, you must change the ejbCreate method's return type from DeptPK to Long.

Instead of the following code:

public DeptPK ejbCreate(Long deptno, String dname, Long manager, Long location)

{
  this.setDepartment_id(deptno);
  this.setDepartment_name(dname);
  this.setManager_id(manager);
  this.setLocation_id(location);
  return new DeptPK(deptno);
}

Use this:

public Long ejbCreate(Long deptno, String dname, Long manager, Long location)

{
  this.setDepartment_id(deptno);
  this.setDepartment_name(dname);
  this.setManager_id(manager);
  this.setLocation_id(location);
  return deptno;
}

Installing the DCM Servlet to Deploy to Oracle9iAS 9.0.2.x (Clarification)

In the 9.0.3 Release Notes item "Installing the the DCM Servlet to Deploy to Oracle9iAS 9.0.2.x", step 2, please note the port specified is 1811, not 1810. You must deploy the Oc4jDcmServlet.ear to the RMI port (default 1811), not the HTTP port (default 1810). **Note: This issue does not exist starting in version 9.0.3.3.**

Breakpoints are not Migrated from Previous Versions of JDeveloper to JDeveloper 9.0.3 (2633612)

When you install and run a new version of JDeveloper, breakpoints are not migrated. After starting up JDeveloper Version 9.0.3 the Migrate User Settings dialog box will appear asking if the user wants to migrate the settings from a previously installed version of JDeveloper (9.0.2 or later). No matter what the user chooses in the dialog box, breakpoints will not be migrated. The workaround is to manually copy the breakpoints.xml file from the old system directory to the new system directory and restart JDeveloper. **Note: This issue does not exist starting in version 9.0.3.3.**

3rd Party Databases: Need to Add JDBC Driver Library to Client Projects

If you build a database connection to a 3rd party database (eg. Microsoft SQL*Server) you have to manually add the jdbc driver library that you used when building the connection into the client project when building JClient or JSP applications.

When you test a BC4J project which has been built against a foreign datasource, the library is correctly included, but when you are not testing you need to manually include the library. The same caveat applies when you deploy an application: if the server doesn't have the jdbc driver available automatically, you will need to deploy it.

 

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 and Corporate Info

false ,,,,,,,,,,,,,,,