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