Wednesday Oct 23, 2013

What causes a JBO-29000 Error

The JBO prefix indicates the message was generated by Oracle Business Components for Java (BC4J). In the early versions of JDeveloper the BC4J was a framework for building and customizing domain-specific components. The BC4J framework evolved into the Application Development Framework (ADF), which is an end-to-end Java EE framework that simplifies application development by providing out-of-the-box infrastructure services and a visual and declarative development experience.  The JBO prefix has been kept for the errors generated from the ADF framework. The JBO-29000 is the following:

JBO-29000: JboException

Cause: If an unexpected exception occurs during a framework operation, this exception is thrown, with the unexpected exception included in the details of this exception.

Action: Fix the cause for the exception in the details for this JboException.

The JBO-29000 JboException is a generic error message that is a wrapper for the actual cause of the issue. The error condition or error code in the message details must be used to find the cause and solution for the issue.  The framework is reporting that it has received an unexpected exception from outside the framework component.  This could be a database error or a Java code exception.  The error trace and code must be analyzed to determine the true cause of the issue.

Example 1:

oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.sql.SQLDataException, msg=ORA-01882: timezone region not found
    at oracle.jbo.server.OracleSQLBuilderImpl.setSessionTimeZone(OracleSQLBuilderImpl.java:5490)
    at oracle.jbo.server.DBTransactionImpl.refreshConnectionMetadata(DBTransactionImpl.java:5020)
    at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1132)
    at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6372)
    at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:286)
Truncated. see log file for complete stacktrace

The cause of the issue is the database reported error: "ORA-01882: timezone region not found" which is an incorrect configuration of the timezone. If the database cannot find it from the V$TIMEZONE_NAMES table, it will generate the error ORA-01882: timezone not found, see Note 756075.1.  

Example 2:

oracle.jbo.JboException: JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
    at oracle.adf.model.binding.DCIteratorBinding.reportException(DCIteratorBinding.java:372)
    at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1670)
    at oracle.adf.model.binding.DCIteratorBinding.internalGetRowSetIterator(DCIteratorBinding.java:1630)
    at oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1594)
    at oracle.adf.model.binding.DCIteratorBinding.getNavigatableRowIterator(DCIteratorBinding.java:1887)
    at oracle.jbo.uicli.binding.JUCtrlHierBinding.bringNodeToRangeKeyPath(JUCtrlHierBinding.java:771)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding.bringNodeToRangeKeyPath(FacesCtrlHierBinding.java:101)
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowKey(RowDataManager.java:134)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowKey(FacesCtrlHierBinding.java:633)
    at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:425)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.decodeSelectedRowKeys(TableRendererUtils.java:660)
    at oracle.adfinternal.view.faces.renderkit.rich.table.BaseTableRenderer.decodeIncompatiblePropertyKey(BaseTableRenderer.java:232)
    at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:260)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1121)

This issue was caused by not setting a Primary Key (PK)  for the View Object (VO.)  Primary Key is mandatory for VO. When VO gets passivation/deactivtion, the exception raises, See Note 1579918.1.

Since the JBO-29000 error can have many different causes, the details of the error message must be examined to lead to the proper solution for the issue, and a search must be made using the error message details along with the JBO-29000 to find information on the issue.

Wednesday Oct 09, 2013

Oracle Day 2013

Did you miss Oracle OpenWorld? Then this might be just the event for you!

Oracle Day is a global event series that will be held in 75 cities worldwide. Events begin in mid-October 2013 and run through January 2014. These events are cross-stack, covering Oracle technology, applications, and hardware. This year our theme is “Innovation in Practice,” and attendees will hear engaging stories of companies who are driving innovation with Oracle’s help.

Oracle Day provides an opportunity for our customers to get a one-day, high-level overview of everything Oracle offers across the complete stack. It communicates Oracle’s high-level value proposition of driving innovation through simplified IT. It’s also a good opportunity for those who were unable to attend Oracle OpenWorld San Francisco 2013 to hear about the latest Oracle announcements firsthand.

Check out the schedule, then register here.

Monday Oct 07, 2013

How Can I Learn About all of this New Technology?

Taken all of the Oracle courses offered on a subject?
Need to refresh your memory on usage of a feature?
Want to learn about a particular piece of new technology, directly from the developers and designers that build the product?
Is there some way to get the information or a refresher at the time you need to use it?

Welcome to the Oracle Learning Library (OLL) portal. The OLL provides a set of videos and tutorials on topics that are designed to give you insight into technologies. These are topics that customers have asked about, that could use a clearer and more detailed explanation. You can navigate to the OLL via the Oracle Jdeveloper & ADF 11g Information Center Note 1344952.2.

The Oracle Learning Library Products search Page, screen shot below, has Selected Fusion Middleware as the Product Family, and JDeveloper (which includes ADF) as the Product.

As the sample above shows, you can pick from many different tutorials or videos for the JDeveloper/ADF product. You can search OLL by product family, product, sub product, release, tags or content type.  The tags are keywords or phrases that have been associated with the title. The run time for each title is listed to let you know just how much time to allocate to the training. Some of the products covered for Fusion Middleware are: Weblogic Server, Identity & Access Management, Hyperion, Webcenter,  Java, and of course, JDeveloper/ADF.

Free training downloads available:

  1. OLL Facebook page (announcing recent new content here)
  2. OLL site (you can subscribe to RSS feed from the site, will keep you up-to-date on all new content)


Check out the Learning Library today, to update your knowledge for the Oracle Java Development products your using. It’s FREE!


About


This is the official blog of the Java Development Proactive Services Team. Here we will provide information on our activities, publications, product related information and more. We look forward to your feedback to improve what we do!

Search

Archives
« October 2013 »
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
8
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
26
27
28
29
30
31
  
       
Today