2013-01-16 32 views
5

पर मैंगोडब कनेक्शन समस्याओं को संभालें मैंने वसंत का उपयोग करके मोंगोडीबी को एकीकृत किया है, मेरी डेटा सेवा में एक मोंगो रिपोजिटरी स्वचालित है, और यह सब काम करता है। छोड़कर जब डीबी स्टार्टअप के दौरान नीचे है।स्टार्टअप

जब सेवा आती है तो मोंगो नीचे आती है, प्रारंभिकरण के दौरान एक अपवाद फेंक दिया जाता है, और उस स्थिति में पूरी सेवा शुरू होने में विफल हो जाती है। यह वही नहीं है जो मैं स्पष्ट रूप से चाहता हूं।

मैं ऐसा करना चाहते हैं क्या अपवाद को पकड़ने के लिए और सेवा प्रारंभ करें, और शान से db उपलब्धता समस्या संभाल (जैसे कह रही है हम अस्थायी समस्याओं मिल गया है एक पृष्ठ दिखाने के लिए, एक कैश का उपयोग करें, या जो कुछ भी)

है

मेरे भंडार वर्ग:

public interface MediaDataRepository extends MongoRepository<MediaData, String> { 
... 
} 

मेरी सेवा वर्ग:

@Service 
public class MediaDataService { 
    @Autowired 
    private MediaDataRepository mediaDataRepository; 
... 
} 

और नियंत्रक:

@Controller 
@RequestMapping("/api/consumer") 
public class MediaController extends HtmlGenerationController { 
    private static final Logger LOG = LoggerFactory.getLogger(MediaController.class); 

    @Autowired 
    private MediaDataService mediaDataService; 
... 
} 

त्रुटि मैं स्टार्टअप के दौरान मिलता है:

2013-01-15 17:50:09.163:WARN:oejw.WebAppContext:Failed startup of context o.m.j.p.JettyWebAppContext{/,file:/code/src/main/webapp/},file:/code/src/main/webapp/ 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myservice.service.MediaDataService com.myservice.controller.MediaController.mediaDataService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myservice.repository.MediaDataRepository com.myservice.service.MediaDataService.mediaDataRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataRepository': FactoryBean threw exception on object creation; nested exception is com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/myservice_db 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) 
    at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:764) 
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:406) 
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:756) 
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:242) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1221) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) 
    at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:256) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) 
    at org.eclipse.jetty.server.Server.doStart(Server.java:263) 
    at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:65) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:511) 
    at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:364) 
    at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:516) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: 
org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myservice.service.MediaDataService com.myservice.controller.MediaController.mediaDataService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myservice.repository.MediaDataRepository com.myservice.service.MediaDataService.mediaDataRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataRepository': FactoryBean threw exception on object creation; nested exception is com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/myservice_db 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
[CLIPPED TO ALLOW QUESTION SIZE] 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myservice.repository.MediaDataRepository com.myservice.service.MediaDataService.mediaDataRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataRepository': FactoryBean threw exception on object creation; nested exception is com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/myservice_db 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
[CLIPPED TO ALLOW QUESTION SIZE] 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: 
org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.myservice.repository.MediaDataRepository com.myservice.service.MediaDataService.mediaDataRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataRepository': FactoryBean threw exception on object creation; nested exception is com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/myservice_db 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
[CLIPPED TO ALLOW QUESTION SIZE] 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mediaDataRepository': FactoryBean threw exception on object creation; nested exception is com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/myservice_db 
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:149) 
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1441) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:305) 
[CLIPPED TO ALLOW QUESTION SIZE] 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: 
com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/myservice_db 
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:227) 
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:305) 
    at com.mongodb.DBCollection.findOne(DBCollection.java:647) 
    at com.mongodb.DBCollection.findOne(DBCollection.java:626) 
    at com.mongodb.DBApiLayer$MyCollection.createIndex(DBApiLayer.java:364) 
    at com.mongodb.DBCollection.createIndex(DBCollection.java:436) 
    at com.mongodb.DBCollection.ensureIndex(DBCollection.java:515) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator.ensureIndex(MongoPersistentEntityIndexCreator.java:172) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator$1.doWithPersistentProperty(MongoPersistentEntityIndexCreator.java:130) 
