Monosij Dutta-Roy wrote:
hi Simon - Here's the full trace.

Thanks.

Isn't there a "caused by" trace following this trace?  From looking at the
Tuscany runtime code in JavaBeansDataBinding, I would expect to see this.

  Simon

monosij

[INFO] Started Jetty Server
QueryServlet reference injection failed, using ComponentContext
**************************************************
select distinct * from vw_patient_encounter WHERE sex = 'F' AND cptCode = '77057' AND rownum <= 10
Count: 9
2011-04-18 21:35:43.565:WARN::/qmAppSCA01/QueryServlet
java.lang.IllegalArgumentException: Pass-by-value is not supported for the given object: java.util.ArrayList at org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:132) at org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:169) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.copy(MediatorImpl.java:542) at org.apache.tuscany.sca.databinding.impl.MediatorImpl.copyOutput(MediatorImpl.java:615) at org.apache.tuscany.sca.binding.sca.provider.SCABindingInvoker.processResponse(SCABindingInvoker.java:120) at org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:59) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125) at org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239) at org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
at $Proxy34.getPatients(Unknown Source)
at org.rd.qm.impl.QueryControllerImpl.getPatients(QueryControllerImpl.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:164) at org.apache.tuscany.sca.binding.sca.provider.SCABindingLocalInvocationInterceptor.invoke(SCABindingLocalInvocationInterceptor.java:49) at org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:58) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125) at org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239) at org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
at $Proxy32.getPatients(Unknown Source)
at org.rd.qm.impl.QueryServiceImpl.getPatients(QueryServiceImpl.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:164) at org.apache.tuscany.sca.binding.sca.provider.SCABindingLocalInvocationInterceptor.invoke(SCABindingLocalInvocationInterceptor.java:49) at org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:58) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278) at org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125) at org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239) at org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
at $Proxy31.getPatients(Unknown Source)
at org.rd.qm.servlet.QueryServlet.service(QueryServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

--------------------------------------------------


On Mon, Apr 18, 2011 at 5:55 AM, Simon Nash <[email protected] <mailto:[email protected]>> wrote:

    This stack trace appears to be incomplete.  Please can you attach
    the full stack trace.

     Simon


    Monosij Dutta-Roy wrote:


        I am getting the following error when executing a query in
        webapp I have been working on.
        All composites load fine in webapp and I also tried out a few
        empty get / sets with strings.
        However on db access and in returning an ArrayList of Person.
        Person is the interface to concrete class PatientImpl. I am
        passing ArrayList of Person.
        I put PatientImpl objects in ArrayList of Person.
        ---------------------------------------------------------
        Problem accessing /qmAppSCA01/QueryServlet. Reason:

           Pass-by-value is not supported for the given object:
        java.util.ArrayList
        Caused by:

        java.lang.IllegalArgumentException: Pass-by-value is not
        supported for the given object: java.util.ArrayList
        at
        
org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:132)
        at
        
org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:169)
        at
        
org.apache.tuscany.sca.databinding.impl.MediatorImpl.copy(MediatorImpl.java:542)
        at
        
org.apache.tuscany.sca.databinding.impl.MediatorImpl.copyOutput(MediatorImpl.java:615)
        at
        
org.apache.tuscany.sca.binding.sca.provider.SCABindingInvoker.processResponse(SCABindingInvoker.java:120)
        at
        
org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:59)
        at
        
org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322)
        at
        
org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278)
        at
        
org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125)
        at
        
org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239)
        at
        
org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
        at $Proxy34.getPatients(Unknown Source)
        at
        
org.rd.qm.impl.QueryControllerImpl.getPatients(QueryControllerImpl.java:29)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
        
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
        
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        ...
        ...
        ---------------------------------------------------------
        When:
        QueryControllerImpl in qmController
        (QueryControllerComponent/QueryController) is attempting to
        return the ArrayList of Persons to
        QueryServiceImpl in qmAppSCA01

        QueryControllerImpl in qmController being called:
        public ArrayList<Person> getPatients(HashMap<String, String>
        requestMap_) {
        String query = queryComposer.getQuery(requestMap_);
        ArrayList<Person> patients = queryExecutor.getPatients(query);
        return patients;
        }
        ---------------------------------------------------------
        By:
        QueryServiceImpl from qmAppSCA01:
        public ArrayList<Person> getPatients(HashMap<String, String>
        requestMap_) {
        return queryController.getPatients(requestMap_);
        }
        ---------------------------------------------------------
        Composte defs for QueryControllerComponent and QueryServiceComponent
        ---------------------------------------------------------
           <component name="QueryControllerComponent">
               <implementation.java
        class="org.rd.qm.impl.QueryControllerImpl"/>
               <service name="QueryController">
                   <interface.java interface="org.rd.qm.QueryController"/>
               </service>
               <reference name="queryComposer"
        target="QueryComposerComponent/QueryComposer">
                   <interface.java interface="org.rd.qm.QueryComposer"/>
               </reference>
               <reference name="queryExecutor"
        target="QueryExecutorComponent/QueryExecutor">
                   <interface.java interface="org.rd.qm.QueryExecutor"/>
               </reference>
           </component>
        ---------------------------------------------------------
           <component name="QueryServiceComponent">
               <implementation.java
        class="org.rd.qm.impl.QueryServiceImpl"/>
               <service name="QueryService">
        <interface.java interface="org.rd.qm.QueryService" />
               </service>
               <reference name="queryController"
        target="QueryControllerComponent/QueryController">
                <interface.java interface="org.rd.qm.QueryController" />
               </reference>
           </component>
        ---------------------------------------------------------

        Thanks for your help.

        monosij




Reply via email to