Specyficzne dla serwera JBoss deskryptory wdrażania (jboss-web.xml i jboss.xml) mogą zawierać elementy odwołań do środowiska zasobów. Te elementy odwzorowują odwołania do środowiska zasobów na nazwy JNDI. Ta reguła wykrywa nazwy JNDI odwołań do środowiska zasobów JBoss. W skanerze kodu źródłowego szybka poprawka przeprowadza migrację nazwy JNDI do pliku powiązań serwera WebSphere Application Server.
Przykład wykrytych konstrukcji jboss-web.xml:
<jboss-web> ... <resource-env-ref> <resource-env-ref-name>jms/myQueue</resource-env-ref-name> <jndi-name>jndi/myQueue</jndi-name> </resource-env-ref> ... </jboss-web> |
Odpowiednie odwołanie do środowiska zasobów musi być dostępne we właściwym pliku web.xml.
W tym przykładzie plik web.xml musi zawierać element resource-env-ref o nazwie jms/myQueue.
<web-app>
... <resource-env-ref> <resource-env-ref-name>jms/myQueue</resource-env-ref-name> <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> </resource-env-ref> ... </web-app> |
Szybka poprawka zapisuje nazwę JNDI w pliku powiązań, a odwołanie zostaje skorelowane z elementem <resource-env-ref> w pliku web.xml.
Podobnie jest w przypadku konstrukcji EJB w pliku jboss.xml. Gdy elementy <resource-env-ref> odpowiadają elementowi <resource-env-ref> w pliku ejb-jar.xml dla konkretnego komponentu EJB, nazwa JNDI zostanie zapisana w powiązaniach serwerów WebSphere traditional i Liberty.
<jboss> <enterprise-beans> </session> <ejb-name>MyBean</ejb-name> ... <resource-env-ref> <resource-env-ref-name>jms/myQueue</resource-env-ref-name> <jndi-name>jndi/myQueue</jndi-name> </resource-env-ref ... </session> </enterprise-beans> </jboss> |