Does the WaitForBlueprintGBean gbean I wrote for this purpose not work here?  
If not, is there something we can do to fix it?

thanks
david jencks


On May 4, 2010, at 9:49 AM, [email protected] wrote:

> Author: gawor
> Date: Tue May  4 16:49:30 2010
> New Revision: 940946
> 
> URL: http://svn.apache.org/viewvc?rev=940946&view=rev
> Log:
> wait for PortalContainerServices gbean to be initialized (since it is 
> initialized via blueprint)
> 
> Modified:
>    
> geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml
>    
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/AdminConsoleExtensionGBean.java
>    
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServices.java
>    
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServicesGBean.java
> 
> Modified: 
> geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml?rev=940946&r1=940945&r2=940946&view=diff
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml
>  (original)
> +++ 
> geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml
>  Tue May  4 16:49:30 2010
> @@ -236,6 +236,7 @@ limitations under the License.
>     <bean id="GeronimoPortalServices"
>           class="org.apache.geronimo.pluto.PortalContainerServicesGBean"
>           factory-method="getSingleton"
> +          init-method="init"
>           activation="eager">
>         <property name="renderConfigService">
>             <ref component-id="RenderConfigService"/>
> 
> Modified: 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/AdminConsoleExtensionGBean.java
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/AdminConsoleExtensionGBean.java?rev=940946&r1=940945&r2=940946&view=diff
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/AdminConsoleExtensionGBean.java
>  (original)
> +++ 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/AdminConsoleExtensionGBean.java
>  Tue May  4 16:49:30 2010
> @@ -194,6 +194,8 @@ public class AdminConsoleExtensionGBean 
>     * @see org.apache.geronimo.gbean.GBeanLifecycle#doStart()
>     */
>     public synchronized void doStart() throws Exception {
> +        portletContainerServices.waitForInitialization(60 * 1000);
> +        
>         // check to make sure that a portal driver has registered with the 
> container services
>         if (portletContainerServices.getAdminConfiguration() == null) {
>             throw new RuntimeException("No portal driver has been registered 
> with the portal container services");
> 
> Modified: 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServices.java
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServices.java?rev=940946&r1=940945&r2=940946&view=diff
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServices.java
>  (original)
> +++ 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServices.java
>  Tue May  4 16:49:30 2010
> @@ -31,6 +31,8 @@ import org.apache.pluto.driver.services.
>  */
> public interface PortalContainerServices {
> 
> +    boolean waitForInitialization(int timeout) throws InterruptedException;
> +    
>     AdminConfiguration getAdminConfiguration();
>     void setAdminConfiguration(AdminConfiguration adminConfiguration);
> 
> 
> Modified: 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServicesGBean.java
> URL: 
> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServicesGBean.java?rev=940946&r1=940945&r2=940946&view=diff
> ==============================================================================
> --- 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServicesGBean.java
>  (original)
> +++ 
> geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalContainerServicesGBean.java
>  Tue May  4 16:49:30 2010
> @@ -18,6 +18,9 @@
> 
> package org.apache.geronimo.pluto;
> 
> +import java.util.concurrent.CountDownLatch;
> +import java.util.concurrent.TimeUnit;
> +
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> import org.apache.geronimo.gbean.GBeanInfo;
> @@ -46,7 +49,8 @@ public class PortalContainerServicesGBea
>     private DriverConfiguration driverConfiguration;
>     private AdminConfiguration adminConfiguration;
> 
> -
> +    private CountDownLatch latch = new CountDownLatch(1);
> +    
>     public void doStart() throws Exception {
>         log.debug("Started PortalContainerServicesGBean");
>     }
> @@ -111,6 +115,14 @@ public class PortalContainerServicesGBea
>         }
>         return portalServices;
>     }
> +    
> +    public void init() {
> +        latch.countDown();
> +    }
> +    
> +    public boolean waitForInitialization(int timeout) throws 
> InterruptedException {
> +        return latch.await(timeout, TimeUnit.MILLISECONDS);
> +    }
> 
>     public static final GBeanInfo GBEAN_INFO;
> 
> 
> 

Reply via email to