You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Josef Wagner <jo...@on-ergy.de> on 2007/02/07 16:44:16 UTC

Oracle Blob Clob Lob Problem

Hello List,

I have a problem width loading large data from tables width clob-culumns.
db: oracle 9.2.0.8
ojb: 1.0.4
driver: thin

When i load 15000 rows, my applikation gets an OutOfMemoryError. I have 
ensure, that Oracle width clobs is the problem, width HSQLDB, all works 
fine.
The data in the clob-culumns are texts width AKTUALLY no more then 100 
charakters.

I have checked out the trunk of ojb and I see, that in the platform 
package are some wrapper-classes for clob und blob?
Unforunatelly, I can't test if this is the solution of my problem, 
because I get lots of errors when starting my application width a jar 
from the trunk version.

Can anybody tell me, if the source in the trunk is the solution for such 
problems I have?
Or is the solution to switch to oralce 10g?
Or should I use OCI instead of THIN driver?

Thanks a lot for your answers.

regrads
Josef Wagner

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Josef Wagner <jo...@on-ergy.de>.
Hello Armin,

thanks for your spend time. I have found the failure, it was in the 
repository.xml, there I configured varchar instead of clob :o/
Next time, the first thing I will do is mailing the repository infos. So 
a simply failure :o/
Thanks
Josef


