Example usage for org.springframework.beans.factory.support BeanDefinitionBuilder setDestroyMethodName

List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder setDestroyMethodName

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support BeanDefinitionBuilder setDestroyMethodName.

Prototype

public BeanDefinitionBuilder setDestroyMethodName(@Nullable String methodName) 

Source Link

Document

Set the destroy method for this definition.

Usage

From source file:org.carewebframework.shell.help.HelpXmlParser.java

@Override
protected void doParse(Element element, BeanDefinitionBuilder builder) {
    builder.setInitMethodName("init");
    builder.setDestroyMethodName("destroy");
    builder.addDependsOn("helpRegistry");
    builder.addPropertyReference("helpRegistry", "helpRegistry");
    addProperties(element, builder);/*  ww w.j av a  2 s  .  c om*/
}

From source file:org.carewebframework.shell.themes.ThemeXmlParser.java

@Override
protected void doParse(Element element, BeanDefinitionBuilder builder) {
    builder.setInitMethodName("init");
    builder.setDestroyMethodName("destroy");
    builder.addDependsOn("themeRegistry");
    builder.addPropertyReference("themeRegistry", "themeRegistry");
    addProperties(element, builder);//from  ww w  .  j a  v  a  2 s  .  c om
}

From source file:org.ops4j.pax.wicket.spi.springdm.injection.spring.AbstractSpringBeanDefinitionParser.java

@Override
public void doParse(Element element, BeanDefinitionBuilder builder) {
    builder.addPropertyReference("bundleContext", "bundleContext");
    prepareInjection(element, builder);//w w w. j  a  v a 2 s  . c  om
    builder.setLazyInit(false);
    builder.setInitMethodName("start");
    builder.setDestroyMethodName("stop");
    super.doParse(element, builder);
}

From source file:com.dangdang.ddframe.job.lite.spring.namespace.parser.common.AbstractJobBeanDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(final Element element, final ParserContext parserContext) {
    BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(SpringJobScheduler.class);
    factory.setInitMethodName("init");
    factory.setDestroyMethodName("shutdown");
    factory.addConstructorArgValue(BeanDefinitionBuilder
            .rootBeanDefinition(element.getAttribute(CLASS_ATTRIBUTE)).getBeanDefinition());
    factory.addConstructorArgReference(element.getAttribute(REGISTRY_CENTER_REF_ATTRIBUTE));
    factory.addConstructorArgValue(createJobConfiguration(element));
    BeanDefinition jobEventConfig = createJobEventConfig(element);
    if (null != jobEventConfig) {
        factory.addConstructorArgValue(jobEventConfig);
    }/*  w  w  w  .  ja  va2s  .c  o  m*/
    factory.addConstructorArgValue(createJobListeners(element));
    return factory.getBeanDefinition();
}

From source file:net.phoenix.thrift.xml.ServerBeanDefinitionParser.java

@Override
protected void preParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    // ?init-methoddestroy-method
    String start = element.getAttribute("start");
    if (this.parseBoolean(start)) {
        builder.setInitMethodName("serve");
        builder.setDestroyMethodName("stop");
    }//from   w  w w .  j a  v  a2s  . co m
    String handler = element.getAttribute("event-handler");
    if (StringUtils.isNotBlank(handler)) {
        builder.addPropertyReference("serverEventHandler", handler);
    }
    Element argsElement = DomUtils.getChildElementByTagName(element, "args");
    parserContext.getDelegate().parseCustomElement(argsElement);
    String argsBeanName = argsElement.getAttribute("id");
    builder.addConstructorArgReference(argsBeanName);
}

From source file:org.carewebframework.shell.plugins.PluginXmlParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    builder.setInitMethodName("init");
    builder.setDestroyMethodName("destroy");
    builder.addDependsOn("pluginRegistry");
    builder.addDependsOn("manifestIterator");
    builder.addPropertyReference("pluginRegistry", "pluginRegistry");
    builder.addPropertyValue("path", getResourcePath(parserContext));
    addProperties(element, builder);/*  w  w w  . ja  va2  s . c  o  m*/

    Element resourceTag = findTag("resource", element);

    if (resourceTag != null) {
        ManagedList<AbstractBeanDefinition> resourceList = new ManagedList<AbstractBeanDefinition>();
        NodeList resources = getTagChildren("resource", element);

        for (int i = 0; i < resources.getLength(); i++) {
            parseResources((Element) resources.item(i), builder, resourceList);
        }

        builder.addPropertyValue("resources", resourceList);
    }

    Element securityTag = findTag("security", element);

    if (securityTag != null) {
        addProperties(securityTag, builder);
        ManagedList<AbstractBeanDefinition> authorityList = new ManagedList<AbstractBeanDefinition>();
        NodeList authorities = getTagChildren("security", element);

        for (int i = 0; i < authorities.getLength(); i++) {
            parseAuthorities((Element) authorities.item(i), builder, authorityList);
        }

        builder.addPropertyValue("authorities", authorityList);
    }

    Element serializationTag = findTag("serialization", element);

    if (serializationTag != null) {
        addProperties(serializationTag, builder);
        ManagedList<AbstractBeanDefinition> propertyList = new ManagedList<AbstractBeanDefinition>();
        NodeList properties = getTagChildren("serialization", element);

        for (int i = 0; i < properties.getLength(); i++) {
            parseProperties((Element) properties.item(i), builder, propertyList);
        }

        builder.addPropertyValue("properties", propertyList);
    }
}

