10 Replies Latest reply on Sep 14, 2006 6:12 PM by Scott Stark

    Moving core o.j.invocation classes to common

    Brian Stansberry Master

      With the effort underway to consolidate the client-side interceptor models, a problem that comes up is where to put some of the core org.jboss.invocation classes, e.g. org.jboss.invocation.Invocation.

      http://jira.jboss.com/jira/browse/JBREM-385 says the old invokers will move to remoting, so Remoting will need access to these classes. So leaving them in the AS server module is no good; don't want remoting depending on AS/server. Depending on how we refactor, some code in an independent cluster binary might have the same problem.

      Moving them to Remoting could work, but smells funny due to the widespread usage of these classes in the AS. For example, org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor would be importing a class from Remoting, which seems a bit odd.

      A logical place for these is in common-core. What do people (Scott/Adrian) think about moving them there?

      I worked out what I think would need to be moved, all in o.j.invocation:

      Invocation
      InvocationContext
      InvocationKey
      InvocationType
      Invoker
      JBossLazyUnmarshallingException
      MarshalledInvocation
      MarshalledValue
      MarshalledValueInputStream
      MarshalledValueOutputStream
      PayloadKey
      SecurityActions


      Regardless of what is decided about the rest of the classes, the JBoss Cache people would like to see MarshalledValueIn(Out)putStream moved. Those are true utility classes, and JBC uses them. Moving them to common-core would make it possible to eliminate jboss-minimal.jar from the standalone JBC distribution.