Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. ARQ-196

Should support controlling multiple Containers

    Details

    • Type: Feature Request
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 1.0.0.Alpha5
    • Component/s: None
    • Labels:
      None

      Description

      For clustering and OSGi distributed test controlling the lifecycle of multiple Containers at the same time is needed. The same can be used for remoting between two containers etc.

      The Deployer API should then probably support deploying to a specific instance.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            aslak Aslak Knutsen added a comment -

            With multiple Containers we should support any number of any type of containers.

            e.g.
            Connect and deploy against a JBoss AS 5.1 and a GlassFish 3 in the same run while running the test case in a Weld Embedded container.

            To support multiple different Containers we need ClassPath control so the Client libs don't mix. We can open up arquillian.xml with maven artifact style configuration for the Container deps using the new Sonatype Aether lib to fetch them and setup the ClassLoaders.
            https://docs.sonatype.org/display/AETHER/Home

            We should open up for multiple @Deployment methods on a TestCase with a ID ref to which container to deploy to:

            e.g.

            @Deployment(MyTestScenario.BACKEND_SYSTEM_1)
            public static Archive<?> create() ..

            or

            @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1)
            @Deployment
            public static Archive<?> create() ..

            For the Exposed Deployer API we need the same style of support. (ARQ-195)

            e.g.

            @ArquillianResource(MyTestScenario.BACKEND_SYSTEM_1)
            Deployer backendDeployer;

            or

            @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1)
            @ArquillianResource
            Deployer backendDeployer;

            or

            Deployer.deploy(MyTestScenario.BACKEND_SYSTEM_1, archive)

            Show
            aslak Aslak Knutsen added a comment - With multiple Containers we should support any number of any type of containers. e.g. Connect and deploy against a JBoss AS 5.1 and a GlassFish 3 in the same run while running the test case in a Weld Embedded container. To support multiple different Containers we need ClassPath control so the Client libs don't mix. We can open up arquillian.xml with maven artifact style configuration for the Container deps using the new Sonatype Aether lib to fetch them and setup the ClassLoaders. https://docs.sonatype.org/display/AETHER/Home We should open up for multiple @Deployment methods on a TestCase with a ID ref to which container to deploy to: e.g. @Deployment(MyTestScenario.BACKEND_SYSTEM_1) public static Archive<?> create() .. or @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1) @Deployment public static Archive<?> create() .. For the Exposed Deployer API we need the same style of support. ( ARQ-195 ) e.g. @ArquillianResource(MyTestScenario.BACKEND_SYSTEM_1) Deployer backendDeployer; or @TargetContainer(MyTestScenario.FRONTEND_SYSTEM_1) @ArquillianResource Deployer backendDeployer; or Deployer.deploy(MyTestScenario.BACKEND_SYSTEM_1, archive)
            Hide
            aslak Aslak Knutsen added a comment -

            Needed to be able to go forward on this issue.

            Show
            aslak Aslak Knutsen added a comment - Needed to be able to go forward on this issue.
            Show
            aslak Aslak Knutsen added a comment - https://github.com/aslakknutsen/arquillian/tree/the_bigger_picture

              People

              • Assignee:
                aslak Aslak Knutsen
                Reporter:
                aslak Aslak Knutsen
              • Votes:
                1 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Development