8 Replies Latest reply on Nov 29, 2002 5:06 AM by Martijn Lindhout

    Problem installing/configuring IBM IMS Connector

    Martijn Lindhout Newbie

      Hi Guys,

      I have an IBM supplied RAR for accessing their IMS system, imsico.rar, which has several jars in it. When I put the rar file in the deploy dir, JBoss deploys it, but how do I configure it using a *-service.xml? I created this one:

      Can any help me out....

      -----8<-----8<-----8<-----8<-----8<-----8<-----





      <depends optional-attribute-name="ManagedConnectionFactoryName">
      <!--embedded mbean-->


      j2c/ims/ipm


      <config-property name="Hostname" type="java.lang.String">imsa84.mfr</config-property>
      <config-property name="PortNumber" type="java.lang.Integer">5841</config-property>
      <config-property name="DataStoreName" type="java.lang.String">A84HWS</config-property>
      <config-property name="UserName" type="java.lang.String">$T300</config-property>
      <config-property name="Password" type="java.lang.String">$T300</config-property>





      <!--make the rar deploy! hack till better deployment-->
      jboss.jca:service=RARDeployer





      -----8<-----8<-----8<-----8<-----8<-----8<-----

      But when dropped in the deploy dir, JBoss generates this:

      -----8<-----8<-----8<-----8<-----8<-----8<-----

      15:59:04,671 INFO [MainDeployer] Starting deployment of package: file:/C:/Development/JBoss-3.0.2/server/ipm/deploy/ims-service.xml
      15:59:04,721 INFO [ServiceConfigurator] Problem configuring service jboss.jca:service=NoTxCM,name=IMS Connector for Java
      org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.jca:service=NoTxCM,name=IMS Connector for Java
      at org.jboss.system.ServiceCreator.install(ServiceCreator.java:69)
      at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigurator.java:167)
      at org.jboss.system.ServiceConfigurator.processDependency(ServiceConfigurator.java:428)
      at org.jboss.system.ServiceConfigurator.configure(ServiceConfigurator.java:362)
      at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigurator.java:187)
      at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java:130)
      at org.jboss.system.ServiceController.install(ServiceController.java:224)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy3.install(Unknown Source)
      at org.jboss.deployment.SARDeployer.create(SARDeployer.java:209)
      at org.jboss.deployment.MainDeployer.create(MainDeployer.java:755)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:615)
      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy4.deploy(Unknown Source)
      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:427)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:648)
      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:499)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:212)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:225)
      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:202)
      15:59:05,742 INFO [MainDeployer] Deployed package: file:/C:/Development/JBoss-3.0.2/server/ipm/deploy/ims-service.xml
      15:59:05,782 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation 'checkIncompleteDeployments()'
      Cause: Incomplete Deployment listing:
      Packages waiting for a deployer:

      Incompletely deployed packages:

      MBeans waiting for classes:

      MBeans waiting for other MBeans:
      [ObjectName: jboss.jca:service=NoTxCM,name=IMS Connector for Java
      state: FAILED
      I Depend On:
      Depends On Me: org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.jca:service=NoTxCM,name=IMS Connector for Java]

        • 1. Re: Problem installing/configuring IBM IMS Connector
          David Jencks Master

          I'm not sure why you think leaving half the configuration out will result in something usable. You need all 3 mbeans present in all the examples, and they all have to have different names. You only have 2 mbeans, and you gave them the same name.

          Try again modifying an example but not leaving out any attributes or mbeans.

          The ManagedConnectionFactoryProperties attribute looks ok.

          • 2. Re: Problem installing/configuring IBM IMS Connector
            Martijn Lindhout Newbie

            Ok, I made this, but it still doesn't work. I got the exception below. Is there any one who can EXPLAIN how JCA works in JBoss?

            -----8<-----8<-----8<-----8<-----8<-----8<-----8<-----




            <depends optional-attribute-name="ManagedConnectionFactoryName">
            <!--embedded mbean-->



            j2c/ims/ipm


            <config-property name="Hostname" type="java.lang.String">imsa84.mfr</config-property>
            <config-property name="PortNumber" type="java.lang.Integer">5841</config-property>
            <config-property name="DataStoreName" type="java.lang.String">A84HWS</config-property>
            <config-property name="UserName" type="java.lang.String">$T300</config-property>
            <config-property name="Password" type="java.lang.String">$T300</config-property>






            <depends optional-attribute-name="ManagedConnectionPool">
            <!--embedded mbean-->

            0
            10
            5000
            5
            ByContainer



            <!--make the rar deploy! hack till better deployment-->
            jboss.jca:service=RARDeployer





            -----8<-----8<-----8<-----8<-----8<-----8<-----8<-----
            15:50:45,921 INFO [MainDeployer] Starting deployment of package: file:/C:/Apps/JBoss/server/ipm/deploy/ims-service.xml
            15:50:45,962 WARN [ServiceController] jboss.jca:service=LocalIMSDS,name=IMS Connector for Java does not implement any Servic
            15:50:45,972 INFO [JBossManagedConnectionPool] Creating
            15:50:45,972 INFO [JBossManagedConnectionPool] Created
            15:50:45,972 INFO [NoTxConnectionManager] Creating
            15:50:45,982 INFO [NoTxConnectionManager] Created
            15:50:45,982 INFO [JBossManagedConnectionPool] Starting
            15:50:45,982 INFO [JBossManagedConnectionPool] Started
            15:50:45,982 INFO [NoTxConnectionManager] Starting
            15:50:45,982 ERROR [NoTxConnectionManager] Starting failed
            java.lang.NullPointerException
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:258)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
            at org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.java:234)
            at org.jboss.mx.loading.UnifiedLoaderRepository2.loadClassFromClassLoader(UnifiedLoaderRepository2.java:228)
            at org.jboss.mx.loading.UnifiedLoaderRepository2.loadClass(UnifiedLoaderRepository2.java:137)
            at org.jboss.mx.loading.UnifiedClassLoader2.loadClass(UnifiedClassLoader2.java:146)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
            at org.jboss.resource.connectionmanager.RARDeployment.startManagedConnectionFactory(RARDeployment.java:537)
            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:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.resource.connectionmanager.BaseConnectionManager2.startService(BaseConnectionManager2.java:382)
            at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:164)
            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:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:967)
            at $Proxy5.start(Unknown Source)
            at org.jboss.system.ServiceController.start(ServiceController.java:396)
            at org.jboss.system.ServiceController.start(ServiceController.java:416)
            at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy3.start(Unknown Source)
            at org.jboss.deployment.SARDeployer.start(SARDeployer.java:249)
            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:802)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
            at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy4.deploy(Unknown Source)
            at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:427)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:648)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:499)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:212)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:225)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:202)
            15:50:46,272 WARN [ServiceController] Problem starting service jboss.jca:service=NoTxCM,name=IMS Connector for Java
            java.lang.NullPointerException
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:258)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
            at org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.java:234)
            at org.jboss.mx.loading.UnifiedLoaderRepository2.loadClassFromClassLoader(UnifiedLoaderRepository2.java:228)
            at org.jboss.mx.loading.UnifiedLoaderRepository2.loadClass(UnifiedLoaderRepository2.java:137)
            at org.jboss.mx.loading.UnifiedClassLoader2.loadClass(UnifiedClassLoader2.java:146)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
            at org.jboss.resource.connectionmanager.RARDeployment.startManagedConnectionFactory(RARDeployment.java:537)
            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:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.resource.connectionmanager.BaseConnectionManager2.startService(BaseConnectionManager2.java:382)
            at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:164)
            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:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:967)
            at $Proxy5.start(Unknown Source)
            at org.jboss.system.ServiceController.start(ServiceController.java:396)
            at org.jboss.system.ServiceController.start(ServiceController.java:416)
            at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy3.start(Unknown Source)
            at org.jboss.deployment.SARDeployer.start(SARDeployer.java:249)
            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:802)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
            at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
            at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
            at $Proxy4.deploy(Unknown Source)
            at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:427)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:648)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:499)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:212)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:225)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:202)
            15:50:53,803 INFO [MainDeployer] Deployed package: file:/C:/Apps/JBoss/server/ipm/deploy/ims-service.xml
            15:50:56,116 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation 'checkIncompleteDeployments()'
            Cause: Incomplete Deployment listing:
            Packages waiting for a deployer:

            Incompletely deployed packages:

            MBeans waiting for classes:

            MBeans waiting for other MBeans:
            [ObjectName: jboss.jca:service=NoTxCM,name=IMS Connector for Java
            state: FAILED
            I Depend On: jboss.jca:service=LocalIMSDS,name=IMS Connector for Java
            jboss.jca:service=LocalTxPool,name=IMS Connector for Java
            jboss.jca:service=CachedConnectionManager
            jboss.jca:service=RARDeployer

            Depends On Me: java.lang.NullPointerException]

            • 3. Re: Problem installing/configuring IBM IMS Connector
              David Jencks Master

              That looks much closer. However, you haven't provided any indication of what adapter this relates to. You do that with the

              <depends optional-attribute-name="OldRARDeployment">...

              element. Look in the jmx viewer to see what the object name the rar got deployed under, and use that. Don't include any extra whitespace at the beginning or end.

              • 4. Re: Problem installing/configuring IBM IMS Connector
                Martijn Lindhout Newbie

                Ok, after days, I bought the JBoss book, read the chapter on JCA and tries to install the IMS Connector RAR. It still doesn't work...

                This is what I did. Copy the imsico.rar to the deploy directory. In the JMX console, the following service appears: "service=RARDeployment,name=IMS Connector for Java".

                Next, I create the ims-service.xml file shown below. But when I drop in the file, the following services appear in the jboss.jca section,

                - service=NoTxDS,name=imsa84
                - service=NoTxCM,name=imsa84
                - service=NoTxPool,name=imsa84

                But also the flowwing exception is shown:

                --------------------------------------------------------
                10:33:30,334 INFO [MainDeployer] Starting deployment of package: file:/C:/IPMJBoss/server/default/deploy/ims-service.xml
                10:33:30,394 WARN [ServiceController] jboss.jca:service=NoTxDS,name=imsa84 does not implement any Service methods
                10:33:30,394 INFO [JBossManagedConnectionPool] Creating
                10:33:30,394 INFO [JBossManagedConnectionPool] Created
                10:33:30,394 INFO [NoTxConnectionManager] Creating
                10:33:30,404 INFO [NoTxConnectionManager] Created
                10:33:30,404 INFO [JBossManagedConnectionPool] Starting
                10:33:30,404 INFO [JBossManagedConnectionPool] Started
                10:33:30,404 INFO [NoTxConnectionManager] Starting
                10:33:30,404 ERROR [NoTxConnectionManager] Starting failed
                javax.management.InstanceNotFoundException: null object name
                .... (more lines here) .....
                10:33:30,825 INFO [MainDeployer] Deployed package: file:/C:/IPMJBoss/server/default/deploy/ims-service.xml
                10:33:30,895 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation 'checkIncompleteDeployments()'
                Cause: Incomplete Deployment listing:
                Packages waiting for a deployer:

                Incompletely deployed packages:

                MBeans waiting for classes:

                MBeans waiting for other MBeans:
                [ObjectName: jboss.jca:service=NoTxCM,name=imsa84
                state: FAILED
                I Depend On: jboss.jca:service=RARDeployer
                jboss.jca:service=NoTxDS,name=imsa84
                jboss.jca:service=NoTxPool,name=imsa84

                Depends On Me: javax.management.InstanceNotFoundException: null object name]
                -------------------------------------------------------
                So what is wrong with this ims-service.xml? Please help....

                <?xml version="1.0" encoding="UTF-8"?>

                <!--
                This is the JBoss service configuration
                for the IMS resource adapter.
                -->



                jboss.jca:service=RARDeployer

                <depends optional-attribute-name="ManagedConnectionFactoryName">

                <depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=IMS Connector for Java


                <config-property>
                <config-property-name>HostName</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>imsa84.mfr</config-property-value>
                </config-property>
                <config-property>
                <config-property-name>PortNumber</config-property-name>
                <config-property-type>java.lang.Integer</config-property-type>
                <config-property-value>5841</config-property-value>
                </config-property>
                <config-property>
                <config-property-name>DataStoreName</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>A84HWS</config-property-value>
                </config-property>
                <config-property>
                <config-property-name>UserName</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>$T300</config-property-value>
                </config-property>
                <config-property>
                <config-property-name>Password</config-property-name>
                <config-property-type>java.lang.String</config-property-type>
                <config-property-value>$T300</config-property-value>
                </config-property>


                j2c/ims/ipm



                <depends optional-attribute-name="ManagedConnectionPool">

                0
                50
                5000
                15
                ByContainer




                • 5. Re: Problem installing/configuring IBM IMS Connector
                  David Jencks Master


                  <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager

                  is missing.

                  btw, why would you run IMS without transactions? Are you using it read only? Does the IBM connector not support tx?

                  • 6. Re: Problem installing/configuring IBM IMS Connector
                    Martijn Lindhout Newbie

                    Thanx! Is this always necessary? Why?


                    Btw: Yes, yhis is the 1.0 port to JCA (orignial from IBM's Common Conector framework), which does not support transactions.

                    • 7. Re: Problem installing/configuring IBM IMS Connector
                      David Jencks Master

                      the depends tags are necessary. They are about the only thing making jboss start, in that jboss consists of a large number of loosely coupled services (mbeans) that use each other. In order for one to get started, it usually has to use some services from other mbeans. The depends tags tell the mbean the identity of one of the mbeans it needs, and tell the service lifecycle framework not to try to start the mbean before all the ones it depends on are started.

                      I think it's pretty amusing that IBM has released a connector for one of their major transaction monitor/database products that does not support transactions.

                      • 8. Re: Problem installing/configuring IBM IMS Connector
                        Martijn Lindhout Newbie

                        About IBM's IMS Connector. It supports transactions: you make an IMS call, and when the call returns, the transaction is done (rollback is at that moment impossible). Are this transactions or not? ;-))