Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-5383

Should Invocation and/or MarshalledInvocation implement toString()?

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Obsolete
    • Icon: Major Major
    • No Release
    • JBossAS-4.2.2.GA, JBossAS-5.0.0.Beta4
    • EJB2, Logging
    • None
    • Low

      Here's what a client side log prints when calling an EJB2 with unified invoker after enabling
      TRACE on org.jboss and org.jnp:

      2008-04-08 12:11:56,847 INFO [com.acme.ejb2.slsb.TimerEnquirerHttpTest] (main) test000
      2008-04-08 12:11:56,848 INFO [com.acme.ejb2.slsb.TimerEnquirerHttpTest] (main) Create initial context
      2008-04-08 12:11:56,866 INFO [com.acme.ejb2.slsb.TimerEnquirerHttpTest] (main) Initial context created
      2008-04-08 12:11:56,867 INFO [com.acme.ejb2.slsb.TimerEnquirerHttpTest] (main) Lookup ejb home
      2008-04-08 12:11:57,038 DEBUG [org.jboss.remoting.MicroRemoteClientInvoker] (main) org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81 connecting
      2008-04-08 12:11:57,039 DEBUG [org.jboss.remoting.MicroRemoteClientInvoker] (main) org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81 connected
      2008-04-08 12:11:57,080 DEBUG [org.jboss.security.SecurityAssociation] (main) Using ThreadLocal: false
      2008-04-08 12:11:57,085 TRACE [org.jboss.security.SecurityAssociation] (main) getPrincipal, principal=null
      2008-04-08 12:11:57,086 TRACE [org.jboss.remoting.MicroRemoteClientInvoker] (main) org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81(1) invoking InvocationRequest[b753f8, INVOKER, org.jboss.invocation.Invocation@1e9cb75]
      2008-04-08 12:11:57,118 TRACE [org.jboss.remoting.marshal.MarshalFactory] (main) Could not find marshaller for data type 'invocation'. Object in collection is null
      2008-04-08 12:11:57,118 TRACE [org.jboss.remoting.marshal.MarshalFactory] (main) Could not look up marshaller by data type ('invocation'). Will try to load dynamically.
      2008-04-08 12:11:57,120 TRACE [org.jboss.remoting.marshal.MarshalFactory] (main) Found marshaller by loading locally.
      2008-04-08 12:11:57,156 TRACE [org.jboss.remoting.serialization.impl.java.JavaSerializationManager] (main) Creating ObjectOutputStream
      2008-04-08 12:11:57,422 TRACE [org.jboss.remoting.serialization.impl.java.JavaSerializationManager] (main) Creating ObjectInputStreamWithClassLoader
      2008-04-08 12:11:57,486 TRACE [org.jboss.remoting.InvokerRegistry] (main) Found and returning cached client invoker (org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81)
      2008-04-08 12:11:57,488 INFO [com.acme.ejb2.slsb.TimerEnquirerHttpTest] (main) Ejb home retrieved, call create on the home
      2008-04-08 12:11:57,488 TRACE [org.jboss.security.SecurityAssociation] (main) getPrincipal, principal=null
      2008-04-08 12:11:57,488 TRACE [org.jboss.remoting.MicroRemoteClientInvoker] (main) org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81(1) invoking InvocationRequest[10655dd, INVOKER, org.jboss.invocation.Invocation@ef5502]
      2008-04-08 12:11:57,489 TRACE [org.jboss.remoting.serialization.impl.java.JavaSerializationManager] (main) Creating ObjectOutputStream
      2008-04-08 12:11:57,530 TRACE [org.jboss.remoting.serialization.impl.java.JavaSerializationManager] (main) Creating ObjectInputStreamWithClassLoader
      2008-04-08 12:11:57,558 TRACE [org.jboss.invocation.MarshalledValueInputStream] (main) resolveProxyClass called, ifaces=[com.acme.ejb2.slsb.TimeTeller]
      2008-04-08 12:11:57,566 TRACE [org.jboss.invocation.MarshalledValueInputStream] (main) resolveProxyClass called, ifaces=[com.acme.ejb2.slsb.TimeTellerHome,javax.ejb.Handle]
      2008-04-08 12:11:57,568 TRACE [org.jboss.remoting.InvokerRegistry] (main) Found and returning cached client invoker (org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81)
      2008-04-08 12:11:57,568 INFO [com.acme.ejb2.slsb.TimerEnquirerHttpTest] (main) Ejb proxy retrieved, now call the business method
      2008-04-08 12:11:57,569 TRACE [org.jboss.security.SecurityAssociation] (main) getPrincipal, principal=null
      2008-04-08 12:11:57,569 TRACE [org.jboss.remoting.MicroRemoteClientInvoker] (main) org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81(1) invoking InvocationRequest[111a775, INVOKER, org.jboss.invocation.Invocation@91cee]
      2008-04-08 12:11:57,570 TRACE [org.jboss.remoting.serialization.impl.java.JavaSerializationManager] (main) Creating ObjectOutputStream
      2008-04-08 12:11:57,580 TRACE [org.jboss.remoting.serialization.impl.java.JavaSerializationManager] (main) Creating ObjectInputStreamWithClassLoader
      2008-04-08 12:11:57,587 INFO [com.acme.ejb2.slsb.TimerEnquirerHttpTest] (main) Called what's the time on the ejb proxy and returned: Tue Apr 08 12:11:57 CEST 2008

      Log messages like this are meaningless to me:

      2008-04-08 12:11:57,086 TRACE [org.jboss.remoting.MicroRemoteClientInvoker] (main) org.jboss.remoting.transport.http.HTTPClientInvoker@1d05c81(1) invoking InvocationRequest[b753f8, INVOKER, org.jboss.invocation.Invocation@1e9cb75]

      I know what my code does, but looking at this, how do I know whether this is a JNDI lookup call?
      (I have NamingService configured to use Unified invoker with Servlet as transport) or a EJB home call?
      or a EJB proxy invocation?

      What do people think about adding a toString() to org.jboss.invocation.Invocation and/or
      org.jboss.invocation.MarshalledInvocation? Thoughts?

              rh-ee-galder Galder ZamarreƱo
              rh-ee-galder Galder ZamarreƱo
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: