List of usage examples for org.springframework.beans.factory.config BeanDefinition SCOPE_SINGLETON
String SCOPE_SINGLETON
To view the source code for org.springframework.beans.factory.config BeanDefinition SCOPE_SINGLETON.
Click Source Link
From source file:org.brushingbits.jnap.persistence.factory.DaoFactoryPostProcessor.java
protected BeanDefinition createDaoDefinition(Class<? extends PersistentModel> entityClass, SessionFactory sessionFactory) { Class daoClass = IndexedModel.class.isAssignableFrom(entityClass) ? GenericFullTextDao.class : GenericDao.class; return BeanDefinitionBuilder.genericBeanDefinition(daoClass).addConstructorArgValue(entityClass) .addPropertyValue("sessionFactory", sessionFactory).setScope(BeanDefinition.SCOPE_SINGLETON) .getBeanDefinition();//from w w w. j a v a2s. c om }
From source file:br.com.caelum.vraptor.ioc.spring.SpringRegistry.java
/** * From org.springframework.context.annotation.ClassPathBeanDefinitionScanner#applyScope() * @param definition/*from w ww .java 2 s. c om*/ * @param scopeMetadata * * @return */ private BeanDefinitionHolder applyScopeOn(BeanDefinitionHolder definition, ScopeMetadata scopeMetadata) { String scope = scopeMetadata.getScopeName(); ScopedProxyMode proxyMode = scopeMetadata.getScopedProxyMode(); definition.getBeanDefinition().setScope(scope); if (BeanDefinition.SCOPE_SINGLETON.equals(scope) || BeanDefinition.SCOPE_PROTOTYPE.equals(scope) || proxyMode.equals(ScopedProxyMode.NO)) { return definition; } else { boolean proxyTargetClass = proxyMode.equals(ScopedProxyMode.TARGET_CLASS); return ScopedProxyUtils.createScopedProxy(definition, (BeanDefinitionRegistry) beanFactory, proxyTargetClass); } }
From source file:io.dohko.jdbi.spring.beans.factory.DBIRepositoryDefinitionBeanFactoryProcessor.java
/** * Creates a instance of this class with a singleton bean scope. * @param packageName the base-package name to scan the types annotated with {@link Repository}. It might not be <code>null</code> or empty. */// w w w. j a v a 2s . co m public DBIRepositoryDefinitionBeanFactoryProcessor(final String packageName) { this(packageName, BeanDefinition.SCOPE_SINGLETON); }
From source file:pl.bristleback.server.bristle.conf.namespace.BristlebackServerMessagesBeanDefinitionParser.java
private void registerConditionSenderBeanPostProcessor(ParserContext parserContext) { registerRootBean(parserContext, ObjectSenderInjector.class, "system.sender.condition.injector", BeanDefinition.SCOPE_SINGLETON); }
From source file:de.codecentric.batch.jsr352.CustomJsrJobOperator.java
@Override public long start(String jobName, Properties params) throws JobStartException, JobSecurityException { final JsrXmlApplicationContext batchContext = new JsrXmlApplicationContext(params); batchContext.setValidating(false);//from w ww. ja v a2 s . c om Resource batchXml = new ClassPathResource("/META-INF/batch.xml"); String jobConfigurationLocation = "/META-INF/batch-jobs/" + jobName + ".xml"; Resource jobXml = new ClassPathResource(jobConfigurationLocation); if (batchXml.exists()) { batchContext.load(batchXml); } if (jobXml.exists()) { batchContext.load(jobXml); } AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder .genericBeanDefinition("org.springframework.batch.core.jsr.JsrJobContextFactoryBean") .getBeanDefinition(); beanDefinition.setScope(BeanDefinition.SCOPE_SINGLETON); batchContext.registerBeanDefinition(JSR_JOB_CONTEXT_BEAN_NAME, beanDefinition); batchContext.setParent(parentContext); try { batchContext.refresh(); } catch (BeanCreationException e) { throw new JobStartException(e); } Assert.notNull(jobName, "The job name must not be null."); final org.springframework.batch.core.JobExecution jobExecution; try { JobParameters jobParameters = jobParametersConverter.getJobParameters(params); String[] jobNames = batchContext.getBeanNamesForType(Job.class); if (jobNames == null || jobNames.length <= 0) { throw new BatchRuntimeException("No Job defined in current context"); } org.springframework.batch.core.JobInstance jobInstance = jobRepository.createJobInstance(jobNames[0], jobParameters); jobExecution = jobRepository.createJobExecution(jobInstance, jobParameters, jobConfigurationLocation); } catch (Exception e) { throw new JobStartException(e); } try { final Semaphore semaphore = new Semaphore(1); final List<Exception> exceptionHolder = Collections.synchronizedList(new ArrayList<Exception>()); semaphore.acquire(); taskExecutor.execute(new Runnable() { @Override public void run() { JsrJobContextFactoryBean factoryBean = null; try { factoryBean = (JsrJobContextFactoryBean) batchContext .getBean("&" + JSR_JOB_CONTEXT_BEAN_NAME); factoryBean.setJobExecution(jobExecution); final AbstractJob job = batchContext.getBean(AbstractJob.class); addListenerToJobService.addListenerToJob(job); semaphore.release(); // Initialization of the JobExecution for job level dependencies jobRegistry.register(job, jobExecution); job.execute(jobExecution); jobRegistry.remove(jobExecution); } catch (Exception e) { exceptionHolder.add(e); } finally { if (factoryBean != null) { factoryBean.close(); } batchContext.close(); if (semaphore.availablePermits() == 0) { semaphore.release(); } } } }); semaphore.acquire(); if (exceptionHolder.size() > 0) { semaphore.release(); throw new JobStartException(exceptionHolder.get(0)); } } catch (Exception e) { if (jobRegistry.exists(jobExecution.getId())) { jobRegistry.remove(jobExecution); } jobExecution.upgradeStatus(BatchStatus.FAILED); if (jobExecution.getExitStatus().equals(ExitStatus.UNKNOWN)) { jobExecution.setExitStatus(ExitStatus.FAILED.addExitDescription(e)); } jobRepository.update(jobExecution); if (batchContext.isActive()) { batchContext.close(); } throw new JobStartException(e); } return jobExecution.getId(); }
From source file:io.dohko.jdbi.spring.beans.factory.DBIRepositoryDefinitionBeanFactoryProcessor.java
/** * Defines an {@link IDBI} bean if and only if it is undefined. * <p> /*w w w .j a v a 2 s .co m*/ * * @param beanFactory the bean factory used by the application context */ private void defineIdbiBeanIfUndefined(ConfigurableListableBeanFactory beanFactory) { try { beanFactory.getBean(IDBI.class); } catch (NoSuchBeanDefinitionException undefinedIdbiBean) { try { beanFactory.getBean(DBI.class); } catch (NoSuchBeanDefinitionException undefinedDbiBean) { AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder .rootBeanDefinition(DBIFactoryBean2.class) .addConstructorArgValue(beanFactory.getBean(DataSource.class)) .setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE) .setScope(BeanDefinition.SCOPE_SINGLETON).getBeanDefinition(); ((DefaultListableBeanFactory) beanFactory).registerBeanDefinition("dbi", beanDefinition); } } }
From source file:org.eclipse.gemini.blueprint.compendium.internal.cm.ManagedServiceFactoryFactoryBean.java
private void processTemplateDefinition() { // make sure the scope is singleton templateDefinition.setScope(BeanDefinition.SCOPE_SINGLETON); // let the special invoker handle the destroy method String destroyMethod = templateDefinition.getDestroyMethodName(); templateDefinition.setDestroyMethodName(null); // prevent Spring for calling DiposableBean (it's already handled by the invoker) templateDefinition.registerExternallyManagedDestroyMethod("destroy"); destructionInvokerFactory = new DestructionInvokerCache(destroyMethod); }
From source file:org.kuali.rice.krad.datadictionary.DataDictionary.java
protected void generateMissingInquiryDefinitions() { Collection<InquiryView> inquiryViewBeans = ddBeans.getBeansOfType(InquiryView.class).values(); // Index all the inquiry views by the data object class so we can find them easily below Map<Class<?>, InquiryView> defaultViewsByDataObjectClass = new HashMap<Class<?>, InquiryView>(); for (InquiryView view : inquiryViewBeans) { if (view.getViewName().equals(UifConstants.DEFAULT_VIEW_NAME)) { defaultViewsByDataObjectClass.put(view.getDataObjectClassName(), view); }// w ww.j a va2 s . c o m } for (DataObjectEntry entry : ddBeans.getBeansOfType(DataObjectEntry.class).values()) { // if an inquiry already exists, just ignore - we only default if none exist if (defaultViewsByDataObjectClass.containsKey(entry.getDataObjectClass())) { continue; } // We only generate the inquiry if the metadata says to if (entry.getDataObjectMetadata() == null) { continue; } if (!entry.getDataObjectMetadata().shouldAutoCreateUifViewOfType(UifAutoCreateViewType.INQUIRY)) { continue; } // no inquiry exists and we want one to, create one if (LOG.isInfoEnabled()) { LOG.info("Generating Inquiry View for : " + entry.getDataObjectClass()); } String inquiryBeanName = entry.getDataObjectClass().getSimpleName() + "-InquiryView-default"; InquiryView inquiryView = KRADServiceLocatorWeb.getUifDefaultingService() .deriveInquiryViewFromMetadata(entry); inquiryView.setId(inquiryBeanName); inquiryView.setViewName(UifConstants.DEFAULT_VIEW_NAME); ChildBeanDefinition inquiryBean = new ChildBeanDefinition("Uif-InquiryView"); inquiryBean.setScope(BeanDefinition.SCOPE_SINGLETON); inquiryBean.setAttribute("dataObjectClassName", inquiryView.getDataObjectClassName()); inquiryBean.getPropertyValues().add("dataObjectClassName", inquiryView.getDataObjectClassName().getName()); inquiryBean.setResourceDescription("Autogenerated From Metadata"); ddBeans.registerBeanDefinition(inquiryBeanName, inquiryBean); ddBeans.registerSingleton(inquiryBeanName, inquiryView); } }
From source file:org.kuali.rice.krad.datadictionary.DataDictionary.java
protected void generateMissingLookupDefinitions() { Collection<LookupView> lookupViewBeans = ddBeans.getBeansOfType(LookupView.class).values(); // Index all the inquiry views by the data object class so we can find them easily below Map<Class<?>, LookupView> defaultViewsByDataObjectClass = new HashMap<Class<?>, LookupView>(); for (LookupView view : lookupViewBeans) { if (view.getViewName().equals(UifConstants.DEFAULT_VIEW_NAME)) { defaultViewsByDataObjectClass.put(view.getDataObjectClass(), view); }// w ww. j a va2 s . c o m } for (DataObjectEntry entry : ddBeans.getBeansOfType(DataObjectEntry.class).values()) { // if an inquiry already exists, just ignore - we only default if none exist if (defaultViewsByDataObjectClass.containsKey(entry.getDataObjectClass())) { continue; } // We only generate the inquiry if the metadata says to if (entry.getDataObjectMetadata() == null) { continue; } if (!entry.getDataObjectMetadata().shouldAutoCreateUifViewOfType(UifAutoCreateViewType.LOOKUP)) { continue; } // no inquiry exists and we want one to, create one if (LOG.isInfoEnabled()) { LOG.info("Generating Lookup View for : " + entry.getDataObjectClass()); } String lookupBeanName = entry.getDataObjectClass().getSimpleName() + "-LookupView-default"; LookupView lookupView = KRADServiceLocatorWeb.getUifDefaultingService() .deriveLookupViewFromMetadata(entry); lookupView.setId(lookupBeanName); lookupView.setViewName(UifConstants.DEFAULT_VIEW_NAME); ChildBeanDefinition lookupBean = new ChildBeanDefinition(ComponentFactory.LOOKUP_VIEW); lookupBean.setScope(BeanDefinition.SCOPE_SINGLETON); lookupBean.setAttribute("dataObjectClassName", lookupView.getDataObjectClass()); lookupBean.getPropertyValues().add("dataObjectClassName", lookupView.getDataObjectClass().getName()); lookupBean.setResourceDescription("Autogenerated From Metadata"); ddBeans.registerBeanDefinition(lookupBeanName, lookupBean); ddBeans.registerSingleton(lookupBeanName, lookupView); } }
From source file:org.mule.config.spring.parsers.AbstractMuleBeanDefinitionParser.java
/** * Creates a {@link BeanDefinitionBuilder} instance for the {@link #getBeanClass * bean Class} and passes it to the {@link #doParse} strategy method. * * @param element the element that is to be parsed into a single BeanDefinition * @param context the object encapsulating the current state of the parsing * process//from www . ja va2 s . co m * @return the BeanDefinition resulting from the parsing of the supplied * {@link Element} * @throws IllegalStateException if the bean {@link Class} returned from * {@link #getBeanClass(org.w3c.dom.Element)} is <code>null</code> * @see #doParse */ @Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext context) { preProcess(element); setParserContext(context); setRegistry(context.getRegistry()); checkElementNameUnique(element); Class<?> beanClass = getClassInternal(element); BeanDefinitionBuilder builder = createBeanDefinitionBuilder(element, beanClass); builder.getRawBeanDefinition().setSource(context.extractSource(element)); builder.setScope(isSingleton() ? BeanDefinition.SCOPE_SINGLETON : BeanDefinition.SCOPE_PROTOTYPE); // Marker for MULE-4813 // We don't want lifcycle for the following from spring if (!Component.class.isAssignableFrom(beanClass) && !MessageSource.class.isAssignableFrom(beanClass) && !OutboundRouterCollection.class.isAssignableFrom(beanClass) && !OutboundRouter.class.isAssignableFrom(beanClass) && !AbstractMessageProcessorOwner.class.isAssignableFrom(beanClass) && !MessagingExceptionHandler.class.isAssignableFrom(beanClass) && !Transformer.class.isAssignableFrom(beanClass)) { if (Initialisable.class.isAssignableFrom(beanClass)) { builder.setInitMethodName(Initialisable.PHASE_NAME); } if (Disposable.class.isAssignableFrom(beanClass)) { builder.setDestroyMethodName(Disposable.PHASE_NAME); } } if (context.isNested()) { // Inner bean definition must receive same singleton status as containing bean. builder.setScope(context.getContainingBeanDefinition().isSingleton() ? BeanDefinition.SCOPE_SINGLETON : BeanDefinition.SCOPE_PROTOTYPE); } doParse(element, context, builder); return builder.getBeanDefinition(); }