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

mappedName and lookup attributes are ignored for @EJB in jections into test cases, forcing a naming convention on implementations

    XMLWordPrintable

Details

    • Hide

      download attached maven project. using maven 3, issue "mvn clean install" to run the build + tests. watch the fireworks

      Show
      download attached maven project. using maven 3, issue "mvn clean install" to run the build + tests. watch the fireworks
    • Hide

      As a workaround, use:

      @Resource(mappedName="java://some/some/ejb") MyInterface ejb;

      or use manual lookup:

      new InitialContext().lookup("java://some/some/ejb")

      Show
      As a workaround, use: @Resource(mappedName="java://some/some/ejb") MyInterface ejb; or use manual lookup: new InitialContext().lookup("java://some/some/ejb")

    Description

      suppose i have an interface called BeanInterface, which is a local interface implemented a class called BeanImplementation.
      then, in my test case, i have the following in ijected field:

      @EJB(mappedName = "java:global/test/BeanImplementation/local")
      private BeanInterface bean;

      this will fail because the enricher does not bother looking at the annotation attributes. specifically, as can be seen in EJBInjectionEnricher.java line 102, the code does not pass the Field itself to the lookup method, only its name. the lookup method then proceeds to try several JNDI naming alternatives (line 137).

      this means that production classes are forced to adhere to the naming conventions used by arquillian code or tests fail.

      the code in question could take into account the mappedName and/or lookup attributes of @EJB to allow developers to specify the JNDI name for the lookup.

      Attachments

        Issue Links

          Activity

            People

              drallendc@gmail.com David Allen (Inactive)
              hatchetman82 Radai Rosenblatt (Inactive)
              Votes:
              4 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: