[jboss-dev-forums] [Design of POJO Server] - Re: Pushing correct aspect manager for a deployment

adrian@jboss.org do-not-reply at jboss.com
Tue Aug 5 03:12:32 EDT 2008


"kabir.khan at jboss.com" wrote : I have attempted to add the correct manager to the metadata for the deployment in my deployer
  | 
  |   |       unit.getMutableMetaData().addMetaData(scopedManager, AspectManager.class);
  |   | 
  | 
  | This gets added to a MemoryMetaDataLoader with 
  | 
  |   | ScopeKey=[APPLICATION=vfszip:/Users/kabir/sourcecontrol/jboss-head/testsuite/output/lib/aop-scopeddependency-scoped.sar]
  |   | 
  | 
  | However, the bean's MetaData does not contain that, it only contains MetaDataRetrievals for the following levels:
  | 
  |   | WORK=10814978]
  |   | [INSTANCE=ScopedManager_6_vfszip:/Users/kabir/sourcecontrol/jboss-head/testsuite/output/lib/aop-scopeddependency-scoped.sar]
  |   | [CLASS=class org.jboss.test.aop.scopeddependency.ScopedTester]
  |   | [JVM=THIS]
  |   | 
  | Is this a bug, or have I completely misunderstood?
  | 
  | 

It's not implemented. The ScopeInfo used by the KernelControllerContext
that it passes to the metadata repository is not populated from the 
scope created for the Deployment component by the ScopeBuilder.

To make this work, you'd need something like the following (untested):

  | Index: src/main/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java
  | ===================================================================
  | --- src/main/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java  (revision 76634)
  | +++ src/main/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java  (working copy)
  | @@ -27,12 +27,14 @@
  |  import org.jboss.beans.metadata.spi.ClassLoaderMetaData;
  |  import org.jboss.beans.metadata.spi.ValueMetaData;
  |  import org.jboss.dependency.spi.Controller;
  | +import org.jboss.dependency.spi.ScopeInfo;
  |  import org.jboss.deployers.spi.DeploymentException;
  |  import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
  |  import org.jboss.deployers.structure.spi.DeploymentUnit;
  |  import org.jboss.kernel.Kernel;
  |  import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
  |  import org.jboss.kernel.spi.dependency.KernelControllerContext;
  | +import org.jboss.metadata.spi.scope.ScopeKey;
  |  
  |  /**
  |   * BeanMetaDataDeployer.<p>
  | @@ -108,6 +110,9 @@
  |           }
  |        }
  |        KernelControllerContext context = new AbstractKernelControllerContext(null, deployment, null);
  | +      ScopeInfo scopeInfo = context.getScopeInfo();
  | +      scopeInfo.setScope(unit.getScope());
  | +      scopeInfo.setMutableScope(unit.getMutableScope());
  |        try
  |        {
  |           controller.install(context);
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168631#4168631

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4168631



More information about the jboss-dev-forums mailing list