5 Replies Latest reply on Feb 7, 2014 5:09 AM by mnovak

    jndi lookup error while using jca rar.

    ankitceo2

      Hi All,

                I am able to deploy the ear on JBoss AS7.1.1. This ear has one .rar inside of it. This rar has been configured in standalone.xml as follows

      =================================================================================

      configuration specific to rar in standalone.xml.

      ==================================================================================

      <subsystem xmlns="urn:jboss:domain:resource-adapters:1.0">

                  <resource-adapters>

                      <resource-adapter>

                          <archive>

                              dmp-jca.rar

                          </archive>

                          <transaction-support>NoTransaction</transaction-support>

                          <config-property name="DmpSystems">

                              nx_10102

                          </config-property>

                          <connection-definitions>

                              <connection-definition class-name="javax.resource.cci.ConnectionFactory" jndi-name="jcr/DmpJca" pool-name="DmpJcaPool">

                                  <pool>

                                      <min-pool-size>10</min-pool-size>

                                      <max-pool-size>100</max-pool-size>

                                  </pool>

                              </connection-definition>

                          </connection-definitions>

                      </resource-adapter>

                  </resource-adapters>

              </subsystem>

      ===================================================================================================

       

      But  when i am trying to look up through jndi from a different program to this rar. I am having the following error.

       

      =========================================================================================

      A problem occurred while attempting to get the DMP JCA resource adapter from JNDI: javax.naming.NameNotFoundException: java:DmpJca

      14:39:44,766 ERROR [org.jboss.ejb3.invocation] (EJB default - 1) JBAS014134: EJB Invocation failed on component DmpGwaServiceBean for method public abstract com.osi.netexpert.dmp.gwa.DmpGatewayAgent com.osi.netexpert.dmp.gwa.service.DmpGwaService.getGatewayAgent(java.lang.String,java.lang.String) throws com.osi.netexpert.dmp.DmpCommunicationException,com.osi.netexpert.dmp.DmpSystemNotDefinedException,com.osi.netexpert.dmp.gwa.DmpGwaNotFoundException: javax.ejb.EJBException: java.lang.NullPointerException

          at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:166) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:230) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:80) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.security.AuthorizationInterceptor.processInvocation(AuthorizationInterceptor.java:106) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:76) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:43) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:302) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$200(MethodInvocationMessageHandler.java:64) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:196) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [rt.jar:1.7.0_13]

          at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [rt.jar:1.7.0_13]

          at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.7.0_13]

          at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_13]

          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_13]

          at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_13]

          at org.jboss.threads.JBossThread.run(JBossThread.java:122)

      Caused by: java.lang.NullPointerException

          at com.osi.netexpert.dmp.gwa.service.DmpGwaServiceBean.getGatewayAgent(DmpGwaServiceBean.java:249) [dmpgwa-service.jar:${env.MAJOR_VERSION_NUMBER}.${env.MINOR_VERSION_NUMBER}]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_13]

          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_13]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_13]

          at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_13]

          at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

          at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

          ... 31 more

       

      14:39:44,866 INFO  [org.jboss.as.naming] (Remoting "axk3-l421" task-2) JBAS011806: Channel end notification received, closing channel Channel ID 2d19b23c (inbound) of Remoting connection 0cc43136 to /127.0.0.1:54123

       

      =====================================================================================================

      Please help me with some solution/workaround/suggestion to make rar somehow working.

       

      Thanks

      Ankit

      jaikiran

        • 1. Re: jndi lookup error while using jca rar.
          lafr

          As you set jndi-name="jcr/DmpJca" you should look up this (java:jcr/DmpJca) and not "java:DmpJca".

          • 2. Re: jndi lookup error while using jca rar.
            ankitceo2

            Thanks Frank

                                  I tries the same change as suggested by you above. But still it is throwing the same error now saying "A problem occurred while attempting to get the DMP JCA resource adapter from JNDI: javax.naming.NameNotFoundException: java:jcr/DmpJca". Is there any standard way to do the jca lookup in JBoss AS 7.1 which is different from what we use in JBoss AS 5? I mean if you could please help me with some tutorial here for JCA.

             

            Thanks

            Ankit

            • 3. Re: jndi lookup error while using jca rar.
              lafr

              Do you see something like

              04.02. 06:31:57,430 INFO  [org.jboss.as.connector.deployment#bindConnectionFactory] JBAS010406: Registered connection factory java:jcr/DmpJca

              in your server.log?

              And does it show up in http://localhost:9990/console/App.html#naming

              • 4. Re: jndi lookup error while using jca rar.
                ankitceo2

                No I can not see the expected line above in server.log. And in web console after expanding container  "container->Resource Adapters" , I am able to see the rar in archive along with the properties set in standalone.xml.

                • 5. Re: jndi lookup error while using jca rar.
                  mnovak

                  Can you change standalone.xml in this way:

                  <connection-definition class-name="javax.resource.cci.ConnectionFactory" jndi-name="java:/DmpJca" pool-name="DmpJca">

                   

                  and then lookup with "java:/DmpJca". As Ankit mentiions you should see your conntaion factory registered to jndi in server.log.