11 Replies Latest reply on Dec 20, 2006 4:07 AM by bkseow

    JCA/CICS has problem with JBoss4.0 RC1

    chen_comp

      Hi,
      I have a application using IBM CICS adapter, it has been successfully deployed into JBOSS 3.XX. When I deploy cicseic.rar and corresponding cicseci-service.xml, I got following msg:

      15:23:11,743 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
      MBeans waiting for other MBeans:
      ObjectName: jboss.jca:name=cicseci,service=LocalTxCM
      state: CONFIGURED
      I Depend On: jboss:service=TransactionManager
      jboss.jca:service=RARDeployer
      jboss.jca:name=cicseci,service=LocalTxPool
      jboss.jca:service=CachedConnectionManager
      jboss.security:service=JaasSecurityManager

      Depends On Me:
      ObjectName: jboss.jca:name=cicseci,service=LocalTxPool
      state: CONFIGURED
      I Depend On: jboss.jca:name=cicseci,service=LocalTxPF

      Depends On Me: jboss.jca:name=cicseci,service=LocalTxCM

      ObjectName: jboss.jca:name=cicseci,service=LocalTxPF
      state: CONFIGURED
      I Depend On: jboss.jca:name=ECIResourceAdapter,service=RARDeployment

      Depends On Me: jboss.jca:name=cicseci,service=LocalTxPool


      MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
      ObjectName: jboss.jca:name=ECIResourceAdapter,service=RARDeployment
      state: NOTYETINSTALLED
      I Depend On:
      Depends On Me: jboss.jca:name=cicseci,service=LocalTxPF

      Anybody help will be much appreciated.

      chen

        • 1. Re: JCA/CICS has problem with JBoss4.0 RC1

          The -service.xml type deployment of connection factories hasn't been
          suported since 3.0.8. You should use the -ds.xml format.

          Assuming you are using the old example from docs/examples/jca

           <!-- ==================================================================== -->
           <!-- ConnectionManager setup for CICS ECI Resource Adapter -->
           <!-- Add cicseci.rar to the deploy folder -->
           <!-- Configuration supplied by marchri@cad.it, tested with 4.0.2 -->
           <!-- ==================================================================== -->
          
          <server>
           <mbean code="org.jboss.resource.connectionmanager.LocalTxConnectionManager"
           name="jboss.jca:service=LocalTxCM,name=cicsr9s">
           <attribute name="JndiName">ra/cicsr9s</attribute>
           <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
           <depends>jboss.jca:service=RARDeployer</depends>
          
           <depends optional-attribute-name="ManagedConnectionPool">
           <mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool"
           name="jboss.jca:service=LocalTxPool,name=cicsr9s">
           <depends optional-attribute-name="ManagedConnectionFactoryName">
           <mbean code="org.jboss.resource.connectionmanager.RARDeployment"
           name="jboss.jca:service=LocalTxPF,name=cicsr9s">
          
           <depends optional-attribute-name="OldRarDeployment">
           jboss.jca:service=RARDeployment,name=ECIResourceAdapter
           </depends>
          
          
           <attribute name="ManagedConnectionFactoryProperties">
           <properties>
           <config-property>
           <config-property-name>ConnectionURL</config-property-name>
           <config-property-type>java.lang.String</config-property-type>
           <config-property-value>tcp://arno</config-property-value>
           </config-property>
           <config-property>
           <config-property-name>PortNumber</config-property-name>
           <config-property-type>java.lang.String</config-property-type>
           <config-property-value>2006</config-property-value>
           </config-property>
           <config-property>
           <config-property-name>ServerName</config-property-name>
           <config-property-type>java.lang.String</config-property-type>
           <config-property-value>CICSR9S</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>CICSUSER</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">1</attribute>
           <!-- sql to call when connection is created
           <new-connection-sql>some arbitrary sql</new-connection-sql>
           -->
          
           <!-- sql to call on an existing pooled connection when it is obtained from pool
           <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
           -->
          
           <attribute name="Criteria">ByContainer</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>
          


          In 3.2.x this would be:
          <?xml version="1.0" encoding="UTF-8"?>
          <connection-factories>
           <tx-connection-factory>
           <jndi-name>ra/cicsr9s</jndi-name>
           <adapter-display-name>ECIResourceAdapter</adapter-display-name>
           <config-property name="ConnectionURL" type="java.lang.String">tcp://arno</config-property>
           <config-property name="PortNumber" type="java.lang.String">2006</config-property>
           <config-property name="ServerName" type="java.lang.String">CICSR9S</config-property>
           <config-property name="UserName" type="java.lang.String">CICSUSER</config-property>
           <max-pool-size>50</max-pool-size>
           </tx-connection-factory>
          
          </connection-factories>
          


          In 4.0.x there is a slight change because multiple connections definitions
          (connection factory classes) are allowed per resource adapter:

          XXXXXXXXXX is the name of the rar deployment, e.g. cics9rs.rar?
          YYYYYYYYYY is the name of the connection factory class from the ra.xml inside
          the rar

          <?xml version="1.0" encoding="UTF-8"?>
          <connection-factories>
           <tx-connection-factory>
           <jndi-name>ra/cicsr9s</jndi-name>
           <rar-name>XXXXXXXXXX</rar-name>
           <connection-definition>YYYYYYYY</connection-definition>
           <config-property name="ConnectionURL" type="java.lang.String">tcp://arno</config-property>
           <config-property name="PortNumber" type="java.lang.String">2006</config-property>
           <config-property name="ServerName" type="java.lang.String">CICSR9S</config-property>
           <config-property name="UserName" type="java.lang.String">CICSUSER</config-property>
           <max-pool-size>50</max-pool-size>
           </tx-connection-factory>
          
          </connection-factories>
          


          See jms-ds.xml or
          http://www.jboss.org/wiki/Wiki.jsp?page=ConfigConnectionFactory
          for more info.

          Once you have a working version, please post it back so I can add it to
          docs/examples/jca for others to use.


          • 2. Re: JCA/CICS has problem with JBoss4.0 RC1
            chen_comp

            Thanks.

            After I filled in XXX/YYY, it works now. Below is the code after I filled in parameter:

            <?xml version="1.0" encoding="UTF-8"?>
            <connection-factories>
            <tx-connection-factory>
            <jndi-name>ra/cicsr9s</jndi-name>
            <rar-name>cicsr9s.rar</rar-name>
            <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>
            <config-property name="ConnectionURL" type="java.lang.String">tcp://arno</config-property>
            <config-property name="PortNumber" type="java.lang.String">2006</config-property>
            <config-property name="ServerName" type="java.lang.String">CICSR9S</config-property>
            <config-property name="UserName" type="java.lang.String">CICSUSER</config-property>
            <max-pool-size>50</max-pool-size>
            </tx-connection-factory>

            </connection-factories>


            Chen

            • 3. Re: JCA/CICS has problem with JBoss4.0 RC1
              mlavarreda

              Sorry for my english.

              Where i found the file cicseci.rar?

              and how I deploy the cicsc-ds.xml into Jboss.

              I use Jboss 3.2.2

              Thank in advance.

              • 4. Re: JCA/CICS has problem with JBoss4.0 RC1
                chen_comp

                You have to get from IBM. It is resource adapter for CICS.

                Just copy XX-ds.xml into deploy directory.

                Regards,

                Chen

                • 5. Re: JCA/CICS has problem with JBoss4.0 RC1
                  bkseow

                  Hi,

                  I have the same problem of trying to deploy CICS resource adapter into JBOSS 4.0 and the following are the error message generated:

                  10:24:31,687 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
                  MBeans waiting for other MBeans:
                  ObjectName: jboss.jca:service=TxCM,name=cicseci
                  state: CONFIGURED
                  I Depend On: jboss.jca:service=ManagedConnectionPool,name=cicseci
                  jboss.jca:service=CachedConnectionManager
                  jboss:service=TransactionManager

                  Depends On Me: jboss.jca:service=ConnectionFactoryBinding,name=cicseci

                  ObjectName: jboss.jca:service=ManagedConnectionPool,name=cicseci
                  state: CONFIGURED
                  I Depend On: jboss.jca:service=ManagedConnectionFactory,name=cicseci

                  Depends On Me: jboss.jca:service=TxCM,name=cicseci

                  ObjectName: jboss.jca:service=ManagedConnectionFactory,name=cicseci
                  state: CONFIGURED
                  I Depend On: jboss.jca:service=RARDeployment,name='cicseci.rar'

                  Depends On Me: jboss.jca:service=ManagedConnectionPool,name=cicseci

                  ObjectName: jboss.jca:service=ConnectionFactoryBinding,name=cicseci
                  state: CONFIGURED
                  I Depend On: jboss.jca:service=TxCM,name=cicseci

                  Depends On Me:

                  MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
                  ObjectName: jboss.jca:service=RARDeployment,name='cicseci.rar'
                  state: NOTYETINSTALLED
                  I Depend On:
                  Depends On Me: jboss.jca:service=ManagedConnectionFactory,name=cicseci

                  The following are my setting in my cicseci-ds.xml:

                  <connection-factories>
                  <tx-connection-factory >
                  <jndi-name>cicseci</jndi-name>
                  <local-transaction>true</local-transaction>
                  <rar-name>cicseci.rar</rar-name>
                  <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>
                  <config-property name="ServerSecurity" type="java.lang.String"></config-property>
                  <config-property name="TranName" type="java.lang.String">PCTM</config-property>
                  <config-property name="UserName" type="java.lang.String"></config-property>
                  <config-property name="KeyRingClass" type="java.lang.String"></config-property>
                  <config-property name="Password" type="java.lang.String"></config-property>
                  <config-property name="TPNName" type="java.lang.String"></config-property>
                  <config-property name="ClientSecurity" type="java.lang.String"></config-property>
                  <config-property name="KeyRingPassword" type="java.lang.String"></config-property>
                  <config-property name="ConnectionURL" type="java.lang.String">tcp://172.25.217.21</config-property>
                  <config-property name="PortNumber" type="java.lang.String">2006</config-property>
                  <config-property name="ServerName" type="java.lang.String">CICSDV5</config-property>
                  <config-property name="TraceLevel" type="java.lang.Integer">1</config-property>
                  </tx-connection-factory>
                  </connection-factories>

                  Please advice and thanks in advance!

                  Seow




                  • 6. Re: JCA/CICS has problem with JBoss4.0 RC1
                    weston.price

                    Make sure your cicseci.rar is in the deploy directory for your server. Also, are you embedding your RAR file inside an EAR?

                    • 7. Re: JCA/CICS has problem with JBoss4.0 RC1
                      bkseow

                      Hi,

                      The resource adapter is in the deploy directory. No, the rar file is not embedded in ear.

                      I have performed the similar steps in JBOSS 3.x and the problem does not appear. Any difference in 4.x as compared to 3.x in deploying resource adapter ?

                      Thanks.


                      Seow

                      • 8. Re: JCA/CICS has problem with JBoss4.0 RC1
                        weston.price

                        Can you verify through the JMX console that you RAR is indeed installed? Something doesn't make sense, I just want to make sure that the RAR is getting installed at all.

                        • 9. Re: JCA/CICS has problem with JBoss4.0 RC1
                          bkseow

                          Hi,

                          The adapter was installed as I can see the following entries through jmx-console:

                          :
                          :
                          name=cicseci,service=ConnectionFactoryBinding
                          name=cicseci,service=ManagedConnectionFactory
                          name=cicseci,service=ManagedConnectionPool
                          name=cicseci,service=TxCM
                          :
                          :

                          The CICS resource adapter that I am using come with IBM CICS Transaction Gateway (CTG) V5. I have tried to use the adapter that comes with IBM CTG V4 on JBOSS 4.x and I can connect to the host without any problem. Can the problem be related to the adapter ?


                          Seow

                          • 10. Re: JCA/CICS has problem with JBoss4.0 RC1
                            weston.price

                            That would be my guess. Could you turn on tracing when you deploy your *-ds.xml file and then send it to me?

                            • 11. Re: JCA/CICS has problem with JBoss4.0 RC1
                              bkseow

                              Hi,

                              The version of JBoss that I have used for my application is 4.0.0. When I tried to use it on 4.0.2, it does not report any eror relating to the resource adapter. Quite strange that it can work on 3.x and 4.0.2 but not 4.0.0.


                              Seow