Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Próba wdrożenia aplikacji Oracle-ADF na Tomcat 7

Chociaż odpowiedź yilmazbahadirs działa - nie jest to prawdziwe rozwiązanie. Szukałem więc dalej i znalazłem następujący blog:byte bohemian

Wynik jest zasadniczo taki - musisz załadować współdzielone biblioteki ADF za pomocą współdzielonego programu ładującego klasy, a nie po prostu umieszczać je w folderze tomcat/lib, jak mówią stare posty na blogu Oracle. W końcu uruchomiłem i uruchomiłem ADF na Tomcat8 - ale przetestowałem także na 6 i 7 z następującą procedurą:

  1. Utwórz nowy folder w katalogu tomcat (CATALINA_BASE) o nazwie shared-lib . Edytuj plik config/catalina.properties i wyszukaj linię za pomocą shared.loader=... Zmień ją na następującą:shared.loader="${catalina.base}/shared-lib","${catalina.base}/shared-lib/*.jar","${catalina.home}/shared-lib","${catalina.home}/shared-lib/*.jar" To powie Tomcatowi, aby załadował te pliki za pomocą oddzielnego programu ładującego klasy i naprawi twoje problemy, gdy wszystkie biblioteki współdzielone będą w tym folderze.

  2. Pobierz ADF-essentials ZIP i rozpakuj go do shared-lib (musisz je rozpakować na płasko!!! Więc wszystkie pliki JAR ze wszystkich podkatalogów powinny znajdować się bezpośrednio w folderze bez żadnych podkatalogów)

  3. Wdróż aplikację ADF ze wszystkimi zależnymi bibliotekami jako plik EAR i skopiuj wszystkie pliki JAR z pliku EAR do folderu shared-lib.

  4. Sprawdź, czy nie ma duplikatów JAR - log4j był dla mnie zawsze dostępny w dwóch wersjach, jeśli znajdziesz duplikaty, po prostu zachowaj nowszą.

  5. Pobierz GlassFish Server i skopiuj następujące pliki z glassfish/modules do folderu shared-lib:

    bean-validator.jar javax.mail-1.4.4.jar javax.servlet.jsp.jstl.jar javax.servlet.jsp.jstl-api.jar javax.transaction.jar

  6. Dodaj ojdbc7.jar do tomcat/lib (NIE biblioteka współdzielona)

  7. Dodaj następującą opcję środowiska do Tomcata podczas uruchamiania (np. w setenv.sh/setenv.bat):CATALINA_OPTS=-Doracle.mds.cache=simple

  8. (Opcjonalnie) Jeśli chcesz @PreDestroy Aby adnotacje działały bez zgłaszania błędów i korzystały z TomCat 7 lub 8, musisz zarejestrować niestandardowy odbiornik, który zajmie się tymi adnotacjami, ponieważ Oracle próbuje uzyskać dostęp do sesji w PreDestroy, podczas gdy Tomcat przestrzega głupich oficjalny standard i unieważnił sesję przed wywołaniem PreDestroy:Będziesz musiał skopiować następujący plik JAR (w tym źródło) do swojej shared-lib folder:adf-predestroy-helper.jar i zarejestruj go w WEB_INF/web.xml każdej aplikacji ADF w ten sposób:

<listener> <listener-class>oracle.adf.PreDestroyHelper</listener-class> </listener>

Słuchacz PreDestroy został napisany przeze mnie i wypuszcza OpenSource na licencji CreativeCommons, więc możesz go używać w dowolny sposób, ale byłbym zadowolony z informacji zwrotnych.

Dla odniesienia — tak wygląda mój folder z udostępnionymi bibliotekami (160 plików):

