8 Replies Latest reply: Mar 5, 2012 7:54 AM by Antoine Herzog RSS

    disablePortalContainer ? what is it used for ?

    Antoine Herzog Master

      Hello,

       

      in the code of the PortalContainerConfig, there is a method to disable a Portal Container :

       

      /**
          * Disables a portal container if it has not yet been disabled.
          * @param name the name of the portal container to disable
          */
         public synchronized void disablePortalContainer(String name)
      ....
      

       

      What does "disable a portal container" mean, and what is it used for ?

       

      I have look in the code, and in the logs, and the only place where it is really used, is in the RootContainer class :

       

         /**
          * Register a new portal container. It will try to detect if {@link PortalContainerDefinition} has
          *  been defined, if so it will create the portal container later otherwise we assume that we 
          * expect the old behavior, thus the portal container will be initialized synchronously 
          * @param context the context of the portal container
          */
         public void registerPortalContainer(ServletContext context)
         {
            SecurityManager security = System.getSecurityManager();
            if (security != null)
               security.checkPermission(ContainerPermissions.MANAGE_CONTAINER_PERMISSION);     
            
            PortalContainerConfig config = getPortalContainerConfig();
            if (config.hasDefinition())
            {
               // The new behavior has been detected thus, the creation will be done at the end asynchronously
               if (config.isPortalContainerName(context.getServletContextName()))
               {
                  // The portal context has been registered has a portal container
                  portalContexts.add(new WebAppInitContext(context));
               }
               else
               {
                  if (PropertyManager.isDevelopping())
                  {
                     log.info("We assume that the ServletContext '" + context.getServletContextName()
                        + "' is not a portal since no portal container definition with the same name has been"
                        + " registered to the component PortalContainerConfig. The related portal container"
                        + " will be declared as disabled.");
                  }
                  config.disablePortalContainer(context.getServletContextName());
               }
               // We assume that a ServletContext of a portal container owns configuration files
               final PortalContainerPreInitTask task = new PortalContainerPreInitTask()
               {
      
                  public void execute(ServletContext context, PortalContainer portalContainer)
                  {
                     portalContainer.registerContext(context);
                  }
               };
               PortalContainer.addInitTask(context, task);
            }
            else
            {
               // Ensure that the portal container has been registered
               config.registerPortalContainerName(context.getServletContextName());
               // The old behavior has been detected thus, the creation will be done synchronously
               createPortalContainer(context);
            }
         }
      

       

      Does anyone have more explaination of this disabling a portal container ?

       

      Is there anything in the user interface of the portal, to create a portal container or to delete / remove one ?

       

      Any explaination or link to some documentation are welcome !

       

      My question is about global "how the portal works", but also for this performance question :

       

      Thanks,

       

      Antoine

      JBoss Portal and GateIn (JSR-286), JSF, Richfaces, J2EE, Drools, BRMS.

      http://www.sysemo.com/Sysemo-expertise-portails-jboss-portal.php