2013-09-26 7 views
5

Ho la configurazione come di seguito:definizione di fagioli Overriding per fagioli 'X': sostituzione [fagioli Generico Y]

batch:job id="reconciliationJob" job-repository="jobRepository" restartable="true" 

e durante contesto l'avvio dell'applicazione ricevo qualcosa di simile nel registro:

[INFO] [] [] Sovrascrittura della definizione del bean per bean 'reconciliationJob': sostituzione di [bean generico: class [org.springframework.batch.core.configuration.xml.SimpleFlowFactoryBean]; portata =; astratta = false; lazyInit = falso; autowireMode = 0; dependencyCheck = 0; autowireCandidate = true; primaria = falso; factoryBeanName = null; factoryMethodName = null; initMethodName = null; destroyMethodName = null] con [Bean generico: class [org.springframework.batch.core.configuration.xml.JobParserJobFactoryBean]; portata =; astratta = false; lazyInit = falso; autowireMode = 0; dependencyCheck = 0; autowireCandidate = true; primaria = falso; factoryBeanName = null; factoryMethodName = null; initMethodName = null; destroyMethodName = null]

Come posso risolvere questo problema prioritario?

+0

c'è un modo per sbarazzarsi di questi messaggi di registro? – OhadR

risposta

1

Questo non è un errore, è solo un [INFO] ed è una sostituzione effettuata da Spring; puoi vedere qualcosa di simile sui bean con scope "step".
Per esempio, se si dispone di un fagiolo contrassegnato come

<bean id="myBean" class="path.to.beanClass" scope="step" /> 

questa sarà sostituita da un fagiolo con il nome scopedTarget.myBean.
Ricerca su StepScope doc e origine

+1

A causa di questa definizione di bean duplicata, il server non si avvierà correttamente per alcuni casi. Porta alla creazione di bean exception - ** Il bean richiesto è attualmente in fase di creazione: esiste un riferimento circolare irrisolvibile? ** Riferimento: http://stackoverflow.com/questions/10008714/requested-bean-is-currently- in-creazione-c'è-un-irrisolvibile-circolare-riferimento due ragioni: 1. dipendenza circolare 2. Duplicate definizione bean FYI @przodownikPracy –

3

Ciò accade quando Spring analizza lo stesso applicationContext.xml due volte.

Ciò può accadere quando, ad esempio, si duplicano/sostituiscono le importazioni <context-param> nello WEB.xml.

Per risolvere il problema lasciare solo la radice applicationContext.xml lì e rimuovere i bambini.

3

Ho ricevuto lo stesso errore. Il mio problema era che ho contrassegnato la classe con @Service, quindi in una delle classi @Configuration ho creato un @Bean con lo stesso nome della classe.

-1

Ho avuto un problema simile e l'ho risolto utilizzando dependency:analyze in esecuzione maven -> obiettivi. Ho trovato dipendenze inutilizzate nel mio pom e ho rimosso le dipendenze non utilizzate.

Nota: fare attenzione quando si rimuovono le dipendenze perché il risultato di dependency:analyze non è sicuro.