Armin Waibel schrieb:
> Josef Wagner wrote:
>> Hello Armin,
>> The problem width my outOfMemory apears also width 1.0.5
>> I have written a small test code an now I know, why I'm getting the 
>> outOfMemory width OJB. I think it is a "bug" in OJB, because you read 
>> the data from ResultSet width getString() instead of getClob(). Width 
>> getString(), i get the outOfMemory
>
> can you post more details. I checked the code ResultSet.getString(...) 
> is only called for Varchar and Char columns.
>
> If the log_data_export field in class Log is of type String, OJB 
> materialize the Clob and transforms the Clob value to a 
> string-representation.
> If you use Clob as type in Log class, OJB only wraps the Clob object - 
> the Clob value will not be materialized (if your jdbc-driver implement 
> LOB's as pointer objects to the real data).
> See LOB test case:
> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>
>
> regards,
> Armin
>
>>
>> Here my test
>> -----------
>>    public void clobTest() {
>>        PersistenceBroker pb = getBroker();
>>              JdbcAccess jdbcAccess = pb.serviceJdbcAccess();
>>        ClassDescriptor logClassDesc = 
>> pb.getClassDescriptor(de.on_ergy.lakon.data.model.Log.class);
>>        ResultSetAndStatement rs = jdbcAccess.executeSQL("Select * 
>> from Log", logClassDesc, false);
>>        ResultSet r = rs.m_rs;
>>        Vector logDataExpVec = new Vector();
>>        Vector logDataDefaultVec = new Vector();
>>        try {
>>            while(r.next()) {
>>                logDataExpVec.addElement(r.getClob("log_data_export"));
>>                
>> logDataDefaultVec.addElement(r.getClob("log_data_default"));
>>            }
>>                  } catch(SQLException ex) {
>>            _log.error(ex);
>>        }
>>        _log.info("Fertig!!!");
>>    }
>>
>> -----
>>
>> How can we get a quick solution?
>> Thanks a lot for your spend time!
>>
>> regards, josef
>>
>>
>>
>> Armin Waibel schrieb:
>>>
>>> by the way, do your test pass if you set the 
>>> 'proxy-prefetching-limit' of the relevant class-descriptor or 
>>> reference/collection-descriptor's to '0'? Then OJB shouldn't 
>>> prefetch the references.
>>>
>>> regards,
>>> Armin
>>>
>>>
>>>
>>> Armin Waibel wrote:
>>>> Hi Josef,
>>>>
>>>> Josef Wagner wrote:
>>>>> Hello Armin,
>>>>>
>>>>> no, I have allready replaced all CGLib classes width JDK classes. My
>>>>> problem is, that i can't debug the following issue: -------- Caused
>>>>> by: java.lang.NullPointerException at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>>
>>>>>
>>>>
>>>> I think this is the access from the inner class 
>>>> PBMaterializationListener to the private field 'pb' in class 
>>>> QueryReferenceBroker.
>>>> Decompiled code for QueryReferenceBroker:
>>>> ...
>>>> static org.apache.ojb.broker.core.PersistenceBrokerImpl 
>>>> access$000(org.apache.ojb.broker.core.QueryReferenceBroker);
>>>>   Code:
>>>>    0:   aload_0
>>>>    1:   getfield        #4; //Field 
>>>> pb:Lorg/apache/ojb/broker/core/PersistenceBrokerImpl;
>>>>    4:   areturn
>>>>
>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>>
>>>>>
>>>>>
>>>>> -------- <code> Line 990: _listenedHandler = 
>>>>> pb.getProxyFactory().getIndirectionHandler(owner); </code>
>>>>>
>>>>> pb is != null
>>>>>
>>>>> I have no idea :o/. Are there any no features, that I have to keep in
>>>>> mind?
>>>>>
>>>>
>>>> I remember that I got a similar ".access$000" error some weeks ago. 
>>>> But I can't remember the reason. I thought it was a proxy issue (do 
>>>> you get the same error when using CGLIB-proxy classes?) - but seems 
>>>> this isn't the reason.
>>>>
>>>> Could you describe or post the test source code to reproduce the 
>>>> issue?
>>>>
>>>> regards,
>>>> Armin
>>>>
>>>>
>>>>> regards, Josef
>>>>>
>>>>>
>>>>>
>>>>> Armin Waibel schrieb:
>>>>>> Hi Josef,
>>>>>>
>>>>>> could this be a proxy issue? Please check the settings in 
>>>>>> OJB.properties file - do you need CGLib based proxies?
>>>>>>
>>>>>> regards, Armin
>>>>>>
>>>>>> Josef Wagner wrote:
>>>>>>> Hi Armin, i tried to starting my application width 1.0.5, but no
>>>>>>> success. I can`t get any informations when looking into the log. 
>>>>>>> I think, it`s an Java Reflection Problem: Hier is the log output,
>>>>>>> have you any idee ?
>>>>>>>
>>>>>>> java.lang.reflect.InvocationTargetException at 
>>>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>>>>>>>  at 
>>>>>>> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>>>>>>>  at 
>>>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) 
>>>>>>>
>>>>>>>  at
>>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) 
>>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at 
>>>>>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125) 
>>>>>>>
>>>>>>>  at
>>>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>>>>>>>  at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>>>>>>>  at org.eclipse.jface.window.Window.open(Window.java:787) at
>>>>>>> de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132) at 
>>>>>>> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701) 
>>>>>>>
>>>>>>>  at 
>>>>>>> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034) at
>>>>>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636) at 
>>>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) 
>>>>>>>
>>>>>>>  at
>>>>>>> de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44) 
>>>>>>> at 
>>>>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
>>>>>>> at java.lang.reflect.Method.invoke(Unknown Source) at
>>>>>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at
>>>>>>> org.eclipse.core.launcher.Main.basicRun(Main.java:278) at
>>>>>>> org.eclipse.core.launcher.Main.run(Main.java:973) at
>>>>>>> org.eclipse.core.launcher.Main.main(Main.java:948) Caused by:
>>>>>>> org.apache.ojb.broker.PersistenceBrokerException: 
>>>>>>> java.lang.NullPointerException at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486) 
>>>>>>>
>>>>>>>  at 
>>>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473) 
>>>>>>>
>>>>>>>  at 
>>>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at
>>>>>>> de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248) at
>>>>>>> de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131) at
>>>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>>>>>>>  at 
>>>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ... 36 more Caused by: java.lang.NullPointerException at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280) 
>>>>>>>
>>>>>>>  at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> at 
>>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277) 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ... 47 more
>>>>>>>
>>>>>>>
>>>>>>> thanks for your help! regrads Josef
>>>>>>>
>>>>>>> Armin Waibel schrieb:
>>>>>>>> Hi Josef,
>>>>>>>>
>>>>>>>> Josef Wagner wrote:
>>>>>>>>> Hello List,
>>>>>>>>>
>>>>>>>>> I have a problem width loading large data from tables width 
>>>>>>>>> clob-culumns. db: oracle 9.2.0.8 ojb: 1.0.4 driver: thin
>>>>>>>>>
>>>>>>>>> When i load 15000 rows, my applikation gets an
>>>>>>>>> OutOfMemoryError. I have ensure, that Oracle width clobs is
>>>>>>>>> the problem, width HSQLDB, all works fine. The data in the
>>>>>>>>> clob-culumns are texts width AKTUALLY no more then 100
>>>>>>>>> charakters.
>>>>>>>>>
>>>>>>>>> I have checked out the trunk of ojb and I see, that in the
>>>>>>>>> platform package are some wrapper-classes for clob und blob?
>>>>>>>>
>>>>>>>> yep, I reworked the LOB-support a bit and add Blob/Clob
>>>>>>>> java-types support (before OJB converts all LOB's to byte[]).
>>>>>>>>
>>>>>>>>
>>>>>>>>> Unforunatelly, I can't test if this is the solution of my
>>>>>>>>> problem, because I get lots of errors when starting my
>>>>>>>>> application width a jar from the trunk version.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Don't use the trunk it's the alpha OJB 2.x. Please check out
>>>>>>>> the OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5
>>>>>>>> version.
>>>>>>>>
>>>>>>>>
>>>>>>>>> Can anybody tell me, if the source in the trunk is the
>>>>>>>>> solution for such problems I have?
>>>>>>>>
>>>>>>>> Don't know - give it a try.
>>>>>>>>
>>>>>>>>
>>>>>>>>> Or is the solution to switch to oralce 10g?
>>>>>>>>
>>>>>>>> I run the LOB-test against OracleXE 10.2.0.1 and 
>>>>>>>> classes12_g_10.2.0.2.jar driver. 
>>>>>>>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> The tests handle CLOB's up to 5000 characters.
>>>>>>>>
>>>>>>>>> Or should I use OCI instead of THIN driver?
>>>>>>>>>
>>>>>>>> Sorry I don't know (not a Oracle expert).
>>>>>>>>
>>>>>>>> regards, Armin
>>>>>>>>
>>>>>>>>> Thanks a lot for your answers.
>>>>>>>>>
>>>>>>>>> regrads Josef Wagner
>>>>>>>>>
>>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>>
>>>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org 
>>>>>>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>>
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Armin Waibel <ar...@apache.org>.
Josef Wagner wrote:
> Hello Armin,
> The problem width my outOfMemory apears also width 1.0.5
> I have written a small test code an now I know, why I'm getting the 
> outOfMemory width OJB. I think it is a "bug" in OJB, because you read 
> the data from ResultSet width getString() instead of getClob(). Width 
> getString(), i get the outOfMemory

can you post more details. I checked the code ResultSet.getString(...) 
is only called for Varchar and Char columns.

If the log_data_export field in class Log is of type String, OJB 
materialize the Clob and transforms the Clob value to a 
string-representation.
If you use Clob as type in Log class, OJB only wraps the Clob object - 
the Clob value will not be materialized (if your jdbc-driver implement 
LOB's as pointer objects to the real data).
See LOB test case:
http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup

regards,
Armin

> 
> Here my test
> -----------
>    public void clobTest() {
>        PersistenceBroker pb = getBroker();
>              JdbcAccess jdbcAccess = pb.serviceJdbcAccess();
>        ClassDescriptor logClassDesc = 
> pb.getClassDescriptor(de.on_ergy.lakon.data.model.Log.class);
>        ResultSetAndStatement rs = jdbcAccess.executeSQL("Select * from 
> Log", logClassDesc, false);
>        ResultSet r = rs.m_rs;
>        Vector logDataExpVec = new Vector();
>        Vector logDataDefaultVec = new Vector();
>        try {
>            while(r.next()) {
>                logDataExpVec.addElement(r.getClob("log_data_export"));
>                logDataDefaultVec.addElement(r.getClob("log_data_default"));
>            }
>                  } catch(SQLException ex) {
>            _log.error(ex);
>        }
>        _log.info("Fertig!!!");
>    }
> 
> -----
> 
> How can we get a quick solution?
> Thanks a lot for your spend time!
> 
> regards, josef
> 
> 
> 
> Armin Waibel schrieb:
>>
>> by the way, do your test pass if you set the 'proxy-prefetching-limit' 
>> of the relevant class-descriptor or reference/collection-descriptor's 
>> to '0'? Then OJB shouldn't prefetch the references.
>>
>> regards,
>> Armin
>>
>>
>>
>> Armin Waibel wrote:
>>> Hi Josef,
>>>
>>> Josef Wagner wrote:
>>>> Hello Armin,
>>>>
>>>> no, I have allready replaced all CGLib classes width JDK classes. My
>>>> problem is, that i can't debug the following issue: -------- Caused
>>>> by: java.lang.NullPointerException at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>
>>>>
>>>
>>> I think this is the access from the inner class 
>>> PBMaterializationListener to the private field 'pb' in class 
>>> QueryReferenceBroker.
>>> Decompiled code for QueryReferenceBroker:
>>> ...
>>> static org.apache.ojb.broker.core.PersistenceBrokerImpl 
>>> access$000(org.apache.ojb.broker.core.QueryReferenceBroker);
>>>   Code:
>>>    0:   aload_0
>>>    1:   getfield        #4; //Field 
>>> pb:Lorg/apache/ojb/broker/core/PersistenceBrokerImpl;
>>>    4:   areturn
>>>
>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>
>>>>
>>>>
>>>> -------- <code> Line 990: _listenedHandler = 
>>>> pb.getProxyFactory().getIndirectionHandler(owner); </code>
>>>>
>>>> pb is != null
>>>>
>>>> I have no idea :o/. Are there any no features, that I have to keep in
>>>> mind?
>>>>
>>>
>>> I remember that I got a similar ".access$000" error some weeks ago. 
>>> But I can't remember the reason. I thought it was a proxy issue (do 
>>> you get the same error when using CGLIB-proxy classes?) - but seems 
>>> this isn't the reason.
>>>
>>> Could you describe or post the test source code to reproduce the issue?
>>>
>>> regards,
>>> Armin
>>>
>>>
>>>> regards, Josef
>>>>
>>>>
>>>>
>>>> Armin Waibel schrieb:
>>>>> Hi Josef,
>>>>>
>>>>> could this be a proxy issue? Please check the settings in 
>>>>> OJB.properties file - do you need CGLib based proxies?
>>>>>
>>>>> regards, Armin
>>>>>
>>>>> Josef Wagner wrote:
>>>>>> Hi Armin, i tried to starting my application width 1.0.5, but no
>>>>>> success. I can`t get any informations when looking into the log. I 
>>>>>> think, it`s an Java Reflection Problem: Hier is the log output,
>>>>>> have you any idee ?
>>>>>>
>>>>>> java.lang.reflect.InvocationTargetException at 
>>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>>>>>>  at 
>>>>>> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>>>>>>  at 
>>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) 
>>>>>>
>>>>>>  at
>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) 
>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at 
>>>>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
>>>>>>  at
>>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>>>>>>  at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>>>>>>  at org.eclipse.jface.window.Window.open(Window.java:787) at
>>>>>> de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132) at 
>>>>>> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701) 
>>>>>>
>>>>>>  at 
>>>>>> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034) at
>>>>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636) at 
>>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
>>>>>>  at
>>>>>> de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44) at 
>>>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at 
>>>>>> java.lang.reflect.Method.invoke(Unknown Source) at
>>>>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at
>>>>>> org.eclipse.core.launcher.Main.basicRun(Main.java:278) at
>>>>>> org.eclipse.core.launcher.Main.run(Main.java:973) at
>>>>>> org.eclipse.core.launcher.Main.main(Main.java:948) Caused by:
>>>>>> org.apache.ojb.broker.PersistenceBrokerException: 
>>>>>> java.lang.NullPointerException at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486) 
>>>>>>
>>>>>>  at 
>>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473) 
>>>>>>
>>>>>>  at 
>>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at
>>>>>> de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248) at
>>>>>> de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131) at
>>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>>>>>>  at 
>>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> ... 36 more Caused by: java.lang.NullPointerException at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280) 
>>>>>>
>>>>>>  at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> ... 47 more
>>>>>>
>>>>>>
>>>>>> thanks for your help! regrads Josef
>>>>>>
>>>>>> Armin Waibel schrieb:
>>>>>>> Hi Josef,
>>>>>>>
>>>>>>> Josef Wagner wrote:
>>>>>>>> Hello List,
>>>>>>>>
>>>>>>>> I have a problem width loading large data from tables width 
>>>>>>>> clob-culumns. db: oracle 9.2.0.8 ojb: 1.0.4 driver: thin
>>>>>>>>
>>>>>>>> When i load 15000 rows, my applikation gets an
>>>>>>>> OutOfMemoryError. I have ensure, that Oracle width clobs is
>>>>>>>> the problem, width HSQLDB, all works fine. The data in the
>>>>>>>> clob-culumns are texts width AKTUALLY no more then 100
>>>>>>>> charakters.
>>>>>>>>
>>>>>>>> I have checked out the trunk of ojb and I see, that in the
>>>>>>>> platform package are some wrapper-classes for clob und blob?
>>>>>>>
>>>>>>> yep, I reworked the LOB-support a bit and add Blob/Clob
>>>>>>> java-types support (before OJB converts all LOB's to byte[]).
>>>>>>>
>>>>>>>
>>>>>>>> Unforunatelly, I can't test if this is the solution of my
>>>>>>>> problem, because I get lots of errors when starting my
>>>>>>>> application width a jar from the trunk version.
>>>>>>>>
>>>>>>>
>>>>>>> Don't use the trunk it's the alpha OJB 2.x. Please check out
>>>>>>> the OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5
>>>>>>> version.
>>>>>>>
>>>>>>>
>>>>>>>> Can anybody tell me, if the source in the trunk is the
>>>>>>>> solution for such problems I have?
>>>>>>>
>>>>>>> Don't know - give it a try.
>>>>>>>
>>>>>>>
>>>>>>>> Or is the solution to switch to oralce 10g?
>>>>>>>
>>>>>>> I run the LOB-test against OracleXE 10.2.0.1 and 
>>>>>>> classes12_g_10.2.0.2.jar driver. 
>>>>>>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The tests handle CLOB's up to 5000 characters.
>>>>>>>
>>>>>>>> Or should I use OCI instead of THIN driver?
>>>>>>>>
>>>>>>> Sorry I don't know (not a Oracle expert).
>>>>>>>
>>>>>>> regards, Armin
>>>>>>>
>>>>>>>> Thanks a lot for your answers.
>>>>>>>>
>>>>>>>> regrads Josef Wagner
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For 
>>>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Armin Waibel <ar...@apache.org>.
could you post the mapping and source code of class 
de.on_ergy.lakon.data.model.Log (it's sufficient to post fields/columns 
log_data_export, og_data_default).

regards,
Armin

Josef Wagner wrote:
> Hello Armin,
> The problem width my outOfMemory apears also width 1.0.5
> I have written a small test code an now I know, why I'm getting the 
> outOfMemory width OJB. I think it is a "bug" in OJB, because you read 
> the data from ResultSet width getString() instead of getClob(). Width 
> getString(), i get the outOfMemory
> 
> Here my test
> -----------
>    public void clobTest() {
>        PersistenceBroker pb = getBroker();
>              JdbcAccess jdbcAccess = pb.serviceJdbcAccess();
>        ClassDescriptor logClassDesc = 
> pb.getClassDescriptor(de.on_ergy.lakon.data.model.Log.class);
>        ResultSetAndStatement rs = jdbcAccess.executeSQL("Select * from 
> Log", logClassDesc, false);
>        ResultSet r = rs.m_rs;
>        Vector logDataExpVec = new Vector();
>        Vector logDataDefaultVec = new Vector();
>        try {
>            while(r.next()) {
>                logDataExpVec.addElement(r.getClob("log_data_export"));
>                logDataDefaultVec.addElement(r.getClob("log_data_default"));
>            }
>                  } catch(SQLException ex) {
>            _log.error(ex);
>        }
>        _log.info("Fertig!!!");
>    }
> 
> -----
> 
> How can we get a quick solution?
> Thanks a lot for your spend time!
> 
> regards, josef
> 
> 
> 
> Armin Waibel schrieb:
>>
>> by the way, do your test pass if you set the 'proxy-prefetching-limit' 
>> of the relevant class-descriptor or reference/collection-descriptor's 
>> to '0'? Then OJB shouldn't prefetch the references.
>>
>> regards,
>> Armin
>>
>>
>>
>> Armin Waibel wrote:
>>> Hi Josef,
>>>
>>> Josef Wagner wrote:
>>>> Hello Armin,
>>>>
>>>> no, I have allready replaced all CGLib classes width JDK classes. My
>>>> problem is, that i can't debug the following issue: -------- Caused
>>>> by: java.lang.NullPointerException at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>
>>>>
>>>
>>> I think this is the access from the inner class 
>>> PBMaterializationListener to the private field 'pb' in class 
>>> QueryReferenceBroker.
>>> Decompiled code for QueryReferenceBroker:
>>> ...
>>> static org.apache.ojb.broker.core.PersistenceBrokerImpl 
>>> access$000(org.apache.ojb.broker.core.QueryReferenceBroker);
>>>   Code:
>>>    0:   aload_0
>>>    1:   getfield        #4; //Field 
>>> pb:Lorg/apache/ojb/broker/core/PersistenceBrokerImpl;
>>>    4:   areturn
>>>
>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>
>>>>
>>>>
>>>> -------- <code> Line 990: _listenedHandler = 
>>>> pb.getProxyFactory().getIndirectionHandler(owner); </code>
>>>>
>>>> pb is != null
>>>>
>>>> I have no idea :o/. Are there any no features, that I have to keep in
>>>> mind?
>>>>
>>>
>>> I remember that I got a similar ".access$000" error some weeks ago. 
>>> But I can't remember the reason. I thought it was a proxy issue (do 
>>> you get the same error when using CGLIB-proxy classes?) - but seems 
>>> this isn't the reason.
>>>
>>> Could you describe or post the test source code to reproduce the issue?
>>>
>>> regards,
>>> Armin
>>>
>>>
>>>> regards, Josef
>>>>
>>>>
>>>>
>>>> Armin Waibel schrieb:
>>>>> Hi Josef,
>>>>>
>>>>> could this be a proxy issue? Please check the settings in 
>>>>> OJB.properties file - do you need CGLib based proxies?
>>>>>
>>>>> regards, Armin
>>>>>
>>>>> Josef Wagner wrote:
>>>>>> Hi Armin, i tried to starting my application width 1.0.5, but no
>>>>>> success. I can`t get any informations when looking into the log. I 
>>>>>> think, it`s an Java Reflection Problem: Hier is the log output,
>>>>>> have you any idee ?
>>>>>>
>>>>>> java.lang.reflect.InvocationTargetException at 
>>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>>>>>>  at 
>>>>>> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>>>>>>  at 
>>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) 
>>>>>>
>>>>>>  at
>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) 
>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at 
>>>>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
>>>>>>  at
>>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>>>>>>  at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>>>>>>  at org.eclipse.jface.window.Window.open(Window.java:787) at
>>>>>> de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132) at 
>>>>>> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701) 
>>>>>>
>>>>>>  at 
>>>>>> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034) at
>>>>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636) at 
>>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
>>>>>>  at
>>>>>> de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44) at 
>>>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at 
>>>>>> java.lang.reflect.Method.invoke(Unknown Source) at
>>>>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at
>>>>>> org.eclipse.core.launcher.Main.basicRun(Main.java:278) at
>>>>>> org.eclipse.core.launcher.Main.run(Main.java:973) at
>>>>>> org.eclipse.core.launcher.Main.main(Main.java:948) Caused by:
>>>>>> org.apache.ojb.broker.PersistenceBrokerException: 
>>>>>> java.lang.NullPointerException at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486) 
>>>>>>
>>>>>>  at 
>>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473) 
>>>>>>
>>>>>>  at 
>>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at
>>>>>> de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248) at
>>>>>> de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131) at
>>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>>>>>>  at 
>>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> ... 36 more Caused by: java.lang.NullPointerException at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280) 
>>>>>>
>>>>>>  at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> at 
>>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277) 
>>>>>>
>>>>>>
>>>>>>
>>>>>> ... 47 more
>>>>>>
>>>>>>
>>>>>> thanks for your help! regrads Josef
>>>>>>
>>>>>> Armin Waibel schrieb:
>>>>>>> Hi Josef,
>>>>>>>
>>>>>>> Josef Wagner wrote:
>>>>>>>> Hello List,
>>>>>>>>
>>>>>>>> I have a problem width loading large data from tables width 
>>>>>>>> clob-culumns. db: oracle 9.2.0.8 ojb: 1.0.4 driver: thin
>>>>>>>>
>>>>>>>> When i load 15000 rows, my applikation gets an
>>>>>>>> OutOfMemoryError. I have ensure, that Oracle width clobs is
>>>>>>>> the problem, width HSQLDB, all works fine. The data in the
>>>>>>>> clob-culumns are texts width AKTUALLY no more then 100
>>>>>>>> charakters.
>>>>>>>>
>>>>>>>> I have checked out the trunk of ojb and I see, that in the
>>>>>>>> platform package are some wrapper-classes for clob und blob?
>>>>>>>
>>>>>>> yep, I reworked the LOB-support a bit and add Blob/Clob
>>>>>>> java-types support (before OJB converts all LOB's to byte[]).
>>>>>>>
>>>>>>>
>>>>>>>> Unforunatelly, I can't test if this is the solution of my
>>>>>>>> problem, because I get lots of errors when starting my
>>>>>>>> application width a jar from the trunk version.
>>>>>>>>
>>>>>>>
>>>>>>> Don't use the trunk it's the alpha OJB 2.x. Please check out
>>>>>>> the OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5
>>>>>>> version.
>>>>>>>
>>>>>>>
>>>>>>>> Can anybody tell me, if the source in the trunk is the
>>>>>>>> solution for such problems I have?
>>>>>>>
>>>>>>> Don't know - give it a try.
>>>>>>>
>>>>>>>
>>>>>>>> Or is the solution to switch to oralce 10g?
>>>>>>>
>>>>>>> I run the LOB-test against OracleXE 10.2.0.1 and 
>>>>>>> classes12_g_10.2.0.2.jar driver. 
>>>>>>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The tests handle CLOB's up to 5000 characters.
>>>>>>>
>>>>>>>> Or should I use OCI instead of THIN driver?
>>>>>>>>
>>>>>>> Sorry I don't know (not a Oracle expert).
>>>>>>>
>>>>>>> regards, Armin
>>>>>>>
>>>>>>>> Thanks a lot for your answers.
>>>>>>>>
>>>>>>>> regrads Josef Wagner
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------- 
>>>>>>>>
>>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For 
>>>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Josef Wagner <jo...@on-ergy.de>.
Hello Armin,
The problem width my outOfMemory apears also width 1.0.5
I have written a small test code an now I know, why I'm getting the 
outOfMemory width OJB. I think it is a "bug" in OJB, because you read 
the data from ResultSet width getString() instead of getClob(). Width 
getString(), i get the outOfMemory

Here my test
-----------
    public void clobTest() {
        PersistenceBroker pb = getBroker();
       
        JdbcAccess jdbcAccess = pb.serviceJdbcAccess();
        ClassDescriptor logClassDesc = 
pb.getClassDescriptor(de.on_ergy.lakon.data.model.Log.class);
        ResultSetAndStatement rs = jdbcAccess.executeSQL("Select * from 
Log", logClassDesc, false);
        ResultSet r = rs.m_rs;
        Vector logDataExpVec = new Vector();
        Vector logDataDefaultVec = new Vector();
        try {
            while(r.next()) {
                logDataExpVec.addElement(r.getClob("log_data_export"));
                logDataDefaultVec.addElement(r.getClob("log_data_default"));
            }
           
        } catch(SQLException ex) {
            _log.error(ex);
        }
        _log.info("Fertig!!!");
    }

-----

How can we get a quick solution?
Thanks a lot for your spend time!

regards, josef



Armin Waibel schrieb:
>
> by the way, do your test pass if you set the 'proxy-prefetching-limit' 
> of the relevant class-descriptor or reference/collection-descriptor's 
> to '0'? Then OJB shouldn't prefetch the references.
>
> regards,
> Armin
>
>
>
> Armin Waibel wrote:
>> Hi Josef,
>>
>> Josef Wagner wrote:
>>> Hello Armin,
>>>
>>> no, I have allready replaced all CGLib classes width JDK classes. My
>>> problem is, that i can't debug the following issue: -------- Caused
>>> by: java.lang.NullPointerException at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>
>>>
>>
>> I think this is the access from the inner class 
>> PBMaterializationListener to the private field 'pb' in class 
>> QueryReferenceBroker.
>> Decompiled code for QueryReferenceBroker:
>> ...
>> static org.apache.ojb.broker.core.PersistenceBrokerImpl 
>> access$000(org.apache.ojb.broker.core.QueryReferenceBroker);
>>   Code:
>>    0:   aload_0
>>    1:   getfield        #4; //Field 
>> pb:Lorg/apache/ojb/broker/core/PersistenceBrokerImpl;
>>    4:   areturn
>>
>>
>>>
>>> at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>
>>>
>>>
>>> -------- <code> Line 990: _listenedHandler = 
>>> pb.getProxyFactory().getIndirectionHandler(owner); </code>
>>>
>>> pb is != null
>>>
>>> I have no idea :o/. Are there any no features, that I have to keep in
>>> mind?
>>>
>>
>> I remember that I got a similar ".access$000" error some weeks ago. 
>> But I can't remember the reason. I thought it was a proxy issue (do 
>> you get the same error when using CGLIB-proxy classes?) - but seems 
>> this isn't the reason.
>>
>> Could you describe or post the test source code to reproduce the issue?
>>
>> regards,
>> Armin
>>
>>
>>> regards, Josef
>>>
>>>
>>>
>>> Armin Waibel schrieb:
>>>> Hi Josef,
>>>>
>>>> could this be a proxy issue? Please check the settings in 
>>>> OJB.properties file - do you need CGLib based proxies?
>>>>
>>>> regards, Armin
>>>>
>>>> Josef Wagner wrote:
>>>>> Hi Armin, i tried to starting my application width 1.0.5, but no
>>>>> success. I can`t get any informations when looking into the log. I 
>>>>> think, it`s an Java Reflection Problem: Hier is the log output,
>>>>> have you any idee ?
>>>>>
>>>>> java.lang.reflect.InvocationTargetException at 
>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>>>>>  at 
>>>>> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114) 
>>>>>
>>>>>
>>>>>
>>>>> at
>>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>>>>>  at 
>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) 
>>>>>
>>>>>  at
>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) 
>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at 
>>>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
>>>>>  at
>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>>>>>  at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>>>>>  at org.eclipse.jface.window.Window.open(Window.java:787) at
>>>>> de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132) at 
>>>>> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701) 
>>>>>
>>>>>  at 
>>>>> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) 
>>>>>
>>>>>
>>>>>
>>>>> at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034) at
>>>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636) at 
>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
>>>>>  at
>>>>> de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44) at 
>>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 
>>>>>
>>>>>
>>>>>
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at 
>>>>> java.lang.reflect.Method.invoke(Unknown Source) at
>>>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at
>>>>> org.eclipse.core.launcher.Main.basicRun(Main.java:278) at
>>>>> org.eclipse.core.launcher.Main.run(Main.java:973) at
>>>>> org.eclipse.core.launcher.Main.main(Main.java:948) Caused by:
>>>>> org.apache.ojb.broker.PersistenceBrokerException: 
>>>>> java.lang.NullPointerException at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486) 
>>>>>
>>>>>  at 
>>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473) 
>>>>>
>>>>>  at 
>>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480) 
>>>>>
>>>>>
>>>>>
>>>>> at
>>>>> de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248) at
>>>>> de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131) at
>>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>>>>>  at 
>>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346) 
>>>>>
>>>>>
>>>>>
>>>>> ... 36 more Caused by: java.lang.NullPointerException at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280) 
>>>>>
>>>>>  at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143) 
>>>>>
>>>>>
>>>>>
>>>>> at 
>>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277) 
>>>>>
>>>>>
>>>>>
>>>>> ... 47 more
>>>>>
>>>>>
>>>>> thanks for your help! regrads Josef
>>>>>
>>>>> Armin Waibel schrieb:
>>>>>> Hi Josef,
>>>>>>
>>>>>> Josef Wagner wrote:
>>>>>>> Hello List,
>>>>>>>
>>>>>>> I have a problem width loading large data from tables width 
>>>>>>> clob-culumns. db: oracle 9.2.0.8 ojb: 1.0.4 driver: thin
>>>>>>>
>>>>>>> When i load 15000 rows, my applikation gets an
>>>>>>> OutOfMemoryError. I have ensure, that Oracle width clobs is
>>>>>>> the problem, width HSQLDB, all works fine. The data in the
>>>>>>> clob-culumns are texts width AKTUALLY no more then 100
>>>>>>> charakters.
>>>>>>>
>>>>>>> I have checked out the trunk of ojb and I see, that in the
>>>>>>> platform package are some wrapper-classes for clob und blob?
>>>>>>
>>>>>> yep, I reworked the LOB-support a bit and add Blob/Clob
>>>>>> java-types support (before OJB converts all LOB's to byte[]).
>>>>>>
>>>>>>
>>>>>>> Unforunatelly, I can't test if this is the solution of my
>>>>>>> problem, because I get lots of errors when starting my
>>>>>>> application width a jar from the trunk version.
>>>>>>>
>>>>>>
>>>>>> Don't use the trunk it's the alpha OJB 2.x. Please check out
>>>>>> the OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5
>>>>>> version.
>>>>>>
>>>>>>
>>>>>>> Can anybody tell me, if the source in the trunk is the
>>>>>>> solution for such problems I have?
>>>>>>
>>>>>> Don't know - give it a try.
>>>>>>
>>>>>>
>>>>>>> Or is the solution to switch to oralce 10g?
>>>>>>
>>>>>> I run the LOB-test against OracleXE 10.2.0.1 and 
>>>>>> classes12_g_10.2.0.2.jar driver. 
>>>>>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>>>>>>
>>>>>>
>>>>>>
>>>>>> The tests handle CLOB's up to 5000 characters.
>>>>>>
>>>>>>> Or should I use OCI instead of THIN driver?
>>>>>>>
>>>>>> Sorry I don't know (not a Oracle expert).
>>>>>>
>>>>>> regards, Armin
>>>>>>
>>>>>>> Thanks a lot for your answers.
>>>>>>>
>>>>>>> regrads Josef Wagner
>>>>>>>
>>>>>>> --------------------------------------------------------------------- 
>>>>>>>
>>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For 
>>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --------------------------------------------------------------------- 
>>>>>>
>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Armin Waibel <ar...@apache.org>.
by the way, do your test pass if you set the 'proxy-prefetching-limit' 
of the relevant class-descriptor or reference/collection-descriptor's to 
'0'? Then OJB shouldn't prefetch the references.

regards,
Armin



Armin Waibel wrote:
> Hi Josef,
> 
> Josef Wagner wrote:
>> Hello Armin,
>>
>> no, I have allready replaced all CGLib classes width JDK classes. My
>> problem is, that i can't debug the following issue: -------- Caused
>> by: java.lang.NullPointerException at 
>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>
>>
> 
> I think this is the access from the inner class 
> PBMaterializationListener to the private field 'pb' in class 
> QueryReferenceBroker.
> Decompiled code for QueryReferenceBroker:
> ...
> static org.apache.ojb.broker.core.PersistenceBrokerImpl 
> access$000(org.apache.ojb.broker.core.QueryReferenceBroker);
>   Code:
>    0:   aload_0
>    1:   getfield        #4; //Field 
> pb:Lorg/apache/ojb/broker/core/PersistenceBrokerImpl;
>    4:   areturn
> 
> 
>>
>> at 
>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>
>>
>>
>> -------- <code> Line 990: _listenedHandler = 
>> pb.getProxyFactory().getIndirectionHandler(owner); </code>
>>
>> pb is != null
>>
>> I have no idea :o/. Are there any no features, that I have to keep in
>> mind?
>>
> 
> I remember that I got a similar ".access$000" error some weeks ago. But 
> I can't remember the reason. I thought it was a proxy issue (do you get 
> the same error when using CGLIB-proxy classes?) - but seems this isn't 
> the reason.
> 
> Could you describe or post the test source code to reproduce the issue?
> 
> regards,
> Armin
> 
> 
>> regards, Josef
>>
>>
>>
>> Armin Waibel schrieb:
>>> Hi Josef,
>>>
>>> could this be a proxy issue? Please check the settings in 
>>> OJB.properties file - do you need CGLib based proxies?
>>>
>>> regards, Armin
>>>
>>> Josef Wagner wrote:
>>>> Hi Armin, i tried to starting my application width 1.0.5, but no
>>>> success. I can`t get any informations when looking into the log. I 
>>>> think, it`s an Java Reflection Problem: Hier is the log output,
>>>> have you any idee ?
>>>>
>>>> java.lang.reflect.InvocationTargetException at 
>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357) 
>>>>
>>>>
>>>>
>>>> at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>>>>  at 
>>>> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447) 
>>>>
>>>>
>>>>
>>>> at 
>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114) 
>>>>
>>>>
>>>>
>>>> at
>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>>>>  at 
>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) 
>>>>
>>>>  at
>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at 
>>>> org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at 
>>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
>>>>  at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>>>>  at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>>>>  at org.eclipse.jface.window.Window.open(Window.java:787) at
>>>> de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132) at 
>>>> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701)
>>>>  at 
>>>> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) 
>>>>
>>>>
>>>>
>>>> at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034) at
>>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636) at 
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) 
>>>>
>>>>
>>>>
>>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
>>>>  at
>>>> de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44) at 
>>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 
>>>>
>>>>
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at 
>>>> java.lang.reflect.Method.invoke(Unknown Source) at
>>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at
>>>> org.eclipse.core.launcher.Main.basicRun(Main.java:278) at
>>>> org.eclipse.core.launcher.Main.run(Main.java:973) at
>>>> org.eclipse.core.launcher.Main.main(Main.java:948) Caused by:
>>>> org.apache.ojb.broker.PersistenceBrokerException: 
>>>> java.lang.NullPointerException at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>>>
>>>>
>>>>
>>>> at 
>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518) 
>>>>
>>>>
>>>>
>>>> at 
>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486)
>>>>  at 
>>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473)
>>>>  at 
>>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480) 
>>>>
>>>>
>>>>
>>>> at
>>>> de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248) at
>>>> de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131) at
>>>> de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>>>>  at 
>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346) 
>>>>
>>>>
>>>>
>>>> ... 36 more Caused by: java.lang.NullPointerException at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280)
>>>>  at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143) 
>>>>
>>>>
>>>>
>>>> at 
>>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277) 
>>>>
>>>>
>>>>
>>>> ... 47 more
>>>>
>>>>
>>>> thanks for your help! regrads Josef
>>>>
>>>> Armin Waibel schrieb:
>>>>> Hi Josef,
>>>>>
>>>>> Josef Wagner wrote:
>>>>>> Hello List,
>>>>>>
>>>>>> I have a problem width loading large data from tables width 
>>>>>> clob-culumns. db: oracle 9.2.0.8 ojb: 1.0.4 driver: thin
>>>>>>
>>>>>> When i load 15000 rows, my applikation gets an
>>>>>> OutOfMemoryError. I have ensure, that Oracle width clobs is
>>>>>> the problem, width HSQLDB, all works fine. The data in the
>>>>>> clob-culumns are texts width AKTUALLY no more then 100
>>>>>> charakters.
>>>>>>
>>>>>> I have checked out the trunk of ojb and I see, that in the
>>>>>> platform package are some wrapper-classes for clob und blob?
>>>>>
>>>>> yep, I reworked the LOB-support a bit and add Blob/Clob
>>>>> java-types support (before OJB converts all LOB's to byte[]).
>>>>>
>>>>>
>>>>>> Unforunatelly, I can't test if this is the solution of my
>>>>>> problem, because I get lots of errors when starting my
>>>>>> application width a jar from the trunk version.
>>>>>>
>>>>>
>>>>> Don't use the trunk it's the alpha OJB 2.x. Please check out
>>>>> the OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5
>>>>> version.
>>>>>
>>>>>
>>>>>> Can anybody tell me, if the source in the trunk is the
>>>>>> solution for such problems I have?
>>>>>
>>>>> Don't know - give it a try.
>>>>>
>>>>>
>>>>>> Or is the solution to switch to oralce 10g?
>>>>>
>>>>> I run the LOB-test against OracleXE 10.2.0.1 and 
>>>>> classes12_g_10.2.0.2.jar driver. 
>>>>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>>>>>
>>>>>
>>>>>
>>>>> The tests handle CLOB's up to 5000 characters.
>>>>>
>>>>>> Or should I use OCI instead of THIN driver?
>>>>>>
>>>>> Sorry I don't know (not a Oracle expert).
>>>>>
>>>>> regards, Armin
>>>>>
>>>>>> Thanks a lot for your answers.
>>>>>>
>>>>>> regrads Josef Wagner
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For 
>>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>> additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Armin Waibel <ar...@apache.org>.
Hi Josef,

Josef Wagner wrote:
> Hello Armin,
> 
> no, I have allready replaced all CGLib classes width JDK classes. My
> problem is, that i can't debug the following issue: -------- Caused
> by: java.lang.NullPointerException at 
> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64)
>

