3 Replies Latest reply on Jun 3, 2008 4:35 AM by vickyk

    The current implementation of the JCA deployers is broken

      I"m going to get around to fixing these eventually once I've got the testsuite in
      a reasonable state and I've fixed the ejb/war/ear deployment.

      If somebody wants to work on this before then that's ok with me

      1) The maintainance of the RAR MetaDataRepository is completely wrong.
      It shouldn't be in the parsing deployer and currently there is no remove.

      2) The metadata should not depend upon implementation details, e.g. wrong!

      [ejort@warjort mcf]$ grep -ri system *
      ManagedConnectionFactoryDeploymentGroup.java:import org.jboss.system.metadata.ServiceMetaData;
      ManagedConnectionFactoryDeploymentMetaData.java:import org.jboss.system.metadata.ServiceMetaData;
      ServiceMetaDataAdapter.java:import org.jboss.system.metadata.ServiceMetaData;
      ServiceMetaDataAdapter.java:import org.jboss.system.metadata.ServiceMetaDataParser;
      


      The translation to implementation details (MBeans or POJOs) is the responsbility
      of the deployment layer not the metadata which is potentially a client side model.

      3) The current metadata is way too complicated. Currently to add a parameter
      you have to modify far too many things.
      * ra.xml
      * dtd
      * metadata
      * builder
      * programmatic managed object
      * etc.

      4) The rar deployer should be parsing the jboss-ra.xml

      5) The managed object stuff is completely wrong. You should just be
      able to annotate the classes. There's all sorts of stuff in there that should be
      in the profile service not JCA

      6) The templating stuff needs to moved out of the profile service into the managed
      project. JCA should just depend upon jboss-managed not the profile service
      (and even then only the annotations).

      7) The reworking of the MCF deployment means many of the JMX operations
      have "vanished".

      8) There's all sorts of cruft lying around from the old deployment model that needs cleaning up

      9) The metadata models should be moved to the jboss-metadata project
      and unified with it where there is overlap

      10) The deployments need to be converted to be POJOs rather than MBeans.

      11) There needs to more thorough testing of the new deployers and metadata.
      I keep finding broken things that the testsuite is not showing up.

      etc.

        • 1. Re: The current implementation of the JCA deployers is broke

          Please create seperate threads if you want to discuss an individual issue.

          But please don't raise a thread that says,

          "I volunteer, how do I do it?"

          If you don't know how to do it, don't volunteer. ;-)

          • 2. Re: The current implementation of the JCA deployers is broke
            vickyk

             

            "adrian@jboss.org" wrote:


            1) The maintainance of the RAR MetaDataRepository is completely wrong.
            It shouldn't be in the parsing deployer and currently there is no remove.

            4) The rar deployer should be parsing the jboss-ra.xml

            .


            I have been able to get [4] working and will update the [1] in the real deployers .
            Point 1 lies here too
            http://www.jboss.com/index.html?module=bb&op=viewtopic&t=100570&postdays=0&postorder=asc&start=40



            • 3. Re: The current implementation of the JCA deployers is broke
              vickyk

               

              It shouldn't be in the parsing deployer and currently there is no remove. Moving the


              After moving the addition/deletion of the metadata in the real deployer I realized that the default deployment of the hsqldb-ds.xml does not work .

              The MainDeployer makes these calls
              1) It calls the RARParserDeployer which parses the ra.xml+jboss-ra.xml .
              2) It next calls the MCF ParserDeployer/Deployer(real Deployer) which is unable to get the ConnectorMetaData from the MetaData repository and thus the deployment fails during the start up .

              3) The RARDeployer( real deployer) then does the deployment of the RAR and puts the MetaData in the repository .

              If we deploy the -ds.xml after the [3] it will work , but the initial(startup) deployment of the hsqldb-ds.xml will not be done unless the metadata is not made available through the RARParserDeployer.

              If the MainDeployer calls the RAR(parser/real) and then MCF(parse/real) in sequence then adding/removing of the MetaData in the real deployers will work , is this possible ?