Deskryptory wdrażania WebLogic dla trwałych komponentów bean zarządzanych przez kontener umożliwiają aplikacjom korzystanie z funkcji automatycznego generowania sekwencji bazy danych (kluczy). Gdy używana jest ta funkcja, aplikacja WebLogic nie musi zawierać kodu do wygenerowania następnego klucza sekwencji podczas tworzenia obiektów EJB CMP. Podczas migrowania aplikacji WebLogic, które zawierają automatyczne generowanie sekwencji, należy dodać kod aplikacji w celu wygenerowania identyfikatora sekwencji dla nowych pozycji.
Plik weblogic-cmp-rdbms-jar.xml zawiera informacje dla komponentów EJB jednostek, które korzystają z trwałości opartej na systemie RDBMS produktu WebLogic.
Ta reguła skanuje konfigurację elementów automatic-key-generation produktu WebLogic i udostępnia informacje dotyczące migracji dla generatora typu Oracle.
W tym przykładzie przedstawiono element, który zostanie oznaczony przez tę regułę:
Pozycja generator-name wskazuje nazwę z tabeli DUAL Oracle, która ma zostać użyta do wygenerowania następnej sekwencji.
Na przykład dla pozycji generator_name o wartości sequence_id można użyć następującej instrukcji SQL do wygenerowania następnego numeru sekwencji.
Jeśli ta reguła spowoduje oznaczenie pozycji w deskryptorze wdrażania weblogic-cmp-rdbms-jar.xml, konieczne będzie podjęcie kroków w celu ręcznego zmodyfikowania kodu EJB w celu utworzenia kluczy. Kroki te należy wykonać przed ponownym wygenerowaniem kodów pośredniczących EJB dla serwera WebSphere Application Server. W poniższych przykładach przedstawiono potencjalną ścieżkę migracji.
ejbCreate i ejbPostCreate komponentu bean jednostki.ejbCreate i ejbPostCreate.create interfejsu podstawowego komponentów EJB.create() interfejsu podstawowego komponentów EJB jest wywoływana w celu przekazania następnego numeru sekwencji.W poniższych przykładach wysokiego poziomu przedstawiono sposób wymiany funkcjonalności logiki kluczy generowanych automatycznie przez Oracle. Należy napisać podobny kod dla każdego komponentu bean CMP, który używa numerów sekwencji generowanych automatycznie przez Oracle. Istnieje możliwość utworzenia narzędziowych klas pomocniczych w celu połączenia wspólnej logiki generującej numery sekwencji dla każdego komponentu bean.
ejbCreate i ejbPostCreate komponentu bean jednostki.Przed:
Po:
ejbCreate.create interfejsu podstawowego komponentów EJB.Przed:
Po:
create() interfejsu podstawowego komponentów EJB jest wywoływana w celu przekazania następnego numeru sekwencji.