[CLIPPED TO ALLOW QUESTION SIZE] 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: 
java.io.IOException: couldn't connect to [/127.0.0.1:27017] bc:java.net.ConnectException: Connection refused 
    at com.mongodb.DBPort._open(DBPort.java:228) 
    at com.mongodb.DBPort.go(DBPort.java:112) 
    at com.mongodb.DBPort.call(DBPort.java:79) 
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:218) 
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:305) 
    at com.mongodb.DBCollection.findOne(DBCollection.java:647) 
    at com.mongodb.DBCollection.findOne(DBCollection.java:626) 
    at com.mongodb.DBApiLayer$MyCollection.createIndex(DBApiLayer.java:364) 
    at com.mongodb.DBCollection.createIndex(DBCollection.java:436) 
    at com.mongodb.DBCollection.ensureIndex(DBCollection.java:515) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator.ensureIndex(MongoPersistentEntityIndexCreator.java:172) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator$1.doWithPersistentProperty(MongoPersistentEntityIndexCreator.java:130) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator$1.doWithPersistentProperty(MongoPersistentEntityIndexCreator.java:112) 
    at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:173) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator.checkForIndexes(MongoPersistentEntityIndexCreator.java:112) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator.onApplicationEvent(MongoPersistentEntityIndexCreator.java:85) 
    at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexCreator.onApplicationEvent(MongoPersistentEntityIndexCreator.java:48) 
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97) 
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:324) 
    at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:263) 
    at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:364) 
    at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:570) 
    at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:247) 
    at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:165) 
    at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:140) 
    at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:65) 
    at org.springframework.data.mongodb.repository.support.DefaultEntityInformationCreator.getEntityInformation(DefaultEntityInformationCreator.java:59) 
    at org.springframework.data.mongodb.repository.support.DefaultEntityInformationCreator.getEntityInformation(DefaultEntityInformationCreator.java:48) 
    at org.springframework.data.mongodb.repository.support.MongoRepositoryFactory.getEntityInformation(MongoRepositoryFactory.java:140) 
    at org.springframework.data.mongodb.repository.support.MongoRepositoryFactory.getTargetRepository(MongoRepositoryFactory.java:84) 
    at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:131) 
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:114) 
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:38) 
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142) 
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1441) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:305) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) 
    at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:764) 
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:406) 
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:756) 
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:242) 
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1221) 
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699) 
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) 
    at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:256) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) 
    at org.eclipse.jetty.server.Server.doStart(Server.java:263) 
    at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:65) 
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
    at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:511) 
    at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:364) 
    at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:516) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
+0

मुझे आपका प्रश्न नहीं समझा। क्या आप अधिक स्पष्ट रूप से समझा सकते हैं? –

+0

yup। मैंने सफलतापूर्वक मोंगोडब एकीकृत किया है, और यह बहुत अच्छा काम करता है। हालांकि, जब मैं अपनी सेवा शुरू करने का प्रयास करता हूं तो मुझे समस्या है जबकि मोंगोडब अनुपलब्ध है। समस्या यह है कि ऑटोवॉयरिंग की वजह से, वसंत मेरी मोंगोडब रिपोजिटरी ऑब्जेक्ट को शुरू करने का प्रयास करता है, और विफल रहता है क्योंकि यह मोंगो के साथ संवाद करने की कोशिश करता है। जब ऐसा होता है, तो यह मेरी पूरी सेवा को शुरू करने से रोकता है, इसलिए किसी प्रकार का त्रुटि संदेश दिखाने में सक्षम होने या मेरे डेटा के कैश किए गए संस्करण का उपयोग करने के बजाय, किसी भी अनुरोध को 503 सेवा अनुपलब्ध प्रतिक्रिया मिलती है। – TheZuck

+0

जैसा कि आप अपवाद में देख सकते हैं, यह org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:283) चरण में होता है, जिसका अर्थ है (मुझे लगता है) कि मेरा वेब एप्लिकेशन init को पूरा नहीं करता है अवस्था। – TheZuck

उत्तर

2

अपनी खोजों में, मैं वसंत सीधे इस संभाल करने के लिए कोई अच्छा रास्ता मिल गया। आपको शायद अपनी सेवा और भंडार के बीच प्रॉक्सी डालना होगा। यहां एक पोस्ट: How to make App server to start even if database is down? इस मुद्दे पर पहुंचती है।

आपके लिए, शायद इसका मतलब है कि एक बीन (रिपोजिटरीप्रॉक्स) जो वसंत बनाता है। यह बीन मैन्युअल रूप से मोंगो कनेक्शन बनाने की कोशिश करेगा, या एप्लिकेशन संदर्भ के आलसी बीन से भंडार प्राप्त करेगा। यदि मोंगो कनेक्शन विफल रहता है, तो यह अपवाद को पकड़ता है और कैश किए गए डेटा या त्रुटि प्रतिक्रियाओं के लिए कनेक्शन/ऑब्जेक्ट बनाता है। यह मोंगो इंस्टेंस से पुनः कनेक्ट करने के लिए टाइमर प्रक्रिया भी बना सकता है।

+0

मेरे पास अलग-अलग ऑब्जेक्ट्स के लिए अलग-अलग भंडार वर्ग हैं, इसलिए इससे सबकुछ अधिक जटिल हो जाएगा। यदि कोई उज्ज्वल विचार नहीं आता है तो मैं बेहतर उत्तर की कमी के लिए अंक प्रदान करूंगा, लेकिन फिर भी नायक की प्रतीक्षा कर रहा हूं ... – TheZuck

+0

सहमत; यह सही नहीं है (मैं इसमें क्रिंग करता हूं) लेकिन मुझे कुछ भी बेहतर नहीं मिला है। – cmonkey

+0

यह वास्तव में पैटर्न है जिसे मैंने अतीत में इस तरह की समस्या के लिए कई बार उपयोग किया है। असल में, यह एक स्प्रिंग-विशिष्ट पैटर्न नहीं है - यह सिर्फ "कनेक्शन प्रबंधन" है: एक प्रबंधक के माध्यम से संसाधन कनेक्शन तक पहुंचने से पता चलता है जो कनेक्शन विफलता को संभालने का तरीका जानता है, शायद स्टैंडबाय सेवा में विफलता, स्मार्ट पृष्ठभूमि पुनः कनेक्शन, आदि –