Re: Oracle Blob Clob Lob Problem
Armin Waibel <[email protected]>
| Newsgroups | gmane.comp.jakarta.ojb.user |
|---|---|
| Message-ID | <[email protected]> |
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: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [email protected] For
>>>> additional commands, e-mail: [email protected]
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected] For
>>> additional commands, e-mail: [email protected]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected] For
>> additional commands, e-mail: [email protected]
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected] For
> additional commands, e-mail: [email protected]
>
>