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 Ju...@tp-soft.com on 2002/12/02 08:41:22 UTC

dynamic proxies in client/server

hi!
i tried to use dynamic proxies for one class (proxy="dynamic" in mapping) 
just to see, how (and if) this works, and if that improves my performance.
when i do for example a PB.getCount( query ), the code works. when i do a 
PB.getIteratorByQuery() and iterate through the result set (using the 
interface) i get some instances, but when i access those objects (any 
interface-method, even getting the oid), i get a 

java.lang.IllegalArgumentException
        at 
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63)
        at java.lang.reflect.Field.set(Field.java:519)
        at 
org.apache.ojb.broker.metadata.PersistentFieldDefaultImpl.set(PersistentFieldDefaultImpl.java:136)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReference(PersistenceBrokerImpl.java:891)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReferences(PersistenceBrokerImpl.java:867)
        at 
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:417)
        at 
org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:203)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1124)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1247)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1273)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(PersistenceBrokerImpl.java:930)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections(PersistenceBrokerImpl.java:976)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getDBObject(PersistenceBrokerImpl.java:1347)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByIdentity(PersistenceBrokerImpl.java:1460)
        at 
org.apache.ojb.broker.server.RequestProcessor.execute(RequestProcessor.java:262)
        at 
org.apache.ojb.broker.server.PersistenceBrokerServlet.doPost(PersistenceBrokerServlet.java:199)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
        at java.lang.Thread.run(Thread.java:536)
2002-12-02 08:20:18,676 ERROR accesslayer.RsIterator 
(org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:216))  
- java.lang.IllegalArgumentException


on the server. does anyone know what causes my problem?

have a nice week
Juergen Richtsfeld

Re: dynamic proxies in client/server

Posted by Jakob Bräuchi <jb...@gmx.ch>.
hi jürgen,

please get the latest PersistentFieldDefaultImpl from repository, this
revision can handle proxies

hth
jakob

----- Original Message -----
From: <Ju...@tp-soft.com>
To: <oj...@jakarta.apache.org>
Sent: Monday, December 02, 2002 8:41 AM
Subject: dynamic proxies in client/server


> hi!
> i tried to use dynamic proxies for one class (proxy="dynamic" in mapping)
> just to see, how (and if) this works, and if that improves my performance.
> when i do for example a PB.getCount( query ), the code works. when i do a
> PB.getIteratorByQuery() and iterate through the result set (using the
> interface) i get some instances, but when i access those objects (any
> interface-method, even getting the oid), i get a
>
> java.lang.IllegalArgumentException
>         at
>
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.
java:63)
>         at java.lang.reflect.Field.set(Field.java:519)
>         at
>
org.apache.ojb.broker.metadata.PersistentFieldDefaultImpl.set(PersistentFiel
dDefaultImpl.java:136)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReference(Persi
stenceBrokerImpl.java:891)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveReferences(Pers
istenceBrokerImpl.java:867)
>         at
>
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterat
or.java:417)
>         at
> org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:203)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Pe
rsistenceBrokerImpl.java:1124)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Pe
rsistenceBrokerImpl.java:1247)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Pe
rsistenceBrokerImpl.java:1273)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollection(Pers
istenceBrokerImpl.java:930)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.retrieveCollections(Per
sistenceBrokerImpl.java:976)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getDBObject(Persistence
BrokerImpl.java:1347)
>         at
>
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getObjectByIdentity(Per
sistenceBrokerImpl.java:1460)
>         at
>
org.apache.ojb.broker.server.RequestProcessor.execute(RequestProcessor.java:
262)
>         at
>
org.apache.ojb.broker.server.PersistenceBrokerServlet.doPost(PersistenceBrok
erServlet.java:199)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
>         at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
>         at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:190)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
>         at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
>         at
>
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
>         at
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1027)
>         at
>
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125
)
>         at java.lang.Thread.run(Thread.java:536)
> 2002-12-02 08:20:18,676 ERROR accesslayer.RsIterator
> (org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:216))
> - java.lang.IllegalArgumentException
>
>
> on the server. does anyone know what causes my problem?
>
> have a nice week
> Juergen Richtsfeld
>
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
>