Re: TravelsampleHi,

I can reproduce the problem now. It leads to two questions:

1) Do we model the conversation correctly here for the search? Do we use the 
conversation to correlate the request and response for the asynchronous search?
2) What's the correct behavior if the conversation expires? Should the 
container start a new conversation instead of complaining about the expiration?

Thanks,
Raymond


From: Albert Tsang 
Sent: Wednesday, February 17, 2010 10:10 AM
To: [email protected] 
Subject: Re: Travelsample


Thanks Raymond,  fyi – you must execute a search, let some time pass, reload or 
refresh the page and then re-run the exact search.  Any subsequent search 
against the application should generate the exception.  Thanks!

-a-


On 2/17/10 10:00 AM, "Raymond Feng" <[email protected]> wrote:


  Hi,
   
  Thanks for the update. I'll try to reproduce the problem and see what goes 
wrong here.
   
  Raymond

  From: Albert Tsang <mailto:[email protected]>  
  Sent: Wednesday, February 17, 2010 9:28 AM
  To: [email protected] 
  Subject: Re: Travelsample

  I added in @ConversationalAttributes and set maxAge to 5 minutes.  I added 
this to all interfaces in the travelsample that were annotated as 
@Conversational and still get this error.

  - a-


  On 2/15/10 11:45 PM, "Albert Tsang" <[email protected]> wrote:


    OK, will try thanks!

    -a-


    On 2/15/10  11:41 PM, "Raymond Feng" <[email protected]>  wrote:

     

      Hi,
       
      In OSOA specs of SCA, it  says:
       
      " 

      1662  The @ConversationAttributes annotation type is used to define a set 
of  attributes which apply to

      1663  conversational interfaces of services or references of a Java 
class. The  annotation has the following

      1664 attributes:

      1665  • maxIdleTime (optional) - The  maximum time that can pass between 
operations within a  single

      1666 conversation. If more time than this  passes, then the container may 
end the conversation.

      1667  • maxAge (optional) - The  maximum time that the entire 
conversation can remain active. If  more

      1668 time than this passes, then the container  may end the conversation.

      1669 • singlePrincipal (optional) –  If true, only the principal (the 
user) that started the conversation  has

      1670 authority to continue the conversation. The  default value is false.

      "

      Can  you try to adjust the maxAge using @ConversationAttriutes against 
the Java  component implementation class?


      From: Albert Tsang <mailto:[email protected]>   
      Sent: Monday, February 15, 2010 4:11 PM
      To: [email protected] 
      Subject:  Travelsample

      I managed to get the travelsample working with the ui,  booking, 
travelcatalog and payment working on one host and the search  function with 
callback working on another. 
      After a while, coming back to  the ui client I get the following error 
after reloading the page and trying  to execute a search...

      org.osoa.sca.ConversationEndedException:  Conversation null has expired.
          at  
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.conversationPreinvoke(JDKInvocationHandler.java:464)
          at  
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:340)
          at  
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:193)
          at  $Proxy56.searchAsynch(Unknown Source)
          at  
com.tuscanyscatours.travelcatalog.impl.TravelCatalogImpl.search(TravelCatalogImpl.java:86)
          at  sun.reflect.NativeMethodAccessorImpl.invoke0(Native  Method)
          at  
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at  java.lang.reflect.Method.invoke(Method.java:597)
          at  
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:156)
          at  
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:60)
          at  
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
          at  
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:60)
          at  
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:346)
          at  
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:193)
          at  $Proxy59.search(Unknown Source)
          at  com.tuscanyscatours.impl.SCAToursImpl.search(SCAToursImpl.java:58)
          at  sun.reflect.NativeMethodAccessorImpl.invoke0(Native  Method)
          at  
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at  java.lang.reflect.Method.invoke(Method.java:597)
          at  
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:156)
          at  
org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:67)
          at  
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceServlet.handleJSONRPCMethodInvocation(JSONRPCServiceServlet.java:257)
          at  
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceServlet.handleServiceRequest(JSONRPCServiceServlet.java:160)
          at  
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceServlet.service(JSONRPCServiceServlet.java:97)
          at  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at  
org.apache.tuscany.sca.host.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:107)
          at  
org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:94)
          at  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at  
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at  
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at  
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at  
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          at  
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at  
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at  
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
          at  
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
          at  
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
          at  
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
          at  java.lang.Thread.run(Thread.java:619)





Reply via email to