Toplink Essentials final in Embedded OC4J - When?

Hi,
As far as i know (please correct me if I am wrong), the current release of JDeveloper (10.1.3.x) works with old Toplink Essentials version that covers an early draft of the JPA specs.
My question is: when will the final version of Toplink Essentials be available in the Embedded version of the OC4J server? What about the standalone OC4J version and the complete Oracle Application server itself?
Thanks in advance,
George

Complete EJB 3.0 implementation is planned for version 10.1.3.1
We are hoping to get a developer preview out on OTN of 10.1.3.1 soon.

Similar Messages

  • Replacing Oracle Toplink with TopLink Essentials

    Is it possible to force OC4J to use TopLink Essentials by default
    instead of Oracle TopLink?

    Hi
    Replace your toplink jars in your server with the new
    jars. it should pick up automatically
    Regards,
    RaghavendraHi,
    I am trying to use the latest version of Toplink Essentials with the embedded OC4J in JDeveloper 10.1.3.
    Can you please be more specific?
    Which JAR files must be replaced?
    Thanks in advance,
    George

  • How to verify OC4J uses Oracle Toplink 10.x and not Toplink Essentials

    Hi,
    We dont want to use the default JPA provider "Toplink *Essentials*" that comes with OC4J. Rather we want to use Oracle Toplink 10.x
    I downloaded [Oracle Toplink 10.x|http://www.oracle.com/technology/software/products/ias/htdocs/1013topsoft.html] and followed the installation instructions:- http://www.oracle.com/technology/products/ias/toplink/doc/10131/install/install.html#CHDBBIFB
    When i deploy my EJB 3.0 appliation and invoke a JPA Entity, i can see the server log:- NOTIFICATION TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))
    Do i have to do any other configuration/setting to ensure that i use Oracle Toplink and not Toplink Essentials in OC4J?
    Thanks in Advance,
    Prashant Tejura
    Edited by: user1186295 on May 26, 2009 10:33 AM

    rashant,
    Hi, there are currently the following providers to choose from - you may want to consult your rep for any details on moving from 10.1.3.4 to 10.1.3.5.
    1) TopLink or EclipseLink using EclipseLink JPA - the RI for JPA for WebLogic, OC4J and GlassFish
    - EclipseLink JPA is focus of all current JPA development as part of EclipseLink and TopLink
    2) Another open-source JPA implementation like OpenJPA or Hibernate
    Deprecated:
    3) TopLink using TopLink JPA - replaced by (1) TopLink using EclipseLink JPA
    4) TopLink using TopLink Essentials JPA - replaced by (1) TopLink using EclipseLink JPA
    Changes to server.xml as follows:
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/OC4J_Web_Tutorial#Modify_server.xml
    <shared-library name="oracle.persistence" version="1.0" library-compatible="true">
              <code-source path="../../../eclipselink/eclipselink.jar"/>
              <code-source path="../../../eclipselink/javax.persistence_*.jar"/>
              <import-shared-library name="oracle.jdbc"/>
         </shared-library>
    Changes to persistence.xml as follows: (container-managed JTA datasource)
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/OC4J_Web_Tutorial#Persistence.xml
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="example" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>jdbc/OracleDS</jta-data-source>
    <class>org.eclipse.persistence.example.jpa.server.business.Cell</class>
    <properties>
    <property name="eclipselink.target-server" value="OC4J"/>
    <property name="eclipselink.logging.level" value="FINEST"/>
    </properties>
    </persistence-unit>
    </persistence>
    You should see output similar to the following in your server log:
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/OC4J_Web_Tutorial#Console_Output
    [EL Finest]: 2009-02-26 14:04:34.464--ServerSession(8634980)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--Begin deploying Persistence Unit example; state Predeployed; factoryCount 1
    [EL Info]: 2009-02-26 14:04:34.542--ServerSession(8634980)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--EclipseLink, version: Eclipse Persistence Services - ***
    [EL Fine]: 2009-02-26 14:04:35.213--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--Detected Vendor platform: org.eclipse.persistence.platform.database.oracle.Oracle10Platform
    [EL Config]: 2009-02-26 14:04:35.26--ServerSession(8634980)--Connection(5230779)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--Connected: jdbc:oracle:thin:@//1y.yyy.yy.yy:1521/ORCL
         User: SCOTT
         Database: Oracle Version: Oracle Database 11g Release 11.1.0.0.0 - Production
         Driver: Oracle JDBC driver Version: 10.1.0.5.0
    [EL Finest]: 2009-02-26 14:04:35.385--UnitOfWork(5746770)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--PERSIST operation called on: org.eclipse.persistence.example.jpa.server.business.Cell@9107088( id: null state: null left: null right: null parent: null references: null).
    [EL Fine]: 2009-02-26 14:04:35.807--ClientSession(5748500)--Connection(6653899)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--INSERT INTO EL_CELL (ID, STATE, TSEQ, RIGHT_ID) VALUES (?, ?, ?, ?)
         bind => [551, null, null, null]
    thank you
    /michael
    www.eclipselink.org

  • Strange classloader experience with toplink-essentials on Oc4j-10.1.3.3.0

    Hi,
    I am teaching classes at the Eotvos University/Budapest on a topic where OC4J has been used for 2 years. Students use jdeveloper (regularly updated) to create webapps with EJB3.0+toplink backends. They test their projects first with the JDeveloper embedded OC4J, but after that they deploy it on a central server running standalone OC4J.
    Students make quite an intensive and versatile use of the OC4J server, a noteworthy stress-test you may find interesting! The server is a Ubuntu Linux with JDK_1.5.0_14.
    1. The first known issue is that after about 10 projects are deployed (small class projects 3-4 EJBs, 3-4 JSP-s each), oc4j regularl goes into a "runaway" mode, i.e. the CPU utilization of the JVM process goes up to 99-100%. Static web content is still available, but all applications stop responding. I can state pretty safely that the applications deployed are fairly harmless and it is not even necessary to run them to make this happen. I.e. after 10-15 apps are depoyed it is enough to start the admin-client.jar or the admin console to experience this problem. (The applications have no problem individually: last year after these issues occurred, we installed them individually for grading and nothing like this happened).
    Let me point out that SO FAR this happened with Oc4j-10.1.3.1 and Oc4j-10.1.3.2 only, and this was the main reason we swithed to Oc4j-10.1.3.3.0
    2. Another issue that exists both with the earlier versions and 10.1.3.3.0 is that applications need to include the toplink-essentials.jar explicitely if they use EJB3.0 entities. It appears to me that this should not be neessary as there are default definitions for that in config/server.xml (a shared-library definition for toplink-essentials), and in config/system-application.xml (a corresponding import-shared-library tag), but still their applications cannot be deployed because of the follwing error:
    Deploy error: Deploy error: Operation failed with error:
    Hiányzó osztály: oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
    FĂĽggĹ' osztály: com.evermind.server.ejb.persistence.PersistenceUnitManagerImpl
    BetöltĹ': oc4j:10.1.3
    Kódforrás: /opt/oc4j_101330/j2ee/home/lib/oc4j-internal.jar
    (On our machines, JDK displays some errors in Hungarian: HiányzĂł osztály=Missing class; FĂĽggĹ' osztály=Dependent class; BetöltĹ'=Loader; KĂłdforrás=Code source.)
    To fix this issue, we used a workaround, i.e. their orion-application.xml is regularly extended with something like:
    <library path="/opt/oc4j/toplink/jlib/toplink-essentials.jar"/>
    And this solved the problem. Can you explain this?
    3. Now, with 10.1.3.3.0 this did not help much either. Although the toplink-essentials.jar was found, another nasty exception happened in the server still during deployment:
    Caused by: java.lang.NoSuchMethodException: oracle.toplink.essentials.platform.server.oc4j.Oc4jPlatform.<init>(oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl)
    at java.lang.Class.getConstructor0(Class.java:2678)
    at java.lang.Class.getConstructor(Class.java:1629)
    at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.updateServerPlatform(EntityManagerSetupImpl.java:309)
    Apparently a class in toplink-essentials.jar (version 2, build 41, i.e. the one that comes with oc4j) cannot properly invoke a the constructor of another class IN THE SAME JAR.
    I checked everything, even unzipped and checked the class signatures, and also made sure that there is no other toplink-essentials.jar in the classpath. Still the error remained.
    FInally, I tried to add the above libary tag to $OC4J_HOME/config/apllication.xml instead of the applications local orion-application.xml, and - voila!!! - it WORKS now!
    Can you explain all this to me? From the documentation the location of the <library> tag in the descriptor files should not amke any difference, but still it seems to do.
    Regards: Arpad Bakay

    Seems to be a bug. That was the response from Oracle support (Metalink)
    Response:
    Your issue seems to be related to bug 5594702 - Abstract: EJB30 ENTITY BEAN WITH @ID AND @COLUMN ANNOTATION FAILS TO DEPLOY ON AIX.
    There is an issue with the IBM JDK/JRE 1.5's processing of annotations.
    Links:
    http://www.theserverside.com/discussions/thread.tss?thread_id=37764
    http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?forum=367&thread=112543&cat=10
    When processing annotations it returns boolean values as false.
    Work-around:
    Fully specify the @Column annotation's boolean values. If insertable and updatable are set to false (which will happen due to this bug) then TopLink sets the PK
    mapping to read-only and the exception seen is expected.
    Note: nullable attribute of the @Colmun is not used in the EJB3/JPA preview of 10.1.3.0 If the customer MUST override the default column name then they should use:
    @Column(name="column-name", insertable=true, updatable=true)
    If they do not wish to override the default column name then simply do not use an @Column annotation.
    It can be deleted or commented out in the JDev generated code.
    There are two reported annotation processing issues with the AIX JVM. One was fixed in SR1 and the other is fixed
    in SR3 (due out Oc 11 - today). Upgrading to these more recent JVM releases may also address this issue.
    RECOMMENDED SOLUTIONS:
    1. Upgrade the IBM AIX JVM to SR3.
    OR
    2. Fix all generated @Column annotations as described above

  • Problems with Toplink Essentials on OracleAS 10.1.3.1 / OC4J 10.1.3.2

    Hi, all.
    I successfully installed OracleAS 10.1.3.0 and applied patch 5906151 to update do OAS 10.1.3.1 and OC4J 10.1.3.2, running on both Windows and AIX.
    I deployed a j2ee app (ejb-jar and ear/war separatelly) on both. My application runs very well on Windows platform, but fails on AIX.
    In order to get my app running with EJB 3.0, JPA and Toplink, I had to copy toplink-essentials.jar to $ORACLE_HOME/j2ee/home/applib/ directory.
    On AIX I was getting the following error:
    exception occurred during method invocation: javax.ejb.EJBException:
       java.lang.RuntimeException: javax.ejb.EJBException: oracle.toplink.essentials.exceptions.ValidationException
              Exception Description: Error encountered when building the @NamedQuery [MyClass.findAll]
                 from entity class [class oracle.toplink.essentials.internal.ejb.cmp3.metadata.queries.MetadataNamedQuery].
             Internal Exception: java.lang.IllegalStateException: ClassLoader "myApp.root:0.0.1"
               (from  in /oracle/product/10.1.3.0/j2ee/OC4J_1/applications/myApp/):
      This loader has been closed and should not be in use.;
    But I found a known issue on Metalink [Note:427650.1] (bug 5928776) - https://metalink.oracle.com/metalink/plsql/f?p=130:14:11405609768040641618::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,427650.1,1,1,1,helvetica
    I replaced the toplink-essentials.jar and toplink-essentials-agent.jar as stated on the metalink for the version build 41, and tested. And later for the latest build 58.
    But I am getting another error message:
    Exception [TOPLINK-46] (Oracle TopLink Essentials - 2.0 (Build b58-rc1 (08/05/2007))): oracle.toplink.essentials.exceptions.DescriptorException
    Exception Description: There should be one non-read-only mapping defined for the primary key field [MY_TABLE.MY_FIELD].
    Descriptor: RelationalDescriptor(xyz.MyClass --> [DatabaseTable(MY_TABLE)])
    Runtime Exceptions:
    ; nested exception is: javax.persistence.PersistenceException: Exception [TOPLINK-0] (Oracle TopLink Essentials - 2.0 (Build b58-rc1 (08/05/2007))): oracle.toplink.essentials.exceptions.IntegrityException
    Descriptor Exceptions:
    ---------------------------------------------------------Does anyone have any idea about this issue?

    Seems to be a bug. That was the response from Oracle support (Metalink)
    Response:
    Your issue seems to be related to bug 5594702 - Abstract: EJB30 ENTITY BEAN WITH @ID AND @COLUMN ANNOTATION FAILS TO DEPLOY ON AIX.
    There is an issue with the IBM JDK/JRE 1.5's processing of annotations.
    Links:
    http://www.theserverside.com/discussions/thread.tss?thread_id=37764
    http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?forum=367&thread=112543&cat=10
    When processing annotations it returns boolean values as false.
    Work-around:
    Fully specify the @Column annotation's boolean values. If insertable and updatable are set to false (which will happen due to this bug) then TopLink sets the PK
    mapping to read-only and the exception seen is expected.
    Note: nullable attribute of the @Colmun is not used in the EJB3/JPA preview of 10.1.3.0 If the customer MUST override the default column name then they should use:
    @Column(name="column-name", insertable=true, updatable=true)
    If they do not wish to override the default column name then simply do not use an @Column annotation.
    It can be deleted or commented out in the JDev generated code.
    There are two reported annotation processing issues with the AIX JVM. One was fixed in SR1 and the other is fixed
    in SR3 (due out Oc 11 - today). Upgrading to these more recent JVM releases may also address this issue.
    RECOMMENDED SOLUTIONS:
    1. Upgrade the IBM AIX JVM to SR3.
    OR
    2. Fix all generated @Column annotations as described above

  • Crucial question about Toplink Essentials JPA in OC4J 10.1.3.3

    Hi all!
    I'm developing an EJB 3.0 service which will be deployed to an OracleAS 10.1.3.3 and even after I've read lots of docs and articles, I still got an unanswered question:
    I know JPA leaves concurrent data access to the application's responsibility (or the vendor implementation's), that Oracle explicitly recommends using @Version to enable JPA's standard optimistic locking and also that Toplink Essentials JPA is OC4J's default persistence provider for EJB 3.0 modules. Considering this last important fact, what will be the default locking mode assumed by Toplink Essentials if I don't use @Version?
    Looking at Toplink Essentials JPA extensions doc preview for OC4J 11g (http://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-extensions.html), I found that I can use @OptimisticLocking to define the locking policy when defining an entity and use a lock type that doesn't require me to define a @Version field. But that annotation doesn't exist in version 10.1.3.3. Is there another way to define locking policy and type (on global or per entity basis) in version 10.1.3.3?
    Any help will be really welcome!
    TIA,
    Eduardo.

    Quoting Mr. Doug Clarke:
    "Eduardo,
    The only way to ensure that concurrent writers to the database don't overwrite one another is to either lock optimistically or pessimistically (i.e.: SELECT ... FOR UPDATE). Both of these approaches are supported by Oracle TopLink as well as TopLink Essentials. If neither is used then no locking is applied and the last writer will succeed leaving the database in a potentially corrupted state. Also note that minimal writes are used so each thread only updates the columns it changes so the resulting state of the database could be a combination of the two concurrent writes. Users of JPA are strongly recommended to use optimistic locking to ensure concurrent writing scenarios do not produce unexpected result in their database.
    Our JPA implementation in 10.1.3.3 is TopLink Essentials which is the Open Source references implementation of JPA derived from Oracle TopLink developed in GlassFish. This edition of TopLink only has support for JPA's @Version annotation as you noted. This approach does require a dedicated column in the database table for comparison on write to detect changes made since this thread's version of the original data was read.
    In Oracle TopLink 11g we have implemented JPA 1.0 in our product. This means that full capabilities of TopLink are available through JPA along with some custom annotations to assist in configuring them. This includes the additional optimistic locking policies provided for schemas where adding version columns is not possible. These capabilities are not included in TopLink Essentials. Customers can access these capabilities in the 11gR1 technology previews as well as in the new Eclipse Persistence Services Project "EclipseLink" which is the full functionality of Oracle TopLink developed as an open source solution. Oracle TopLink 11g and its distribution of EclipseLink are not yet available in a supported release."

  • ADF/Toplink embedded OC4J

    G'Day,
    I have problems to deploy an ADF/Toplink application. I checked out the "EJB Based Application Development with Oracle ADF"-Demo which I found at the "Oracle JDeveloper Reviewer's Guide"-Page.
    Instead of "EJB 2.0 Entity Beans (OC4J Native persistence)" I used Toplink as persistence. When I run the dept.jsp I do get an OC4J Embedded Server Alert that tells me to use the standalone OC4J 10.0.3.
    Why ? I suggest it's just while Toplink is set up already in OC4J 10.0.3 ? If so, is there a way of how I'm able to use the embedded OC4J ?
    Cheers
    Norman

    JDeveloper 10g production release comes with OC4J 10g (9.0.4). This OC4J is used as embedded OC4J Server. TopLink is not integrated as CMP provider in the above release of OC4J (10g - 9.0.4). When you try to run a CMP which is mapped using TopLink persistence an alert is popped up.
    OC4J 10g (10.0.3) preview release (available on OTN) has TopLink integrated as CMP provider. You can deploy CMP with TopLink persistence from JDeveloper 10g to OC4J 10g (10.0.3) and test them out.
    raghu
    JDev Team

  • How to turn off the warning message when re-compiling jsp in embedded OC4J?

    Members,
    I would like to remove the annoying warning messages whenever we re-compile a jsp file using embedded OC4J.
    Steps:
    1. create an web project
    2. create a test jsp file (say, test.jsp)
    3. run the jsp file.
    4. on the jsp visual editor, modify the jsp file.
    5. go to the browser, reload the page. the following warning messages are displayed:
    06/03/03 08:09:13 Warning: directory C:\Projects\TestAgain\UserInterface\public_html\WEB-INF\classes doesn't exist on classpath
    06/03/03 08:09:14 C:\Projects\TestAgain\UserInterface\classes\.jsps\_test.java:31: warning #556: variable session assigned to but never used
    06/03/03 08:09:14 HttpSession session = pageContext.getSession();
    06/03/03 08:09:14 ^
    06/03/03 08:09:14 C:\Projects\TestAgain\UserInterface\classes\.jsps\_test.java:32: warning #559: variable __jsp_tag_starteval declared but never used
    06/03/03 08:09:14 int __jsp_tag_starteval;
    06/03/03 08:09:14 ^
    06/03/03 08:09:14 C:\Projects\TestAgain\UserInterface\classes\.jsps\_test.java:33: warning #556: variable application assigned to but never used
    06/03/03 08:09:14 ServletContext application = pageContext.getServletContext();
    06/03/03 08:09:14 ^
    06/03/03 08:09:14 C:\Projects\TestAgain\UserInterface\classes\.jsps\_test.java:35: warning #556: variable page assigned to but never used
    06/03/03 08:09:14 _test page = this;
    06/03/03 08:09:14 ^
    06/03/03 08:09:14 C:\Projects\TestAgain\UserInterface\classes\.jsps\_test.java:36: warning #556: variable config assigned to but never used
    06/03/03 08:09:14 ServletConfig config = pageContext.getServletConfig();
    06/03/03 08:09:14 ^
    06/03/03 08:09:14 C:\Projects\TestAgain\UserInterface\classes\.jsps\_test.java:37: warning #556: variable __ojsp_varRes assigned to but never used
    06/03/03 08:09:14 javax.servlet.jsp.el.VariableResolver __ojsp_varRes = (VariableResolver)new OracleVariableResolverImpl(pageContext);
    06/03/03 08:09:14
    I'm so much glad to see JDeveloper giving out all the details and warnings, but sometimes they spit out too much warning messages that simply annoys and distracts my programming.
    There seems to be no parameters for me to shut those up, maybe I should do it manually?
    thanks.

    Ronald,
    I've already tried setting up the j2ee-config.xml file, but
    it seems that the warning message does not come from the oc4j, but is generated when jsp file is being compiled, so no matter what you do with the j2ee-config.xml, it would not work to remove the warnings.
    I was thinking maybe I could setup the java compiler option found in server.xml, by adding -nowarn option in javac options attribute, but it seems that the file server.xml gets overwritten automatically whenever the oc4j restarts (so, no avail).
    So... any other ideas?

  • Setting a deployment context when using the embedded OC4J

    I'm trying to debug a servlet using the embedded OC4J server. I have a simple project that includes a servlet source file and and a web.xml file. The web.xml file defines context
    parameters that I want the servlet to read and use when it is deployed. However I don't know
    how to get JDeveloper to set up the servlet context on the debugging environment to use the
    contents of the web.xml file. Could anyone tell me how to do this? I cannot see how to
    do this from the help files.
    Many thanks in advance

    The trick is to ensure that you use a 'Project with Web Module' rather than
    'Empty Project' and then add a new 'HTTP Servlet'. When you do this
    JDeveloper automatically creates a web.xml file. You can add context
    parameters, or practically any other configuration items by right clicking
    on the web.xml tree node inthe system navigator and selecting settings.
    The web.xml file is saved into the directory specified by the 'HTML Root Directory' on the 'Input Paths' panel in the project settings dialog.

  • How to use (toplink essentials)JPA with EJB 2.1 spec in oc4j 10.1.3.2

    I have an application that uses EJB 2.1 spec with SLSB (no entity beans) and uses DAO pattern with hibernate2 for persistence. I want to replace hibernate with toplink-essentials (JPA). I cannot upgrade the EJB spec version as we use some thirdparty beans. The application uses DAO pattern so I should be able to hook in a new toplink DAO impl. What I am struggling with is how do I get hold of the EntityManagerFactory in my EJB 2.1 SLSB. Also I need CMT with XA transactions as our application interacts with jms and database using MDBs and SLSBs.
    Prantor

    You should be able to use Persistence.createEntityManagerFactory(<your-persistence-unit-name>, properties), and create your EntityManager from that.
    To have TopLink integrated with JTA, in your persistence.xml (or properties) you need to use a JTA DataSource, and set the ServerPlatform for your JEE server.

  • Toplink Essentials + Composite Primary Key Mapping Error

    Exception [TOPLINK-7150] (Oracle TopLink Essentials - 2006.8 (Build 060829)): oracle.toplink.essentials.exceptions.ValidationException
    Exception Description: Invalid composite primary key specification. The names of the primary key fields or properties in the primary key class [ar.com.eds.mcd.fawkes.model.PreviousStepEJB3PK] and those of the entity bean class [class ar.com.eds.mcd.fawkes.model.PreviousCurrentStepEJB3] must correspond and their types must be the same. Also, ensure that you have specified id elements for the corresponding attributes in XML and/or an @Id on the corresponding fields or properties of the entity class.
    Is it a Toplink bug?
    I have the following code:
    public class PreviousStepEJB3PK implements Serializable {
    private static final long serialVersionUID = 3024775815042084864L;
    public Long id;
    public Long previousId;
    public PreviousStepEJB3PK() {
    public PreviousStepEJB3PK(Long id, Long previousId) {
    this.id = id;
    this.previousId = previousId;
    public boolean equals(Object other) {
    if (other instanceof PreviousStepEJB3PK) {
    final PreviousStepEJB3PK otherPreviousStepPK = (PreviousStepEJB3PK) other;
    final boolean areEqual = (otherPreviousStepPK.id.equals(id) && otherPreviousStepPK.previousId.equals(previousId));
    return areEqual;
    return false;
    public int hashCode() {
    return super.hashCode();
    @Entity
    @Table(name = "OS_CURRENTSTEP_PREV")
    @NamedQuery(name = "findById",
    query = "select object(o) from PreviousCurrentStepEJB3 o where o.id = ?1")
    @IdClass(PreviousStepEJB3PK.class)
    public class PreviousCurrentStepEJB3 implements Serializable {
    private static final long serialVersionUID = 1717698904412346878L;
    @Id
    @Column(name = "ID", nullable = false)
    private Long id;
    @Id
    @Column(name = "PREVIOUS_ID", nullable = false)
    private Long previousId;
    public PreviousCurrentStepEJB3() {
    I´m using eclipse to deploy my application over an OC4J. When I launch the deploy I have the following error:
    07/07/05 11:42:47 Caused by: Exception [TOPLINK-7150] (Oracle TopLink Essentials - 2006.8 (Build 060829)): oracle.toplink.essentials.exceptions.ValidationException
    Exception Description: Invalid composite primary key specification. The names of the primary key fields or properties in the primary key class [ar.com.eds.mcd.fawkes.model.PreviousStepEJB3PK] and those of the entity bean class [class ar.com.eds.mcd.fawkes.model.PreviousCurrentStepEJB3] must correspond and their types must be the same. Also, ensure that you have specified id elements for the corresponding attributes in XML and/or an @Id on the corresponding fields or properties of the entity class.
    07/07/05 11:42:47 at oracle.toplink.essentials.exceptions.ValidationException.invalidCompositePKSpecification(ValidationException.java:995)
    07/07/05 11:42:47 at oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataValidator.throwInvalidCompositePKSpecification(MetadataValidator.java:119)
    07/07/05 11:42:47 at oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.ClassAccessor.validatePrimaryKey(ClassAccessor.java:1463)
    07/07/05 11:42:47 at oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.ClassAccessor.process(ClassAccessor.java:463)
    07/07/05 11:42:47 at oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.processAnnotations(MetadataProcessor.java:196)
    07/07/05 11:42:47 at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.processORMetadata(EntityManagerSetupImpl.java:993)
    07/07/05 11:42:47 at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:501)
    07/07/05 11:42:47 at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createContainerEntityManagerFactory(EntityManagerFactoryProvider.java:152)

    I ran into a similar problem. I was able to work around it by putting the @Id annotations on the accessors for the primary key fields rather than on the fields themselves. This seems like a bug to me.

  • JDeveloper 10.1.3.3 and Embedded OC4J server

    This is the Embedded OC4J server on JDeveloper 10.1.3.3 I have pointed it to compile in Java SDK 1.4.2_14
    I have set up the projects datasources to use the JDBC driver ojdbc14.jar
    [Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    **** Unable to obtain password from principals.xml. Using default.
    C:\jdev\jdev\system\oracle.j2ee.10.1.3.36.73\embedded-oc4j\config>
    C:\j2sdk1.4.2_14\bin\javaw.exe -ojvm -classpath C:\jdev\j2ee\home\oc4j.jar;C:\jdev\jdev\lib\jdev-oc4j-embedded.jar -Xverify:none -DcheckForUpdates=adminClientOnly -Doracle.application.environment=development -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config C:\jdev\jdev\system\oracle.j2ee.10.1.3.36.73\embedded-oc4j\config\server.xml
    [waiting for the server to complete its initialization...]
    *WARNING: Code-source C:\jdev\jdbc\lib\ojdbc14.jar (from <library> in /C:/jdev/jdev/mywork/NJTransit/NJTransit-oc4j-app.xml) has the same filename but is not identical to /C:/jdev/jdbc/lib/ojdbc14dms.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev\j2ee\home\oc4j.jar). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.root:0.0.0.
    *Ready message received from Oc4jNotifier.
    Embedded OC4J startup time: 4421 ms.
    Target URL -- http://207.200.160.250:8988/NJTransit-NJTransit-context-root/index.jsp
    12/03/08 14:58:05 Oracle Containers for J2EE 10g (10.1.3.0.0) initialized
    My question is why is it having trouble distinguishing between ojdbc14.jar and ojdbc14dms.jar
    as a result I am getting unexpected behavior from the Application
    Declaration in my code
    int mypidm;
    String sql1 = "SELECT SPRIDEN_PIDM FROM SPRIDEN WHERE SPRIDEN_ID = UPPER(?)";
    try{
    PreparedStatement pstmt = conn.prepareStatement(sql1);
    pstmt.setString(1, studid);
    ResultSet rs;
    rs = pstmt.executeQuery();
    //mypidm = rs.getInt("SPRIDEN_PIDM");
    This part of the code drops through i.e. rs.next() always gets a false result
    while (rs.next()) //evaluates to false so mypidm is always zero.
    mypidm = rs.getInt("SPRIDEN_PIDM");
    I am thinking that these two things are related.
    Any Thoughts.

    The tables are not created by default. You can configure your persistence.xml to define how you want tables to be created. The persistence.xml properties are defined in the TopLink class, EntityManagerFactoryProvider (oracle.toplink.<essentials>.ejb.cmp3).
    Set the property, "toplink.ddl-generation" to "drop-and-create-tables" if you want them recreated every time your redeploy. Note this will delete all previous data in the tables, so make sure you do not leave this setting on when you go into production.

  • Remove related entity, oracle.toplink.essentials.indirection.IndirectList

    I have two entities autogenerated by the jdev 10.1.3.1 JPA wizard, Proveedor(codprov varchar2 PK) having n Lineas(codprov varchar2 PK, Codline varchar2 PK) related as:
    in entity Proveedor:
    private List<Linea> lineas;
    @OneToMany(mappedBy="proveedor")
    public List<Linea> getLineas() {
    return lineas;
    public Linea removeLinea(Linea linea) {
    System.out.println(" is at:" + getLineas().indexOf(linea));
    getLineas().remove(linea);
    linea.setProveedor(null);
    return linea;
    in Linea:
    @Id
    @ManyToOne
    @JoinColumn(name="CODPROV", referencedColumnName="CODPROV")
    public Proveedor getProveedor() {
    return proveedor;
    the delete method on the service bean is :
    public void delLinea( String codprov,String codline){
    EntityManager em = jpaResourceBean.getEntityManager();
    try{
    em.getTransaction().begin();
    Linea linea = em.find(Linea.class, new LineaPK(codprov, codline));
    em.remove(linea);
    em.getTransaction().commit();
    linea.getProveedor().removeLinea(linea);
    finally {
    em.close();
    when i try to remove the entity linea calling delLinea on the service bean
    the List (oracle.toplink.essentials.indirection.IndirectList) is NOT removing the entity linea, the system output show that is not there:
         06/08/30 16:59:23 is at:-1
    the relationship is not lost, as linea.getProveedor().removeLinea(linea); works so it's being held ok (at least from Linea to Proveedor)
    what i'm doing wrong, is IndirectList is mantaining copies of the related entities ??

    thank you, after reading your reply i tried this:
    public void delLinea( String codprov,String codline){
    EntityManager em = jpaResourceBean.getEntityManager();
    try{
    em.getTransaction().begin();
    Linea linea = em.find(Linea.class, new LineaPK(codprov, codline));
    linea.getProveedor().removeLinea(linea);
    em.remove(linea);
    em.getTransaction().commit();
    finally {
    em.close();
    As you advised, I'm reading the Proveedor in the transaction and clearing the relation before removing the entity Linea, but em.getTransaction().commit() throws:
    GRAVE: #{ProveedorBean.linea_Del}: javax.faces.el.EvaluationException: javax.persistence.RollbackException: java.lang.NullPointerException
    javax.faces.FacesException: #{ProveedorBean.linea_Del}: javax.faces.el.EvaluationException: javax.persistence.RollbackException: java.lang.NullPointerException
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)
         at oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:287)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:401)
         at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:105)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.faces.el.EvaluationException: javax.persistence.RollbackException: java.lang.NullPointerException
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
         ... 25 more
    Caused by: javax.persistence.RollbackException: java.lang.NullPointerException
         at oracle.toplink.essentials.internal.ejb.cmp3.transaction.base.EntityTransactionImpl.commit(EntityTransactionImpl.java:109)
         at oracle.toplink.essentials.internal.ejb.cmp3.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:45)
         at services.inventario.impl.InventarioServiceBean.delLinea(InventarioServiceBean.java:473)
         at ui.ProveedorBean.linea_Del(ProveedorBean.java:152)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
         ... 26 more
    Caused by: java.lang.NullPointerException
         at oracle.toplink.essentials.internal.identitymaps.CacheKey.computeHash(CacheKey.java:183)
         at oracle.toplink.essentials.internal.identitymaps.CacheKey.setKey(CacheKey.java:366)
         at oracle.toplink.essentials.internal.identitymaps.IdentityMap.getCacheKey(IdentityMap.java:277)
         at oracle.toplink.essentials.internal.identitymaps.IdentityMap.remove(IdentityMap.java:399)
         at oracle.toplink.essentials.internal.identitymaps.IdentityMapManager.removeFromIdentityMap(IdentityMapManager.java:1036)
         at oracle.toplink.essentials.internal.sessions.IdentityMapAccessor.removeFromIdentityMap(IdentityMapAccessor.java:801)
         at oracle.toplink.essentials.internal.sessions.IdentityMapAccessor.removeFromIdentityMap(IdentityMapAccessor.java:793)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.postMergeChanges(UnitOfWorkImpl.java:2834)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.mergeChangesIntoParent(UnitOfWorkImpl.java:2556)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:93)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:842)
         at oracle.toplink.essentials.internal.ejb.cmp3.transaction.base.EntityTransactionImpl.commit(EntityTransactionImpl.java:90)
         ... 34 more
    The following variation throws the same exception:
    public void delLinea( String codprov,String codline){
    EntityManager em = jpaResourceBean.getEntityManager();
    try{
    em.getTransaction().begin();
    Proveedor prov = em.find(Proveedor.class, codprov);
    Linea linea = em.find(Linea.class, new LineaPK(codprov, codline));
    prov.removeLinea(linea);
    em.remove(linea);
    em.getTransaction().commit();
    finally {
    em.close();
    the following variation:
    public void delLinea( String codprov,String codline){
    EntityManager em = jpaResourceBean.getEntityManager();
    try{
    em.getTransaction().begin();
    Proveedor prov = em.find(Proveedor.class, codprov);
    Linea linea = em.find(Linea.class, new LineaPK(codprov, codline));
    prov.removeLinea(linea);
    em.getTransaction().commit();
    em.getTransaction().begin();
    linea = em.find(Linea.class, new LineaPK(codprov, codline));
    em.remove(linea);
    em.getTransaction().commit();
    finally {
    em.close();
    after the second commit(); throws the same:
    Caused by: javax.persistence.RollbackException: java.lang.NullPointerException
         at oracle.toplink.essentials.internal.ejb.cmp3.transaction.base.EntityTransactionImpl.commit(EntityTransactionImpl.java:109)
         at oracle.toplink.essentials.internal.ejb.cmp3.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:45)
         at services.inventario.impl.InventarioServiceBean.delLinea(InventarioServiceBean.java:477)
         at ui.ProveedorBean.linea_Del(ProveedorBean.java:152)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
         ... 23 more
    Caused by: java.lang.NullPointerException
         at oracle.toplink.essentials.internal.identitymaps.CacheKey.computeHash(CacheKey.java:183)
         at oracle.toplink.essentials.internal.identitymaps.CacheKey.setKey(CacheKey.java:366)
         at oracle.toplink.essentials.internal.identitymaps.IdentityMap.getCacheKey(IdentityMap.java:277)
         at oracle.toplink.essentials.internal.identitymaps.IdentityMap.remove(IdentityMap.java:399)
         at oracle.toplink.essentials.internal.identitymaps.IdentityMapManager.removeFromIdentityMap(IdentityMapManager.java:1036)
         at oracle.toplink.essentials.internal.sessions.IdentityMapAccessor.removeFromIdentityMap(IdentityMapAccessor.java:801)
         at oracle.toplink.essentials.internal.sessions.IdentityMapAccessor.removeFromIdentityMap(IdentityMapAccessor.java:793)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.postMergeChanges(UnitOfWorkImpl.java:2834)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.mergeChangesIntoParent(UnitOfWorkImpl.java:2556)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:93)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:842)
         at oracle.toplink.essentials.internal.ejb.cmp3.transaction.base.EntityTransactionImpl.commit(EntityTransactionImpl.java:90)
         ... 31 more

  • JDev 10.1.3: Problem deploying a session bean to embedded OC4J

    JDeveloper 10.1.3, TopLink, OC4J, WinXP, java 1.4.2_05.
    I used TopLink to create a set of Java objects from a DB Schema, then created a simple Session Bean to read some of the objects. Everything compiles fine.
    JAVA_HOME points to the JDK (not JRE) and CLASSPATH is empty (undefined).
    When I try to Run my session bean in the jdeveloper embedded oc4j, I get this message. Thanks in advance for your help.
    Milind
    ===============
    [Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    C:\Tools\jdev_10_1_3\jdev\system\oracle.j2ee.10.1.3.3.51\oc4j-config>
    C:\Tools\jdev_10_1_3\jdk\bin\javaw.exe -ojvm -classpath C:\Tools\jdev_10_1_3\j2ee\home\oc4j.jar;C:\Tools\jdev_10_1_3\jdev\lib\jdev-oc4j-embedded.jar -Xverify:none -DcheckForUpdates=adminClientOnly -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doracle.dms.sensors=NONE -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config C:\Tools\jdev_10_1_3\jdev\system\oracle.j2ee.10.1.3.3.51\oc4j-config\server.xml
    [waiting for the server to complete its initialization...]
    05/03/22 14:43:50 Node started with id=127765687050882
    05/03/22 14:43:52 Auto-deploying - applications/admin_ejb.jar (orion-ejb-jar.xml had been updated since the previous deployment)...
    05/03/22 14:43:52 Error initializing server: Error initializing ejb-module; Exception null
    05/03/22 14:43:53 Fatal error: server exiting
    Process exited with exit code 1.

    Error initializing ejb-module;
    Is the EJB Jar structured as
    META-INF/
    ejb-jar.xml
    Bean Class
    Home interface Class
    Remote interface Class
    Does the EJBdeploy in some other server?

  • Toplink JPA Deployment problem  in OC4J

    Hi all ,
    we are having problem in deployment for an toplink JPA program in OC4J 10.1.3 .. We are using toplink essesntial and our deployed EAR structure is
    aaplication.xml
    rmwtoplink.war
    the content of application.xml is as
    <display-name>rmwtoplink</display-name>
    <module>
    <web>
    <web-uri>rmwtoplink.war</web-uri>
    <context-root>rmwapplist</context-root>
    </web>
    </module>
    the content of war file as below :
    web-inf\web.xml
    web-inf\classes\META-INF\persistence.xml
    web-inf\classes\<classes>
    web-inf\gnf\<jsp pages>
    when ever a pages are called those do not use entity manager / jpa call are loading perfectly , but the pages which have used jpa are nt diplayed , we check the error messages , it just halts after following codes :
    EntityManagerFactory emf =
    Persistence.createEntityManagerFactory(jpaSource);
    It seems there is no exception that is even thrown in page or opmn log .
    The same program is running fine in Jdveloper 10.1.3 /
    Is there any way where we can get the actual error message ?
    we are using toplink.jdbc.url for connecting the database .

    Here is little more insight for the problem , further check reveals that :
    start connecting rmwtest
    exception occured for connection test , Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
    The Connection descriptor used by the client was:
    //localhost:1521/ORCL
    we do not have any idea how is localhost:1521/ORCL picked up , in our persistence.xml we have
    where as rmwtest defined in persistence.xml as
    <persistence-unit name="rmwtest" transaction-type="RESOURCE_LOCAL">
    <provider>oracle.toplink.essentials.PersistenceProvider</provider>
    <class>rmw.gnf.entity.ServSesnUser</class>
    <class>rmw.gnf.entity.RmwData</class>
    <class>rmw.gnf.entity.GnfData</class>
    <properties>
    <property name="toplink.logging.level" value="FINEST"/>
    <property name="toplink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="toplink.jdbc.url" value="jdbc:oracle:thin:@middb.1dc.com:1621:ukdbins"/>
    <property name="toplink.jdbc.user" value="****"/>
    <property name="toplink.jdbc.password" value="********"/>
    </properties>
    </persistence-unit>

Maybe you are looking for

  • Satellite A100-049: CDs and DVDs don't read after standby

    I have a new satellite A100-049 that came with vista home premium pre-installed. After returning to the computer from sleep/standby (Whatever the mode is when the light pulses yellow) no discs can be read in the drive. The disc will spin continually

  • HOW TO GET A SALES COMMISSION (CASH BASIS) REPORT

    Hello Folks! How can I get a report of COMMISSION (CASH BASIS) using SAP B1? Thanks

  • ERROR maunwally creating OEM

    WARNING : While repository is dropped the database will be put in quiesce mode. Do you wish to continue? [yes(Y)/no(N)]: Y Oct 15, 2010 7:54:32 AM oracle.sysman.emcp.EMConfig perform INFO: This operation is being logged at c:\oracle\product\10.2.0\db

  • Mapping flat artwork to the perspective grid | Learn Illustrator CS5 | Adobe TV

    Discover ways to map flat artwork into perspective in Illustrator CS5. Transform artwork by allowing automatic plane positioning and perpendicular movement of objects. http://adobe.ly/zrabpL

  • The certificate does not want to come

    Friends, When in 2008 I passed 1z0-042 I've waited for the certificate for more than two months. Well, after this period of time it did not want to come either until I put another email to the ocp team. Now the same story with 1z0-043 which I passed