I think this is the access from the inner class 
PBMaterializationListener to the private field 'pb' in class 
QueryReferenceBroker.
Decompiled code for QueryReferenceBroker:
...
static org.apache.ojb.broker.core.PersistenceBrokerImpl 
access$000(org.apache.ojb.broker.core.QueryReferenceBroker);
   Code:
    0:   aload_0
    1:   getfield        #4; //Field 
pb:Lorg/apache/ojb/broker/core/PersistenceBrokerImpl;
    4:   areturn


> 
> at 
> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990)
> 
> 
> -------- <code> Line 990: _listenedHandler = 
> pb.getProxyFactory().getIndirectionHandler(owner); </code>
> 
> pb is != null
> 
> I have no idea :o/. Are there any no features, that I have to keep in
> mind?
>

I remember that I got a similar ".access$000" error some weeks ago. But 
I can't remember the reason. I thought it was a proxy issue (do you get 
the same error when using CGLIB-proxy classes?) - but seems this isn't 
the reason.

Could you describe or post the test source code to reproduce the issue?

regards,
Armin


> regards, Josef
> 
> 
> 
> Armin Waibel schrieb:
>> Hi Josef,
>> 
>> could this be a proxy issue? Please check the settings in 
>> OJB.properties file - do you need CGLib based proxies?
>> 
>> regards, Armin
>> 
>> Josef Wagner wrote:
>>> Hi Armin, i tried to starting my application width 1.0.5, but no
>>> success. I can`t get any informations when looking into the log. 
>>> I think, it`s an Java Reflection Problem: Hier is the log output,
>>> have you any idee ?
>>> 
>>> java.lang.reflect.InvocationTargetException at 
>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357)
>>> 
>>> 
>>> at 
>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>>>  at 
>>> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447)
>>> 
>>> 
>>> at 
>>> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114)
>>> 
>>> 
>>> at
>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>>>  at 
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
>>>  at
>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) 
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843) at 
>>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
>>>  at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>>>  at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>>>  at org.eclipse.jface.window.Window.open(Window.java:787) at
>>> de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132) at 
>>> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209)
>>> 
>>> 
>>> at 
>>> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070)
>>> 
>>> 
>>> at 
>>> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701)
>>>  at 
>>> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677)
>>> 
>>> 
>>> at 
>>> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282)
>>> 
>>> 
>>> at 
>>> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223)
>>> 
>>> 
>>> at 
>>> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190)
>>> 
>>> 
>>> at 
>>> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706)
>>> 
>>> 
>>> at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034) at
>>> org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636) at 
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
>>> 
>>> 
>>> at 
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
>>>  at
>>> de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44) 
>>> at 
>>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
>>> 
>>> 
>>> at 
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
>>> 
>>> 
>>> at 
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
>>> 
>>> 
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
>>> at java.lang.reflect.Method.invoke(Unknown Source) at
>>> org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at
>>> org.eclipse.core.launcher.Main.basicRun(Main.java:278) at
>>> org.eclipse.core.launcher.Main.run(Main.java:973) at
>>> org.eclipse.core.launcher.Main.main(Main.java:948) Caused by:
>>> org.apache.ojb.broker.PersistenceBrokerException: 
>>> java.lang.NullPointerException at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393)
>>> 
>>> 
>>> at 
>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518)
>>> 
>>> 
>>> at 
>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486)
>>>  at 
>>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473)
>>>  at 
>>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480)
>>> 
>>> 
>>> at
>>> de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248) 
>>> at
>>> de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131) 
>>> at
>>> de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>>>  at 
>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
>>> 
>>> 
>>> ... 36 more Caused by: java.lang.NullPointerException at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280)
>>>  at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143)
>>> 
>>> 
>>> at 
>>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277)
>>> 
>>> 
>>> ... 47 more
>>> 
>>> 
>>> thanks for your help! regrads Josef
>>> 
>>> Armin Waibel schrieb:
>>>> Hi Josef,
>>>> 
>>>> Josef Wagner wrote:
>>>>> Hello List,
>>>>> 
>>>>> I have a problem width loading large data from tables width 
>>>>> clob-culumns. db: oracle 9.2.0.8 ojb: 1.0.4 driver: thin
>>>>> 
>>>>> When i load 15000 rows, my applikation gets an
>>>>> OutOfMemoryError. I have ensure, that Oracle width clobs is
>>>>> the problem, width HSQLDB, all works fine. The data in the
>>>>> clob-culumns are texts width AKTUALLY no more then 100
>>>>> charakters.
>>>>> 
>>>>> I have checked out the trunk of ojb and I see, that in the
>>>>> platform package are some wrapper-classes for clob und blob?
>>>> 
>>>> yep, I reworked the LOB-support a bit and add Blob/Clob
>>>> java-types support (before OJB converts all LOB's to byte[]).
>>>> 
>>>> 
>>>>> Unforunatelly, I can't test if this is the solution of my
>>>>> problem, because I get lots of errors when starting my
>>>>> application width a jar from the trunk version.
>>>>> 
>>>> 
>>>> Don't use the trunk it's the alpha OJB 2.x. Please check out
>>>> the OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5
>>>> version.
>>>> 
>>>> 
>>>>> Can anybody tell me, if the source in the trunk is the
>>>>> solution for such problems I have?
>>>> 
>>>> Don't know - give it a try.
>>>> 
>>>> 
>>>>> Or is the solution to switch to oralce 10g?
>>>> 
>>>> I run the LOB-test against OracleXE 10.2.0.1 and 
>>>> classes12_g_10.2.0.2.jar driver. 
>>>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup
>>>> 
>>>> 
>>>> The tests handle CLOB's up to 5000 characters.
>>>> 
>>>>> Or should I use OCI instead of THIN driver?
>>>>> 
>>>> Sorry I don't know (not a Oracle expert).
>>>> 
>>>> regards, Armin
>>>> 
>>>>> Thanks a lot for your answers.
>>>>> 
>>>>> regrads Josef Wagner
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org 
>>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>> 
>>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>>> additional commands, e-mail: ojb-user-help@db.apache.org
>>> 
>>> 
>> 
>> ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
>> additional commands, e-mail: ojb-user-help@db.apache.org
>> 
> 
> ---------------------------------------------------------------------
>  To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org For
> additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Josef Wagner <jo...@on-ergy.de>.
Hello Armin,

no, I have allready replaced all CGLib classes width JDK classes.
My problem is, that i can't debug the following issue:
--------
Caused by: java.lang.NullPointerException
   at 
org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 

   at 
org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 

--------
<code>
Line 990: _listenedHandler = 
pb.getProxyFactory().getIndirectionHandler(owner);
</code>

pb is != null

I have no idea :o/. Are there any no features, that I have to keep in mind?

regards, Josef



Armin Waibel schrieb:
> Hi Josef,
>
> could this be a proxy issue? Please check the settings in 
> OJB.properties file - do you need CGLib based proxies?
>
> regards,
> Armin
>
> Josef Wagner wrote:
>> Hi Armin,
>> i tried to starting my application width 1.0.5, but no success.
>> I can`t get any informations when looking into the log.
>> I think, it`s an Java Reflection Problem:
>> Hier is the log output, have you any idee ?
>>
>> java.lang.reflect.InvocationTargetException
>>    at 
>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357) 
>>
>>    at 
>> org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>>    at 
>> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447) 
>>
>>    at 
>> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114) 
>>
>>    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>>    at 
>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
>>    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
>>    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
>>    at 
>> org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
>>    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>>    at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>>    at org.eclipse.jface.window.Window.open(Window.java:787)
>>    at de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132)
>>    at 
>> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209) 
>>
>>    at 
>> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070) 
>>
>>    at 
>> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701)
>>    at 
>> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677) 
>>
>>    at 
>> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282) 
>>
>>    at 
>> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223) 
>>
>>    at 
>> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190) 
>>
>>    at 
>> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) 
>>
>>    at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034)
>>    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636)
>>    at 
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) 
>>
>>    at 
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
>>    at de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44)
>>    at 
>> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) 
>>
>>    at 
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) 
>>
>>    at 
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 
>>
>>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>    at java.lang.reflect.Method.invoke(Unknown Source)
>>    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
>>    at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
>>    at org.eclipse.core.launcher.Main.run(Main.java:973)
>>    at org.eclipse.core.launcher.Main.main(Main.java:948)
>> Caused by: org.apache.ojb.broker.PersistenceBrokerException: 
>> java.lang.NullPointerException
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290) 
>>
>>    at 
>> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597) 
>>
>>    at 
>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>
>>    at 
>> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
>>
>>    at 
>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518) 
>>
>>    at 
>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486)
>>    at 
>> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473)
>>    at 
>> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480) 
>>
>>    at de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248)
>>    at de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131)
>>    at de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>>    at 
>> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346) 
>>
>>    ... 36 more
>> Caused by: java.lang.NullPointerException
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
>>
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
>>
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048) 
>>
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985) 
>>
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413) 
>>
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495) 
>>
>>    at 
>> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490) 
>>
>>    at 
>> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280)
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143) 
>>
>>    at 
>> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277) 
>>
>>    ... 47 more
>>
>>
>> thanks for your help!
>> regrads
>> Josef
>>
>> Armin Waibel schrieb:
>>> Hi Josef,
>>>
>>> Josef Wagner wrote:
>>>> Hello List,
>>>>
>>>> I have a problem width loading large data from tables width 
>>>> clob-culumns.
>>>> db: oracle 9.2.0.8
>>>> ojb: 1.0.4
>>>> driver: thin
>>>>
>>>> When i load 15000 rows, my applikation gets an OutOfMemoryError. I 
>>>> have ensure, that Oracle width clobs is the problem, width HSQLDB, 
>>>> all works fine.
>>>> The data in the clob-culumns are texts width AKTUALLY no more then 
>>>> 100 charakters.
>>>>
>>>> I have checked out the trunk of ojb and I see, that in the platform 
>>>> package are some wrapper-classes for clob und blob?
>>>
>>> yep, I reworked the LOB-support a bit and add Blob/Clob java-types 
>>> support (before OJB converts all LOB's to byte[]).
>>>
>>>
>>>> Unforunatelly, I can't test if this is the solution of my problem, 
>>>> because I get lots of errors when starting my application width a 
>>>> jar from the trunk version.
>>>>
>>>
>>> Don't use the trunk it's the alpha OJB 2.x. Please check out the 
>>> OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5 version.
>>>
>>>
>>>> Can anybody tell me, if the source in the trunk is the solution for 
>>>> such problems I have?
>>>
>>> Don't know - give it a try.
>>>
>>>
>>>> Or is the solution to switch to oralce 10g?
>>>
>>> I run the LOB-test against OracleXE 10.2.0.1 and 
>>> classes12_g_10.2.0.2.jar driver.
>>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>>>
>>> The tests handle CLOB's up to 5000 characters.
>>>
>>>> Or should I use OCI instead of THIN driver?
>>>>
>>> Sorry I don't know (not a Oracle expert).
>>>
>>> regards,
>>> Armin
>>>
>>>> Thanks a lot for your answers.
>>>>
>>>> regrads
>>>> Josef Wagner
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Armin Waibel <ar...@apache.org>.
Hi Josef,

could this be a proxy issue? Please check the settings in OJB.properties 
file - do you need CGLib based proxies?

regards,
Armin

Josef Wagner wrote:
> Hi Armin,
> i tried to starting my application width 1.0.5, but no success.
> I can`t get any informations when looking into the log.
> I think, it`s an Java Reflection Problem:
> Hier is the log output, have you any idee ?
> 
> java.lang.reflect.InvocationTargetException
>    at 
> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357) 
> 
>    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
>    at 
> org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447) 
> 
>    at 
> de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114)
>    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
>    at 
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
>    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
>    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
>    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
>    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
>    at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
>    at org.eclipse.jface.window.Window.open(Window.java:787)
>    at de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132)
>    at 
> de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209) 
> 
>    at 
> org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070) 
> 
>    at 
> org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701)
>    at 
> org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677) 
> 
>    at 
> org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282) 
> 
>    at 
> org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223)
>    at 
> org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190) 
> 
>    at 
> org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706) 
> 
>    at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034)
>    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636)
>    at 
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
>    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
>    at de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44)
>    at 
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) 
> 
>    at 
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) 
> 
>    at 
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 
> 
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>    at java.lang.reflect.Method.invoke(Unknown Source)
>    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
>    at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
>    at org.eclipse.core.launcher.Main.run(Main.java:973)
>    at org.eclipse.core.launcher.Main.main(Main.java:948)
> Caused by: org.apache.ojb.broker.PersistenceBrokerException: 
> java.lang.NullPointerException
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290) 
> 
>    at 
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597) 
> 
>    at 
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
> 
>    at 
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393) 
> 
>    at 
> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518) 
> 
>    at 
> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486)
>    at 
> de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473)
>    at 
> de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480) 
> 
>    at de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248)
>    at de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131)
>    at de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
>    at 
> org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346) 
> 
>    ... 36 more
> Caused by: java.lang.NullPointerException
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64) 
> 
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990) 
> 
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048) 
> 
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985) 
> 
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413) 
> 
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495) 
> 
>    at 
> org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490) 
> 
>    at 
> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280)
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143) 
> 
>    at 
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277) 
> 
>    ... 47 more
> 
> 
> thanks for your help!
> regrads
> Josef
> 
> Armin Waibel schrieb:
>> Hi Josef,
>>
>> Josef Wagner wrote:
>>> Hello List,
>>>
>>> I have a problem width loading large data from tables width 
>>> clob-culumns.
>>> db: oracle 9.2.0.8
>>> ojb: 1.0.4
>>> driver: thin
>>>
>>> When i load 15000 rows, my applikation gets an OutOfMemoryError. I 
>>> have ensure, that Oracle width clobs is the problem, width HSQLDB, 
>>> all works fine.
>>> The data in the clob-culumns are texts width AKTUALLY no more then 
>>> 100 charakters.
>>>
>>> I have checked out the trunk of ojb and I see, that in the platform 
>>> package are some wrapper-classes for clob und blob?
>>
>> yep, I reworked the LOB-support a bit and add Blob/Clob java-types 
>> support (before OJB converts all LOB's to byte[]).
>>
>>
>>> Unforunatelly, I can't test if this is the solution of my problem, 
>>> because I get lots of errors when starting my application width a jar 
>>> from the trunk version.
>>>
>>
>> Don't use the trunk it's the alpha OJB 2.x. Please check out the 
>> OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5 version.
>>
>>
>>> Can anybody tell me, if the source in the trunk is the solution for 
>>> such problems I have?
>>
>> Don't know - give it a try.
>>
>>
>>> Or is the solution to switch to oralce 10g?
>>
>> I run the LOB-test against OracleXE 10.2.0.1 and 
>> classes12_g_10.2.0.2.jar driver.
>> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>>
>> The tests handle CLOB's up to 5000 characters.
>>
>>> Or should I use OCI instead of THIN driver?
>>>
>> Sorry I don't know (not a Oracle expert).
>>
>> regards,
>> Armin
>>
>>> Thanks a lot for your answers.
>>>
>>> regrads
>>> Josef Wagner
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Josef Wagner <jo...@on-ergy.de>.
Hi Armin,
i tried to starting my application width 1.0.5, but no success.
I can`t get any informations when looking into the log.
I think, it`s an Java Reflection Problem:
Hier is the log output, have you any idee ?

java.lang.reflect.InvocationTargetException
    at 
org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:357)
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
    at 
