Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-2997

JNDI LOOK UP ISSUE

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • None
    • 3.8.1
    • None
    • None
    • tomcat8.5 / spring version 5.0.5.RELEASE

    Description

      error comment 

       j*ava.lang.IllegalArgumentException: The local resource link [mongodb/MyMongoClient"] that refers to global resource [mongodb/MyMongoClient"] was expected to return an instance of [com.mongodb.MongoClient] but returned an instance of [com.mongodb.MongoClient]java.lang.IllegalArgumentException: The local resource link [mongodb/MyMongoClient"] that refers to global resource [mongodb/MyMongoClient"] was expected to return an instance of [com.mongodb.MongoClient] but returned an instance of [com.mongodb.MongoClient] at* org.apache.naming.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:163) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321) at org.apache.naming.NamingContext.lookup(NamingContext.java:840) at org.apache.naming.NamingContext.lookup(NamingContext.java:173) at com.wjthinkbig.bookclub.ugc.config.MongoConfig.mongoDbFactory(MongoConfig.java:90) at com.wjthinkbig.bookclub.ugc.config.MongoConfig$$EnhancerBySpringCGLIB$$7b5e8cdc.CGLIB$mongoDbFactory$1(<generated>) at com.wjthinkbig.bookclub.ugc.config.MongoConfig$$EnhancerBySpringCGLIB$$7b5e8cdc$$FastClassBySpringCGLIB$$270bed08.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361) at com.wjthinkbig.bookclub.ugc.config.MongoConfig$$EnhancerBySpringCGLIB$$7b5e8cdc.mongoDbFactory(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1247) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1096) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:392) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:364) at com.wjthinkbig.bookclub.ugc.config.MongoConfig$$EnhancerBySpringCGLIB$$7b5e8cdc.mongoDbFactory(<generated>) at com.wjthinkbig.bookclub.ugc.config.MongoConfig.mongoTemplate(MongoConfig.java:129) at com.wjthinkbig.bookclub.ugc.config.MongoConfig$$EnhancerBySpringCGLIB$$7b5e8cdc.CGLIB$mongoTemplate$0(<generated>) at com.wjthinkbig.bookclub.ugc.config.MongoConfig$$EnhancerBySpringCGLIB$$7b5e8cdc$$FastClassBySpringCGLIB$$270bed08.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361) at com.wjthinkbig.bookclub.ugc.config.MongoConfig$$EnhancerBySpringCGLIB$$7b5e8cdc.mongoTemplate(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1247) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1096) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1135) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1062) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:583) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:91) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1341) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:572) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4743) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)

      -------------------------------------------------------------------------

       MY JOB STEP 

       

      step1.   tomcat lib folder add >>  mongo-java-driver-3.6.4.jar

      -------------------------------------------------------------------------

      step2.  tomcat server.xml  add tag 

              <GlobalNamingResources>            

                     <Resource name="mongodb/MyMongoClient" auth="Container"           type="com.mongodb.MongoClient" closeMethod="close" factory="com.mongodb.client.jndi.MongoClientFactory" singleton="true" connectionString="mongodb://localhost"/>

           </GlobalNamingResources>            

      {{}}

      -------------------------------------------------------------------------{{}}

      step3.  tomcat context.xml  add tag 

        <ResourceLink name="mongodb/MyMongoClient"" global="mongodb/MyMongoClient"" type="com.mongodb.MongoClient" /> 

       

      -------------------------------------------------------------------------

      step4. java source in 

        try { try

      {  Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); Object obj123 = envContext.lookup("mongodb/MyMongoClient"); }

      catch (Exception e)

      { e.printStackTrace(); }

      ----------------------

      why mongoclient instance of cast error ? 

       

       

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            qqapp KIMCHOONGHWAN
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: