[jboss-user] [JNDI/Naming/Network] - NullPointerException while binding jca pool vom java: namesp

grininger.h do-not-reply at jboss.com
Tue May 15 04:49:18 EDT 2007


Hello,

for JUnit testing purposes I need to access JCA Connections from a different JVM.

Since it's not recommended to put JCA Datasources in the global JNDI context, they are in the java: context, which means they ain't reachable by JUnit JVM.

>From the application I access the connection by using the ctx java:/comp/env.

My idea now was to bind the datasources which are in the java: jndi context to global context with the name comp/env (like a tunnel). When I access the database from JUnit from a different JVM, the "java:" is ignored and I get the correct datasource.
(Of course this is only done in a development environment.)

Example:
(global ctx) comp/env/testdb ----------->   java:/mydatasources/testdb  

Unfortunately I'm having problems while binding the WrapperDatasource from the java: ctx to the global ctx. I'm getting the following NullPointerException
Maybe this is not allowed? I'm having no problems in binding dummy objects into to the global ctx.


  | 
  | 10:25:33,593 INFO  [STDOUT] bound maindb to pseudo context (for JUnit)
  | 10:25:33,594 INFO  [STDOUT] name:  maindb
  | 10:25:33,594 INFO  [STDOUT] Try to bind maindb to Object=org.jboss.resource.adapter.jdbc.WrapperDataSource at 7d41cd01
  | 10:25:33,594 ERROR [STDERR] java.lang.NullPointerException
  | 10:25:33,594 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.bind(NamingContext.java:556)
  | 10:25:33,595 ERROR [STDERR]     at org.jnp.interfaces.NamingContext.bind(NamingContext.java:531)
  | 10:25:33,595 ERROR [STDERR]     at test.TestServlet.init(TestServlet.java:126)
  | 10:25:33,595 ERROR [STDERR]     at javax.servlet.GenericServlet.init(GenericServlet.java:212)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4071)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4375)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
  | 10:25:33,595 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 10:25:33,595 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 10:25:33,595 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 10:25:33,595 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
  | 10:25:33,595 ERROR [STDERR]     at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
  | 10:25:33,595 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.catalina.core.StandardContext.init(StandardContext.java:5312)
  | 10:25:33,595 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 10:25:33,595 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 10:25:33,595 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 10:25:33,595 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
  | 10:25:33,595 ERROR [STDERR]     at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
  | 10:25:33,595 ERROR [STDERR]     at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
  | 10:25:33,595 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 10:25:33,595 ERROR [STDERR]     at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:300)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:372)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.web.WebModule.startModule(WebModule.java:83)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.web.WebModule.startService(WebModule.java:61)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
  | 10:25:33,596 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 10:25:33,596 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 10:25:33,596 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 10:25:33,596 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
  | 10:25:33,596 ERROR [STDERR]     at $Proxy0.start(Unknown Source)
  | 10:25:33,596 ERROR [STDERR]     at org.jboss.system.ServiceController.start(ServiceController.java:417)
  | 10:25:33,596 ERROR [STDERR]     at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
  | 10:25:33,596 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 10:25:33,597 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  | 10:25:33,597 ERROR [STDERR]     at $Proxy45.start(Unknown Source)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
  | 10:25:33,597 ERROR [STDERR]     at sun.reflect.GeneratedMethodAccessor143.invoke(Unknown Source)
  | 10:25:33,597 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 10:25:33,597 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.ws.integration.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:93)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  | 10:25:33,597 ERROR [STDERR]     at $Proxy46.start(Unknown Source)
  | 10:25:33,597 ERROR [STDERR]     at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
  | 10:25:33,598 ERROR [STDERR]     at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
  | 10:25:33,598 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 10:25:33,598 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:585)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  | 10:25:33,598 ERROR [STDERR]     at $Proxy9.deploy(Unknown Source)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
  | 10:25:33,598 ERROR [STDERR]     at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
  | 

This is the (shortened) code from my TestServlet's init method which should do the mapping:


  | 
  | Context javaCtx = (Context) new InitialContext().lookup("java:");
  | // /comp/env/jdbc exists
  | Context pseudo = (Context) new InitialContext().lookup("/comp/env/jdbc");
  | 
  | Object dbcon = null;
  |         try
  |         {
  |             dbcon  = javaCtx.lookup("dbcons/maindb");
  |         }
  |         catch (NamingException e)
  |         {
  |            e.printStackTrace();
  |         }
  |        
  |         try
  |         {
  |             pseudo.bind("testdb", dbcon); ==== > NullpointerException
  |         }
  |         catch (NamingException e)
  |         {
  |             // TODO Auto-generated catch block
  |             e.printStackTrace();
  |         }
  | 

What I'm doing wrong?

Thanks for your effort!! Hubert

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045711#4045711

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045711



More information about the jboss-user mailing list