org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:447)
    at 
de.on_ergy.lakon.rcp.dialog.LoginDialog.buttonPressed(LoginDialog.java:114)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:556)
    at 
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
    at org.eclipse.jface.window.Window.open(Window.java:787)
    at de.on_ergy.base.ui.OnErgyDialog.open(OnErgyDialog.java:132)
    at 
de.on_ergy.lakon.rcp.LakonWorkbenchWindowAdviser.postWindowOpen(LakonWorkbenchWindowAdviser.java:209)
    at 
org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1070)
    at 
org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:701)
    at 
org.eclipse.ui.internal.Workbench.busyOpenWorkbenchWindow(Workbench.java:677)
    at 
org.eclipse.ui.internal.Workbench.doOpenFirstTimeWindow(Workbench.java:1282)
    at 
org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:1223)
    at 
org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:190)
    at 
org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:706)
    at org.eclipse.ui.internal.Workbench.init(Workbench.java:1034)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1636)
    at 
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
    at de.on_ergy.lakon.rcp.RcpApplication.run(RcpApplication.java:44)
    at 
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
    at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
    at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
    at org.eclipse.core.launcher.Main.run(Main.java:973)
    at org.eclipse.core.launcher.Main.main(Main.java:948)
Caused by: org.apache.ojb.broker.PersistenceBrokerException: 
java.lang.NullPointerException
    at 
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:290)
    at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1597)
    at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393)
    at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:393)
    at 
