6 Replies Latest reply on Aug 23, 2005 10:44 AM by khawkins

    IMS Connection Factory

    tkrug0210

      Hi,

      I am currently battling with the task of deploying an IMS connection factory. The IBM IMS Resource Adapter 'imsico.rar' deploys fine, what I need is either an ims-ds.xml or an ims-service.xml.
      I already tried to use the cicsr9s-ds.xml included in the distribution only with the effect of receiving multiple exceptions......

      Does anybode have an IMS Implementation running?

      Sincerely

      Thomas

        • 1. Re: IMS Connection Factory
          khawkins

          Replace myconnectionfactory with the JNDI name of your connection factory. Replace myhost.com and 9999 with the host name or IP address and port of IMS Connect (OTMA). Replace DSNAME with the name of your IMS datastore (shown in the job log for IMS Connect). Add UserName, Password and GroupName if required.

          <server>
           <mbean code="org.jboss.resource.connectionmanager.NoTxConnectionManager" name="jboss.jca:service=NoTxCM,name=myconnectionfactory">
           <attribute name="JndiName">myconnectionfactory</attribute>
          
           <depends>jboss.jca:service=RARDeployer</depends>
          
           <depends optional-attribute-name="ManagedConnectionPool">
           <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" name="jboss.jca:service=NoTxPool,name=myconnectionfactory">
           <depends optional-attribute-name="ManagedConnectionFactoryName">
          
           <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=NoTxDS,name=myconnectionfactory">
           <depends optional-attribute-name="OldRarDeployment">
           jboss.jca:service=RARDeployment,name=IMS Connector for Java
           </depends>
           <attribute name="ManagedConnectionFactoryProperties">
           <properties>
           <config-property>
           <config-property-name>HostName</config-property-name>
           <config-property-type>java.lang.String</config-property-type>
           <config-property-value>myhost.com</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>9999</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></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>DSNAME</config-property-value>
           </config-property>
           <config-property>
           <config-property-name>TraceLevel</config-property-name>
           <config-property-type>java.lang.Integer</config-property-type>
           <config-property-value>1</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></config-property-value>
           </config-property>
           <config-property>
           <config-property-name>GroupName</config-property-name>
           <config-property-type>java.lang.String</config-property-type>
           <config-property-value></config-property-value>
           </config-property>
           </properties>
           </attribute>
           </mbean>
           </depends>
           <attribute name="MinSize">0</attribute>
           <attribute name="MaxSize">50</attribute>
           <attribute name="BlockingTimeoutMillis">5000</attribute>
           <attribute name="IdleTimeoutMinutes">15</attribute>
           <attribute name="Criteria">ByNothing</attribute>
           </mbean>
           </depends>
           <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>
           <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager</depends>
           </mbean>
          </server>
          
          


          • 2. Re: IMS Connection Factory
            tkrug0210

            Hi,

            thanx a lot. Problem is that no JNDI name is set at that moment. The connection factory imsico.rar does not provide an JNDI name..
            When I replace the myconnectionfactory with the JNDI name I wan't I get multiple "Incomplete Deployment listing" errors:

            21:28:16,884 ERROR [URLDeploymentScanner] Incomplete Deployment listing
            MBeans waiting for other MBeans:
            ObjectName: jboss.jca:name=eis/IMSRemote,service=NoTxCM
             state: CONFIGURED
             I Depend On: jboss.jca:service=RARDeployer
             jboss.jca:name=eis/IMSRemote,service=NoTxPool
             jboss.jca:service=CachedConnectionManager
             jboss.security:service=JaasSecurityManager
            
             Depends On Me:
            ObjectName: jboss.jca:name=eis/IMSRemote,service=NoTxPool
             state: CONFIGURED
             I Depend On: jboss.jca:name=eis/IMSRemote,service=NoTxDS
            
             Depends On Me: jboss.jca:name=eis/IMSRemote,service=NoTxCM
            
            ObjectName: jboss.jca:name=eis/IMSRemote,service=NoTxDS
             state: CONFIGURED
             I Depend On: jboss.jca:name=imsico.rar,service=RARDeployment
            
             Depends On Me: jboss.jca:name=eis/IMSRemote,service=NoTxPool
            
            
            MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
            ObjectName: jboss.jca:name=imsico.rar,service=RARDeployment
             state: NOTYETINSTALLED
             I Depend On:
             Depends On Me: jboss.jca:name=eis/IMSRemote,service=NoTxDS
            


            • 3. Re: IMS Connection Factory
              khawkins

              The imsico.rar doesn't have to define a JNDI name. The service.xml file defines a connection factory and the JNDI name specified in that file defines the JNDI name for the connection factory.

              Stop JBoss. Copy imsico.rar to %JBOSS_HOME%\server\default\deploy. Copy your service.xml file to the same deploy directory (using your example I would name the file IMSRemote-service.xml). Start JBoss.

              • 4. Re: IMS Connection Factory

                 


                MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
                ObjectName: jboss.jca:name=imsico.rar,service=RARDeployment
                state: NOTYETINSTALLED


                The rar is not deployed

                • 5. Re: IMS Connection Factory
                  blaplante

                  This seems to be the only post on the subject of IMS connector. I have read 100's of pages of docs from IBM and a number of articles and I can not get past the following message.

                  13:21:12,564 ERROR [RARDeployment] Starting failed jboss.jca:name=IMS,service=ManagedConnectionFactory
                  java.lang.IllegalArgumentException: Unable to invoke setter method 'public void com.ibm.connector2.ims.ico.IMSManagedConnectionFactory.setMFSXMIRepositoryID(java.lang.String)' on object 'com.ibm.connector2.ims.ico.IMSManagedConnectionFactory@0'

                  Before I get too much farther into this solution I have a question that may not be related to JBoss but asking the same question in IMS related discussion group seem to fall on non-java ears and I would like to get the 2 cents for your prospective.

                  After IMS connector is configured and I finally get to talk to IMS, will I be able to talk to ims as if it were a relational database or will I have to have supporting code running in cics to support the data I want to retrieve?
                  I hope you can shed some light on this subject.

                  Thanks.

                  Bryan

                  • 6. Re: IMS Connection Factory
                    khawkins

                    I think the cause of your problem is that with newer versions of the IMS resource adapter IBM has packaged some Eclipse helper classes. These classes are not directly used by the resource adapter but JBoss sees the packaged classes and tries to resolve their dependencies.

                    To deploy you will need the Eclipse's EMF related jars. Download EMF runtime (http://download.eclipse.org/tools/emf/scripts/downloads.php) and get two jars from EMF package:

                    a) eclipse\plugins\org.eclipse.emf.common_2.0.1\runtime\common.jar
                    b) eclipse\plugins\org.eclipse.emf.ecore_2.0.1\runtime\ecore.jar

                    The IMS resource adapter connects to IMS/TM, i.e., the transaction monitor. You will be able to execute IMS transactions and commands but will not be able to directly access an IMS database.