/*
 * Copyright 2002-2012 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.beans.factory;

import org.springframework.beans.FatalBeanException;

Exception to be thrown from a FactoryBean's getObject() method if the bean is not fully initialized yet, for example because it is involved in a circular reference.

Note: A circular reference with a FactoryBean cannot be solved by eagerly caching singleton instances like with normal beans. The reason is that every FactoryBean needs to be fully initialized before it can return the created bean, while only specific normal beans need to be initialized - that is, if a collaborating bean actually invokes them on initialization instead of just storing the reference.

Author:Juergen Hoeller
See Also:
Since:30.10.2003
/** * Exception to be thrown from a FactoryBean's {@code getObject()} method * if the bean is not fully initialized yet, for example because it is involved * in a circular reference. * * <p>Note: A circular reference with a FactoryBean cannot be solved by eagerly * caching singleton instances like with normal beans. The reason is that * <i>every</i> FactoryBean needs to be fully initialized before it can * return the created bean, while only <i>specific</i> normal beans need * to be initialized - that is, if a collaborating bean actually invokes * them on initialization instead of just storing the reference. * * @author Juergen Hoeller * @since 30.10.2003 * @see FactoryBean#getObject() */
@SuppressWarnings("serial") public class FactoryBeanNotInitializedException extends FatalBeanException {
Create a new FactoryBeanNotInitializedException with the default message.
/** * Create a new FactoryBeanNotInitializedException with the default message. */
public FactoryBeanNotInitializedException() { super("FactoryBean is not fully initialized yet"); }
Create a new FactoryBeanNotInitializedException with the given message.
Params:
  • msg – the detail message
/** * Create a new FactoryBeanNotInitializedException with the given message. * @param msg the detail message */
public FactoryBeanNotInitializedException(String msg) { super(msg); } }