de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:518)
    at 
de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1486)
    at 
de.on_ergy.lakon.data.DataProviderOjb.select(DataProviderOjb.java:1473)
    at 
de.on_ergy.base.provider.OnErgyDataProviderOjb.select(OnErgyDataProviderOjb.java:480)
    at de.on_ergy.lakon.data.DataProvider.select(DataProvider.java:248)
    at de.on_ergy.lakon.bp.stammdaten.LakonBP.select(LakonBP.java:131)
    at de.on_ergy.lakon.rcp.dialog.LoginDialog$1.run(LoginDialog.java:97)
    at 
org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
    ... 36 more
Caused by: java.lang.NullPointerException
    at 
org.apache.ojb.broker.core.QueryReferenceBroker.access$000(QueryReferenceBroker.java:64)
    at 
org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.addThisListenerTo(QueryReferenceBroker.java:990)
    at 
org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.<init>(QueryReferenceBroker.java:1048)
    at 
org.apache.ojb.broker.core.QueryReferenceBroker$PBMaterializationListener.<init>(QueryReferenceBroker.java:985)
    at 
org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReference(QueryReferenceBroker.java:413)
    at 
org.apache.ojb.broker.core.QueryReferenceBroker.retrieveReferences(QueryReferenceBroker.java:495)
    at 
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:490)
    at 