adf-businesseditor-model.jar
adf-businesseditor-objects.jar
adf-businesseditor-settings.jar
adf-controller-api.jar
adf-controller-rt-common.jar
adf-controller-schema.jar
adf-controller-security.jar
adf-controller.jar
adf-customizationset-ui.jar
adf-dt-at-rt-wizards.jar
adf-dt-at-rt.jar
adf-dynamic-faces.jar
adf-faces-changemanager-rt.jar
adf-faces-databinding-dt-core.jar
adf-faces-databinding-rt.jar
adf-faces-registration.jar
adf-faces-templating-dt-core.jar
adf-faces-templating-dtrt.jar
adf-loc.jar
adf-mobile-schema.jar
adf-pageflow-dtrt.jar
adf-pageflow-fwk.jar
adf-pageflow-impl.jar
adf-pageflow-rc.jar
adf-predestroy-helper.jar
adf-richclient-api-11.jar
adf-richclient-automation-11.jar
adf-richclient-bootstrap.jar
adf-richclient-impl-11.jar
adf-richclient-jmx.jar
adf-richclient-skin-editor.jar
adf-richclient-skin-repository.jar
adf-sec-idm-dc.jar
adf-share-base.jar
adf-share-ca.jar
adf-share-glassfish.jar
adf-share-security.jar
adf-share-support.jar
adf-share-web.jar
adf-stringeditor-api.jar
adf-view-databinding-dt-core.jar
adf-view-unified-databinding-dt-core.jar
adf.constants.jar
adfbcsvc-client.jar
adfbcsvc-registration.jar
adfbcsvc-share.jar
adfbcsvc.jar
adfdt_common.jar
adflibfilter.jar
adflibrary.jar
adflogginghandler.jar
adfm-debugger.jar
adfm-sqldc.jar
adfm.jar
adfmportlet.jar
adfmweb.jar
adfsharembean.jar
adftags.jar
adftransactionsdt.jar
batik-anim.jar
batik-awt-util.jar
batik-bridge.jar
batik-codec.jar
batik-css.jar
batik-dom.jar
batik-ext.jar
batik-extension.jar
batik-gui-util.jar
batik-gvt.jar
batik-parser.jar
batik-script.jar
batik-svg-dom.jar
batik-svggen.jar
batik-swing.jar
batik-transcoder.jar
batik-util.jar
batik-xml.jar
bc4j-mbeans.jar
bc4jhtml.jar
bc4jimdomains.jar
bc4jsyscat.jar
bean-validator.jar
bundleresolver.jar
com.bea.core.apache.commons.collections_1.0.0.0_3-2.jar
com.oracle.classloader.pcl_12.1.3.jar
com.oracle.http_client.http_client_12.1.3.jar
com.oracle.jrf.j2ee.web-common-schemas_12.1.3.jar
com.oracle.ojsp.globaltldcache_12.1.3.jar
com.oracle.ojsp.ojsp_12.1.3.jar
com.oracle.ojsp.web-common_12.1.3.jar
com.oracle.webservices.fmw.oc4j-ws-support-impl_12.1.3.jar
commons-el.jar
datatags.jar
db-ca.jar
dms.jar
dvt-as.jar
dvt-basemaps.jar
dvt-databinding-dt-core.jar
dvt-databindings-mds.jar
dvt-databindings.jar
dvt-faces.jar
dvt-facesbindings.jar
dvt-jclient-adf.jar
dvt-jclient.jar
dvt-shared-js.jar
dvt-trinidad.jar
dvt-utils.jar
facesconfigmodel.jar
groovy-all-2.1.6.jar
inspect4.jar
javamodel-rt.jar
javatools-nodeps.jar
javax.mail-1.4.4.jar
javax.servlet.jsp.jstl-api.jar
javax.servlet.jsp.jstl.jar
javax.transaction.jar
jdev-cm.jar
jewt4.jar
jmxdc.jar
jr_dav.jar
jrf-api.jar
jsf-api.jar
jsf-impl.jar
jsp-el-api.jar
mds-dc.jar
mdsrt.jar
mobile-repository.jar
oicons.jar
ojdbc6dms.jar
ojdl.jar
ojdl2.jar
oracle-el.jar
oracle.logging-utils_12.1.3.jar
oracle.xdb_12.1.0.jar
oraclexsql.jar
orai18n-mapping.jar
ordhttp.jar
ordim.jar
org.apache.bcel_5.1.jar
org.apache.commons.beanutils_1.8.3.jar
org.apache.commons.logging_1.1.1.jar
org.apache.http.components.httpclient-4.1.2.jar
org.apache.http.components.httpclient-cache-4.1.2.jar
org.apache.http.components.httpcore-4.1.2.jar
org.apache.http.components.httpmime-4.1.2.jar
prefuse.jar
rcs-adflib-rt.jar
rcsrt.jar
regexp.jar
resourcebundle.jar
share.jar
taglib.jar
trinidad-api.jar
trinidad-impl.jar
velocity-dep-1.4.jar
weld-integration.jar
xml-apis-ext.jar
xmlef.jar
xmlparserv2_sans_jaxp_services.jar
xsqlserializers.jar

A to jest standardowy folder tomcat/lib (25 plików):

annotations-api.jar
catalina-ant.jar
catalina-ha.jar
catalina-storeconfig.jar
catalina-tribes.jar
catalina.jar
ecj-4.4.2.jar
el-api.jar
jasper-el.jar
jasper.jar
jsp-api.jar
ojdbc7.jar
servlet-api.jar
tomcat-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
tomcat-jdbc.jar
tomcat-jni.jar
tomcat-util-scan.jar
tomcat-util.jar
tomcat-websocket.jar
websocket-api.jar


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klasa puli połączeń Oracle

  2. Wprowadzenie do obsługi wyjątków PL/SQL w bazie danych Oracle

  3. Tabele zewnętrzne Oracle

  4. Wywołanie niezdefiniowanej funkcji oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6

  5. Utrzymywanie agnostyki bazy danych aplikacji (ADO.NET vs enkapsulacja logiki DB)