From source file:org.smf4j.spring.CsvFileBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext context, BeanDefinitionBuilder builder) {
    parseTopLevelProperties(element, context, builder);
    String layoutId = createLayout(element, context, builder);
    builder.addPropertyReference(LAYOUT_ATTR, layoutId);
    builder.setDestroyMethodName("close");
}

From source file:org.solmix.runtime.support.spring.ContainerDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
    String cname = element.getAttribute("name");
    String id = element.getAttribute("id");
    //container name 
    if (StringUtils.isEmpty(cname)) {
        // idname
        if (!StringUtils.isEmpty(id)) {
            cname = id;//from w ww. j  ava  2 s.  c o m
        } else {
            cname = "solmix";
        }
    }
    super.doParse(element, ctx, bean);
    if (ctx.getRegistry().containsBeanDefinition(cname)) {
        BeanDefinition def = ctx.getRegistry().getBeanDefinition(cname);
        copyProps(bean, def);
        bean.addConstructorArgValue(cname);
    } else if (!"solmix".equals(cname)) {
        bean.getRawBeanDefinition().setBeanClass(SpringContainer.class);
        bean.setDestroyMethodName("close");
        try {
            element.setUserData("ID", cname, null);
        } catch (Throwable t) {
            //ignore
        }
    } else {
        addContainerWiringAttribute(bean, true, cname, ctx);
        bean.getRawBeanDefinition().setAttribute(WIRE_CONTAINER_CREATE, resolveId(element, null, ctx));
        bean.addConstructorArgValue(cname);
    }

}

From source file:fr.xebia.management.config.EhCacheManagementServiceDefinitionParser.java

/**
 * Instantiates a {@link net.sf.ehcache.management.ManagementService}
 *///  w  w w. j av  a2  s. c  o  m
@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .rootBeanDefinition(net.sf.ehcache.management.ManagementService.class);

    // Mark as infrastructure bean and attach source location.
    builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    builder.addConstructorArgReference(element.getAttribute(CACHE_MANAGER_ATTRIBUTE));
    builder.addConstructorArgReference(element.getAttribute(MBEAN_SERVER_ATTRIBUTE));
    builder.addConstructorArgValue(element.getAttribute(REGISTER_CACHE_MANAGER_ATTRIBUTE));
    builder.addConstructorArgValue(element.getAttribute(REGISTER_CACHES_ATTRIBUTE));
    builder.addConstructorArgValue(element.getAttribute(REGISTER_CACHE_CONFIGURATIONS_ATTRIBUTE));
    builder.addConstructorArgValue(element.getAttribute(REGISTER_CACHE_STATISTICS_ATTRIBUTE));

    builder.setInitMethodName("init");
    builder.setDestroyMethodName("dispose");

    return builder.getBeanDefinition();
}

From source file:fr.xebia.management.config.ManagedBasicDataSourceBeanDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ManagedBasicDataSource.class);

    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    fillBuilderWithAttributeIfExists(builder, element, "accessToUnderlyingConnectionAllowed",
            "access-to-underlying-connection-allowed", boolean.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "connectionInitSqls", "connection-init-sqls",
            java.util.Collection.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "connectionProperties", "connection-properties",
            String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "defaultAutoCommit", "default-auto-commit",
            boolean.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "defaultCatalog", "default-catalog", String.class,
            parserContext);/*from   w  w  w.  j av  a  2  s.  c om*/
    fillBuilderWithAttributeIfExists(builder, element, "defaultReadOnly", "default-read-only", boolean.class,
            parserContext);

    Element defaultTransactionIsolationElement = DomUtils.getChildElementByTagName(element,
            "default-transaction-isolation");
    if (defaultTransactionIsolationElement != null) {
        int defaultTransactionIsolation;
        String value = defaultTransactionIsolationElement.getAttribute("value");
        if ("NONE".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_NONE;
        } else if ("READ_UNCOMMITTED".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_READ_UNCOMMITTED;
        } else if ("READ_COMMITTED".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_READ_COMMITTED;
        } else if ("REPEATABLE_READ".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_REPEATABLE_READ;
        } else if ("SERIALIZABLE".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_SERIALIZABLE;
        } else {
            String msg = "Invalid value for '<default-transaction-isolation' value=\"" + value + "\" />'";
            parserContext.getReaderContext().fatal(msg, defaultTransactionIsolationElement);
            throw new IllegalStateException(msg);
        }
        builder.addPropertyValue("defaultTransactionIsolation", defaultTransactionIsolation);

    }

    fillBuilderWithAttributeIfExists(builder, element, "driverClassName", "driver-class-name", String.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "initialSize", "initial-size", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "logAbandoned", "log-abandoned", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxActive", "max-active", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxIdle", "max-idle", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxOpenPreparedStatements",
            "max-open-prepared-statements", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxWait", "max-wait", long.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "minEvictableIdleTimeMillis",
            "min-evictable-idle-time-millis", long.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "minIdle", "min-idle", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "numTestsPerEvictionRun", "num-tests-per-eviction-run",
            int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "password", "password", String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "poolPreparedStatements", "pool-prepared-statements",
            boolean.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "removeAbandoned", "remove-abandoned", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "removeAbandonedTimeout", "remove-abandoned-timeout",
            int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "testOnBorrow", "test-on-borrow", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "testOnReturn", "test-on-return", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "testWhileIdle", "test-while-idle", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "timeBetweenEvictionRunsMillis",
            "time-between-eviction-runs-millis", long.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "url", "url", String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "username", "username", String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "validationQuery", "validation-query", String.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "validationQueryTimeout", "validation-query-timeout",
            int.class, parserContext);

    builder.setDestroyMethodName("close");

    return builder.getBeanDefinition();
}