Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/JPA 2.0/weblogic"

m (New page: =Running JPA 2.0 API on WebLogic 10.3= ==JSR-317 JPA 2.0 EJB 3.1 Support== *EclipseLink 1.2 and 2.0+ fully implement the JPA 2.0 specification via enhancement # [http://bugs.eclipse.org/24...)
 
m (Running JPA 2.0 API on WebLogic 10.3)
Line 1: Line 1:
 
=Running JPA 2.0 API on WebLogic 10.3=
 
=Running JPA 2.0 API on WebLogic 10.3=
==JSR-317 JPA 2.0 EJB 3.1 Support==
+
==Analysis==
 
*EclipseLink 1.2 and 2.0+ fully implement the JPA 2.0 specification via enhancement # [http://bugs.eclipse.org/248291 248291] and are the RI for the [http://wiki.eclipse.org/EclipseLink/Examples/JPA/GlassFishV3_Web_Tutorial GlassFish V3] JEE6 server.  In order to use this functionality the 2.0 version of the JPA specification jar - '''javax.persistence.jar''' must be added higher in the WebLogic server classpath see enhancement # [http://bugs.eclipse.org/296271 296271].
 
*EclipseLink 1.2 and 2.0+ fully implement the JPA 2.0 specification via enhancement # [http://bugs.eclipse.org/248291 248291] and are the RI for the [http://wiki.eclipse.org/EclipseLink/Examples/JPA/GlassFishV3_Web_Tutorial GlassFish V3] JEE6 server.  In order to use this functionality the 2.0 version of the JPA specification jar - '''javax.persistence.jar''' must be added higher in the WebLogic server classpath see enhancement # [http://bugs.eclipse.org/296271 296271].
**In <WEBLOGIC_HOME>\wlserver_10.3\common\bin\'''<font color="red">commEnv.cmd</font>'''
+
==Design==
***change
+
===Design Issue 1: JSR-317 JPA 2.0 EJB 3.1 Support===
****set WEBLOGIC_CLASSPATH=%JAVA_HOME%\lib\tools.jar...
+
====DI 1: Problem====
***To
+
*The modules currently shipped with WebLogic 10.3.2.0 (Patch Set 1) in are the following JPA 1.0 compatible versions - these must be overriden in order to run JPA 2.0 API.
****set WEBLOGIC_CLASSPATH=F:/view_w35d/jpa/plugins/'''javax.persistence_2.0.0.v200911041116.jar''';%JAVA_HOME%\lib\tools.jar...
+
**modules/org.eclipse.persistence_1.0.0.0_1-2-0.jar
****where F:/view_w35d == %SVN_TRUNK
+
**modules/javax.persistence_1.0.0.0_1-0-2.jar
**Note: do not use the '''javax.persistence_2.0_preview.jar''' - the dated '''javax.persistence_2.0.0.v200911041116.jar''' one is the final PFD version for the JPA 2.0 specification.
+
  
===Shared Library Support===
+
====DI 1: Alternative 1: Manual overwrite of eclipselink and javax.persistence libraries in modules====
 +
*Current solution - this should be deprecated.
 +
====DI 1: Alternative 2: Reference higher in the server classpath via commEnv.cmd====
 +
*Workable solution but it has issues
 +
**The server now runs a single version of the two libraries for all applications - this may not be compatible with older applications or other JPA providers running on the server.
 +
====DI 1: Solution====
 +
*In <WEBLOGIC_HOME>\wlserver_10.3\common\bin\'''<font color="red">commEnv.cmd</font>'''
 +
**change
 +
***set WEBLOGIC_CLASSPATH=%JAVA_HOME%\lib\tools.jar...
 +
**To
 +
***set WEBLOGIC_CLASSPATH=F:/view_w35d/jpa/plugins/'''javax.persistence_2.0.0.v200911041116.jar''';%JAVA_HOME%\lib\tools.jar...
 +
***where F:/view_w35d == %SVN_TRUNK
 +
*Note: do not use the '''javax.persistence_2.0_preview.jar''' - the dated '''javax.persistence_2.0.0.v200911041116.jar''' one is the final PFD version for the JPA 2.0 specification.
 +
====DI 1: Alternative 3: Application Level Shared Library====
 +
*20091202 - scope is not large enough - deprecated.
 +
===='''DI 1: Alternative 4: Global Level Shared Library'''====
 +
*20091202 - in progress
 
*We need to respond to the post about the [http://forums.oracle.com/forums/thread.jspa?threadID=948811 FilterClassLoader] with the procedure on creating a shared library for JPA 2.0 and EclipseLink 2.0 that is above the modules directory on WebLogic classpath.
 
*We need to respond to the post about the [http://forums.oracle.com/forums/thread.jspa?threadID=948811 FilterClassLoader] with the procedure on creating a shared library for JPA 2.0 and EclipseLink 2.0 that is above the modules directory on WebLogic classpath.
 
*see [http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html]
 
*see [http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html]
  
 
[[Image:Weblogic_shared_libraries_in_eclipse_preferences.jpg]]
 
[[Image:Weblogic_shared_libraries_in_eclipse_preferences.jpg]]
 +
 +
====DI 1: Alternative 5: Domain Extension Template====
 +
*20091202 - This one suggested by Doug - similar to what is done for other vendor libraries.

Revision as of 11:43, 2 December 2009

Running JPA 2.0 API on WebLogic 10.3

Analysis

  • EclipseLink 1.2 and 2.0+ fully implement the JPA 2.0 specification via enhancement # 248291 and are the RI for the GlassFish V3 JEE6 server. In order to use this functionality the 2.0 version of the JPA specification jar - javax.persistence.jar must be added higher in the WebLogic server classpath see enhancement # 296271.

Design

Design Issue 1: JSR-317 JPA 2.0 EJB 3.1 Support

DI 1: Problem

  • The modules currently shipped with WebLogic 10.3.2.0 (Patch Set 1) in are the following JPA 1.0 compatible versions - these must be overriden in order to run JPA 2.0 API.
    • modules/org.eclipse.persistence_1.0.0.0_1-2-0.jar
    • modules/javax.persistence_1.0.0.0_1-0-2.jar

DI 1: Alternative 1: Manual overwrite of eclipselink and javax.persistence libraries in modules

  • Current solution - this should be deprecated.

DI 1: Alternative 2: Reference higher in the server classpath via commEnv.cmd

  • Workable solution but it has issues
    • The server now runs a single version of the two libraries for all applications - this may not be compatible with older applications or other JPA providers running on the server.

DI 1: Solution

  • In <WEBLOGIC_HOME>\wlserver_10.3\common\bin\commEnv.cmd
    • change
      • set WEBLOGIC_CLASSPATH=%JAVA_HOME%\lib\tools.jar...
    • To
      • set WEBLOGIC_CLASSPATH=F:/view_w35d/jpa/plugins/javax.persistence_2.0.0.v200911041116.jar;%JAVA_HOME%\lib\tools.jar...
      • where F:/view_w35d == %SVN_TRUNK
  • Note: do not use the javax.persistence_2.0_preview.jar - the dated javax.persistence_2.0.0.v200911041116.jar one is the final PFD version for the JPA 2.0 specification.

DI 1: Alternative 3: Application Level Shared Library

  • 20091202 - scope is not large enough - deprecated.

DI 1: Alternative 4: Global Level Shared Library

Weblogic shared libraries in eclipse preferences.jpg

DI 1: Alternative 5: Domain Extension Template

  • 20091202 - This one suggested by Doug - similar to what is done for other vendor libraries.

Back to the top