org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:280)
    at 
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:143)
    at 
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:277)
    ... 47 more


thanks for your help!
regrads
Josef

Armin Waibel schrieb:
> Hi Josef,
>
> Josef Wagner wrote:
>> Hello List,
>>
>> I have a problem width loading large data from tables width 
>> clob-culumns.
>> db: oracle 9.2.0.8
>> ojb: 1.0.4
>> driver: thin
>>
>> When i load 15000 rows, my applikation gets an OutOfMemoryError. I 
>> have ensure, that Oracle width clobs is the problem, width HSQLDB, 
>> all works fine.
>> The data in the clob-culumns are texts width AKTUALLY no more then 
>> 100 charakters.
>>
>> I have checked out the trunk of ojb and I see, that in the platform 
>> package are some wrapper-classes for clob und blob?
>
> yep, I reworked the LOB-support a bit and add Blob/Clob java-types 
> support (before OJB converts all LOB's to byte[]).
>
>
>> Unforunatelly, I can't test if this is the solution of my problem, 
>> because I get lots of errors when starting my application width a jar 
>> from the trunk version.
>>
>
> Don't use the trunk it's the alpha OJB 2.x. Please check out the 
> OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5 version.
>
>
>> Can anybody tell me, if the source in the trunk is the solution for 
>> such problems I have?
>
> Don't know - give it a try.
>
>
>> Or is the solution to switch to oralce 10g?
>
> I run the LOB-test against OracleXE 10.2.0.1 and 
> classes12_g_10.2.0.2.jar driver.
> http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup 
>
> The tests handle CLOB's up to 5000 characters.
>
>> Or should I use OCI instead of THIN driver?
>>
> Sorry I don't know (not a Oracle expert).
>
> regards,
> Armin
>
>> Thanks a lot for your answers.
>>
>> regrads
>> Josef Wagner
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: Oracle Blob Clob Lob Problem

Posted by Armin Waibel <ar...@apache.org>.
Hi Josef,

Josef Wagner wrote:
> Hello List,
> 
> I have a problem width loading large data from tables width clob-culumns.
> db: oracle 9.2.0.8
> ojb: 1.0.4
> driver: thin
> 
> When i load 15000 rows, my applikation gets an OutOfMemoryError. I have 
> ensure, that Oracle width clobs is the problem, width HSQLDB, all works 
> fine.
> The data in the clob-culumns are texts width AKTUALLY no more then 100 
> charakters.
> 
> I have checked out the trunk of ojb and I see, that in the platform 
> package are some wrapper-classes for clob und blob?

yep, I reworked the LOB-support a bit and add Blob/Clob java-types 
support (before OJB converts all LOB's to byte[]).


> Unforunatelly, I can't test if this is the solution of my problem, 
> because I get lots of errors when starting my application width a jar 
> from the trunk version.
>

Don't use the trunk it's the alpha OJB 2.x. Please check out the 
OJB_1_0_RELEASE branch it's the stable upcoming OJB 1.0.5 version.


> Can anybody tell me, if the source in the trunk is the solution for such 
> problems I have?

Don't know - give it a try.


> Or is the solution to switch to oralce 10g?

I run the LOB-test against OracleXE 10.2.0.1 and 
classes12_g_10.2.0.2.jar driver.
http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/test/org/apache/ojb/broker/lob/LOBTest.java?view=markup
The tests handle CLOB's up to 5000 characters.

> Or should I use OCI instead of THIN driver?
>
Sorry I don't know (not a Oracle expert).

regards,
Armin

> Thanks a lot for your answers.
> 
> regrads
> Josef Wagner
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org