Ta reguła powoduje oznaczenie flagą elementów Context <ResourceLink> w pliku META-INF/context.xml, które mogą wymagać migracji.
Produkt Apache Tomcat umożliwia definiowanie elementów Context <ResourceLink> w następujących miejscach:
Ponieważ narzędzie migracji nie ma dostępu do katalogu konfiguracyjnego Tomcat, przeprowadza tylko migrację pliku META-INF/context.xml. Informacje ResourceLink zdefiniowane w innych miejscach mogą zostać skopiowane do pliku META-INF/context.xml, aby zostały przetworzone.
Szybka poprawka jest dostępna w skanerze kodu źródłowego. Szybka poprawka pobiera informacje z elementów ResourceLink i tworzy odwołanie do zasobu oraz odpowiednią nazwę JNDI w następujący sposób:
Należy zauważyć, że pozostałe atrybuty elementu ResourceLink (factory, username oraz password) nie są migrowane automatycznie. Jeśli aplikacja korzysta z tego atrybutu w elemencie ResourceLink, należy utworzyć unikalny zasób w konfiguracji serwera, udostępnić zasób z unikalną nazwą JNDI i zaktualizować plik powiązań IBM o nową nazwę JNDI.
Jeśli projekt WWW jest w wersji Java EE 5 lub nowszej, a plik WEB-INF/web.xml nie istnieje, zostanie utworzony plik WEB-INF/web.xml i zostaną dodane nowe elementy odwołań do odsyłaczy do zasobów. Jeśli projekt WWW jest w wersji J2EE 1.4 lub starszej, szybka poprawka zgłosi błąd.
Przykładowo weźmy plik META-INF/Context.xml zawierający następujący element ResourceLink:
| <ResourceLink global="jdbc/SampleWebGlobal" name="jdbc/SampleWeb" type="javax.sql.DataSource"/> |
Szybka poprawka zaktualizuje lub utworzy nowy element resource-ref w pliku web.xml podobny do następującego przykładu:
|
<resource-ref id="ResourceRef_1313785392722"> <res-ref-name>jdbc/SampleWeb</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> |
Nazwa JNDI zostanie dodana do pliku powiązań IBM. Odwołuje się ona do istniejącego odwołania zdefiniowanego w pliku web.xml. Jeśli plik powiązań jeszcze nie istnieje, zostanie utworzony.
Konieczne będzie także skonfigurowanie zasobu w konfiguracji serwera WebSphere Application Server.
Dodatkowe informacje na temat definicji zasobu kontekstu na serwerze Tomcat można znaleźć w sekcji: