Developer Tools
JDeveloper
Version 9.0.4
October 2003
To maximize developer productivity, JDeveloper provides a comprehensive set of integrated tools to support the complete development lifecycle, from source control, modeling, and coding through debugging, testing, profiling, and deploying. JDeveloper simplifies J2EE development by providing wizards, editors, visual design tools, and deployment tools to create high-quality, standard J2EE components including applets, JavaBeans, JavaServer Pages (JSP), servlets, and Enterprise JavaBeans (EJB). JDeveloper also provides a public Extension SDK to extend and customize the development environment and to seamlessly integrate with external products.
To simplify the development of scalable, high-performance J2EE applications, JDeveloper offers an open and extensible J2EE framework called Business Components for Java (BC4J). BC4J implements Sun's J2EE design patterns and allows developers to quickly build sophisticated J2EE applications.
For more information about this release, please visit the JDeveloper page on the Oracle Technology Network at http://otn.oracle.com/products/jdev. You will also find there the Oracle9i JDeveloper Version 9.0.4 Release Notes Addendum which contains additional information not available at the time of this document's publication.
Drivers for Oracle9i Release 2 can be installed in JDeveloper version 9.0.4, but are not supported.
To view the version of OC4J that you are using, enter the following from your OC4J installation directory:
java -jar oc4j.jar -version
If you get a java.lang.OutOfMemoryError, you have two options:
Java -Doracle.j2ee.dont.use.memory.archive=true -jar oc4j.jar
Java -mx512M -jar oc4j.jar
[INFO] RequestProcessor - -Processing a 'GET' for Path...
Root cause of ServletException
java.lang.NullPointerException...
To avoid this error, you must make changes to the uix-config.xml file.
If you are running a BC4J JSP application with an Admin page, make the change on the server:
Note: Be sure to use the parent directory, not the cabo directory itself.
Note: Be sure to use the parent directory, not the cabo directory itself.
Only one of the two parameters ... or ... should be defined.
This is caused by an error in Tomcat's tag pooling mechanism. Because Tomcat does not release tags after pooling, subsequent uses of the same tag with incompatible attributes defined will cause this error.
To avoid the error, you must disable tag pooling in Tomcat:
<init-param> <param-name>enablePooling</param-name> <param-value>true</param-value> </init-param>
-Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=com.inprise.vbroker.orb.ORBSingleton
-Djavax.rmi.CORBA.StubClass=com.inprise.vbroker.rmi.CORBA.StubImpl
-Djavax.rmi.CORBA.UtilClass=com.inprise.vbroker.rmi.CORBA.UtilImpl
-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl
The workaround is to delete the "implements" clause (for example, "implements EmpView") from the class declaration in your class file. You can do this before or after migrating the project, although it is probably easier to do it after because the compilation errors will tell you what needs to be fixed.
The workaround is to manually add the following system properties to the OC4J command line. If you are using the embedded server then add these to the VM settings of the project from which the embedded OC4J instance is started:
-Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=com.inprise.vbroker.orb.ORBSingleton
-Djavax.rmi.CORBA.UtilClass=com.inprise.vbroker.rmi.CORBA.UtilImpl
-Djavax.rmi.CORBA.PortableRemoteObjectClass=com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl
The target /your action cannot be started because it does not exist.
You can only access the help system from the Business Component Browser if you launch the browser by right-clicking an application module and choosing Test. If you invoke the Business Component Browser by running, debugging, or profiling your model project, help will not be available.
In addition to the documented values of "silent", "console", and "routing_classname", you can set the value of jbo.debugoutput to "file" to log BC4J debugging information to a text file.
The workaround is to create a new mime type using regedit and associating it to the .jnlp extension. For example, in regedit, locate HKEY_CLASSES_ROOT -> MIME -> Database -> Content Type -> application/x-java-jnlp-file;charset=ISO-8859-1 and set property Extension to value .jnlp.
However, in BC4J the default mapping for an numeric attribute is 'oracle.jbo.domain.Number'. JUSpinnerBinding currently only supports the following types: Double, Float, Long, Integer, Short or Byte .
So the underlying attribute should be mapped to java.lang.Integer.
This bug will be fixed in later versions of the database. After applying this patch, the public database links can be manually replaced with private database links, by querying the contents of the ALL_DB_LINKS view and creating private database links in the appropriate schema, with the same details as the public links being replaced.
You have to reselect the method for publication as a web service. Double-click the modeled web service, and on the Exposed Methods page select the method and click OK.
To run a JMS web service deployed to OC4J 9.0.3 or Oracle9iAS 9.0.3, you should configure OC4J to hand over the JMS implementation to OJMS. For more information, refer to "Oracle9iAS Containers for J2EE (OC4J) - Java Message Service (JMS) - Frequently Asked Questions" on the Oracle Technology Network, http://otn.oracle.com/tech/java/oc4j/htdocs/OC4J-JMS-FAQ.html.
In Step 3 of the JMS Web Service Wizard, select Receive operation uses separate JMS destination, and enter the connection factory and the destination for the receive operation. These must be different to the connection factory and destination for the send operation.
To configure JDeveloper to use the JDK 1.4 JDBC drivers, you must amend the
<jdev_install>/jdev/bin/jdev.conf
file. Replace the line:
AddJavaLibFile ../../jdbc/lib/classes12.jar
with
AddJavaLibFile ../../jdbc/lib/ojdbc14.jar
JDeveloper will now use the JDK 1.4 version of the JDBC drivers, for all JDBC operations.
m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, new org.apache.soap.encoding.soapenc.StringDeserializer());
When you create a stub to a .NET web service which contains more than one method with the same name, the stub is generated with just one method present, for example:
public Float Add(Float a, Float b) throws Exception
You must manually edit the stub to add the additional overloaded methods, for example:
public Float Add(Float a, Float b) throws Exception
public Integer Add(Integer a, Integer b) throws Exception
The workaround is to install JDeveloper in a path without a space in any folder name.
If you want to generate a stub for a WSDL file that refers to, or imports, another WSDL file, the Web Service Stub/Skeleton Wizard will not be able to finish as it incorrectly identifies the WSDL file as invalid.
Web-based Distributed Authoring and Versioning (WebDAV) is a set of extensions to the HTTP protocol that enables access to files on remote Web servers.
Note: Before using WebDAV Connections in Oracle JDeveloper, you must first install the WebDAV extension from the Extension Exchange on OTN. For more information, refer to Installing Oracle JDeveloper Version 9.0.4 or the Oracle Developer Suite 10g Installation Guide.
"java.lang.SecurityException: Could not lockSystem" or "Oct 23, 2002
4:16:55 PM java.util.prefs.FileSystemPreferences
checkLockFile0ErrorCodeWARNING: Could not lock System prefs.Unix error code
0.Oct 23, 2002 4:16:55 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs:
java.util.prefs.BackingStoreException:
Couldn't get file lock."
Users might experience long delays seeing database objects in entity beans from the Table Wizard. This typically happens if you start with an empty workspace and there are no database connections defined in the IDE. The workaround to this is to click the BACK button in the wizard panel which is waiting to show the database objects and then click the NEXT button. All available tables should then be displayed.
When publishing a diagram as a JPEG or PNG graphic remotely on a Solaris machine, the operation to publish the diagram can take a very long time to complete and may appear that JDeveloper has frozen. A workaround to this problem is either to perform the publish operation directly on the Solaris machine, or to publish the diagram as SVG.
This occurs when running JDeveloper with Java2SDK1.4.2_01 on Red Hat Enterprise Linux AS 2.1 with kernel 2.4.9-e.25. It does not occur with Java2SDK1.4.2 nor with Java2SDK1.4.2_01 on other Linux kernel versions (such as kernel 2.4.20 that comes with Red Hat 9.0).
PROCEDURE my_proc IS not PROCEDURE scott.my_proc IS or PROCEDURE "MY_PROC" IS
For JDeveloper 9.0.4, you must always provide non-NULL values for the Display Sequence properties. You do this through the properties palette of Oracle Designer.
This behavior will change for JDeveloper 9.0.5, when a NULL value will be acceptable for a Display Sequence property.
To update the file, remove it from your project, and replace it with the copy of bc4jstruts.jar found in <JDEV_HOME>/BC4J/jlib.
The right mouse menu "Go to Source" on a element in the Show Dependency window no longer works. Instead, use double-click on the item to open the proper editor on the java element.
When you build a BC4J JSP application that uploads media content to interMedia columns and you select "EJB Entity Facades" when asked for what type of Business Entities will be modeled, the media content upload will fail if the BC4J JSP application is running in the "Stateful" mode with the "failover" option set to true.
| 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 |