Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * JBoss, Home of Professional Open Source.
  * Copyright 2012, Red Hat, Inc., and individual contributors
  * as indicated by the @author tags. See the copyright.txt file in the
  * distribution for a full listing of individual contributors.
  *
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
package org.jboss.as.webservices.injection;

Author(s):
Richard Opalka
Jim Ma
public final class WSComponent extends BasicComponent {
    private volatile BasicComponentInstance wsComponentInstance;
    private volatile ManagedReference reference;

    
We can't lock on this because the org.jboss.as.ee.component.BasicComponent.waitForComponentStart() also synchronizes on it, and calls java.lang.Object.wait().
    private final Object lock = new Object();
    public WSComponent(final WSComponentCreateService createService) {
        super(createService);
    }
       if ( == null) {
           synchronized () {
               if ( == null &&  == null) {
                    = (BasicComponentInstancecreateInstance();
               }
               if ( == null &&  != null) {
                    = (BasicComponentInstancethis.createInstance(.getInstance());
               }
           }
       }
       return ;
    }
    public void setReference(ManagedReference reference) {
        this. = reference;
    }
    @Override
    public void stop() {
        if ( == nullreturn;
        synchronized() {
            if ( != null) {
                .destroy();
                 = null;
            }
        }
    }
New to GrepCode? Check out our FAQ X