TopLink 9.0.4 to 10.1.3.1 upgrade issue

I've encountered a problem when upgrading our application from TopLink 9.0.4 to 10.1.3.1. I have a persistent class AccountPosition that contains an aggregate object instance of the class FundQuantity. FundQuantity is basically a wrapper for a java.math.BigDecimal, and it's meant to be non-mutable (just like a String, a BigDecimal, an Integer, etc.). I have a special constant FundQuantity.ZERO that contains the value BigDecimal 0. The AccountPosition default constructor initializes its enclosed FundQuantity to FundQuantity.ZERO. Our application creates a new AccountPosition with a FundQuantity of - say - 100, and makes it persistent via UnitOfWork#registerNewObject(). After the UnitOfWork commits,
FundQuantity.ZERO contains the value 100 - i.e., the constant is corrupted.
Here's what seems to cause the problem. When the application calls UnitOfWork#registerNewObject(), TopLink creates a hidden AccountPosition object by calling AccountPosition's default constructor. This hidden object has the FundQuantity set to FundQuantity.ZERO. At commit time, TopLink tries to merge changes from the application's AccountPosition object into its hidden object. Rather than creating a new FundQuantity object (as it's the case when reading an AccountPosition from the DB), the merge operation overwrites the BigDecimal that's stored inside the FundQuantity. The stack traces shows a call to TopLink's AggregateMapping#mergeChangesIntoObject(). The source code for AggregateMapping - part to toplink-src.zip - has the following comment:
//Bug#4719341 Always obtain aggregate attribute value from the target object regardless of new or not
A few lines below, TopLink builds a new instances of the aggregate only if the target aggregate reference is set to null or its class doesn't match that of the source aggregate. If AggregateMapping#mergeChangesIntoObject() always built a new FundQuantity, our application would probably work fine. Since this problem does not occur in TopLink 9.0.4, I'm wondering if it's related to bug 4719341. Does anybody have any ideas?

Chris,
Thanks for your feedback.
>
The problem you are encountering is that aggregates
in TopLink are not considered immutable and are not
meant to be shared. They are treated as objects
completely dependent on the owning object, such that
they cannot be shared. If the FundQuantity classWhen I'm reading an AccountPosition from the DB, TopLink does create a new FundQuantity aggregate - even though the default AccountPosition already contains a FundQuantity set to FundQuantity.ZERO. In other words, when performing a read, TopLink treats the FundQuantity as a mutable. It's only when merging the aggreagate that, in TopLink 10.1.3, TopLink treats the aggregate as an non-mutable. Do you agree?
only persists the BigDecimal, you may wish to use a
transformation mapping to convert it to/from a
BigDecimal in the database instead.
That would work for FundQuantity. However, we have another aggregate class that contains both a BigDecimal and a String. For that class, we need to use an aggregate mapping.
Would it be possible to add a new option setIsMutable(boolean) to the aggregate class descriptor - not the AggregateDescriptor object, the Descriptor on which we call descriptor.descriptorIsAggregate(). Based on the option's value, TopLink could decide what to do - whether to create a new aggregate or to modify it. If the aggregate is mutable, TopLink could avoid creating a new instance both on read and on merge - unless it's null. If it's non-mutable, TopLink would always create a new instance.

Similar Messages

  • EJB 2.1 Timer bean using CMT (WAS 6.0) with Toplink 10.1.3

    I have a timer bean that is calling a toplink transaction. The timer bean uses CMT with a "RequiresNew" transaction attribute. The ejbTimeout() method of the bean calls a toplink transaction - this transaction includes code to do uow.commit().
    I am using the external transaction controller. Here is the relevant portion of the sessions.xml file:
    <login>
    <datasource>jdbc/XvsOMDataSource</datasource>
    <platform-class>oracle.toplink.oraclespecific.Oracle9Platform</platform-class>
    <uses-external-connection-pool>true</uses-external-connection-pool>
    <uses-external-transaction-controller>true</uses-external-transaction-controller>
    </login>
    <external-transaction-controller-class>com.ford.it.persistence.impl.toplink.JTSExternalTransactionControllerExtended_WAS6</external-transaction-controller-class>
    When the uow.commit is being executed, Toplink tries to get the UserTransaction but since the code has been invoked by a CMT EJB - access to the UserTransaction is not allowed and my transaction fails as follows:
    [7/19/06 7:46:30:539 EDT] 00000048 TransactionHe E com.ford.it.persistence.impl.toplink.TransactionHelper getUserTransaction Cannot obtain UserTransaction from JNDI. <javax.naming.NameNotFoundException: Name "comp/UserTransaction" not found in context "java:".>javax.naming.NameNotFoundException: Name "comp/UserTransaction" not found in context "java:".
    If I don't use the external transaction controller, the transaction again fails on uow.commit() - saying that Connection.commit() cannot be explicitly called, since it is part of a global transaction.
    All I want, is for Toplink to just fire the SQL during uow.commit() (without issuing a Connection.commit()) - the CMT timer bean will take care of the Connection.commit.
    Any thoughts on how to resolve this issue?
    Prabodh.

    The problem has been resolved. It was a usage-related issue. Thank you all.

  • TopLink Map issue

    Hi all
    i m very new to ADF ...
    while creating one toplink i selected emp as my table .it asks for toplinkmap in the wizard so i created new and it took some value by default.
    now when i rebuild this project it gives following error
    TopLink Map 'tlMap1' -> One of the packages is incomplete.
    Package dataprj -> One of the descriptors in this package is incomplete.
    Descriptor Emp -> No primary keys specified in APPS.EMP table.
    End TopLink Map 'tlMap1'
    pls help me out to fix this issue.

    hi user530923
    Maybe you should look for the "EMP" node in the "Offline Database Sources" node of your JDeveloper project (using the Applications Navigator in JDeveloper).
    If you right-click that "EMP" node, you can select "Properties...". The Edit Offline Table dialog should show. Select "Primary Key Information" on the left. Has a primary key been defined?
    You could also check "Decriptor Info" tab for your "Emp" descriptor. Select "Application Sources" > "TopLink" > "tlMap1" in your JDeveloper project, in the Structure pane double-click the "Emp" descriptor and check "Primary Keys" on the "Decriptor Info" tab.
    success
    Jan Vervecken

  • Toplink Version with Bug# 3617882 (SESSION NULL IN EXCEPTIONHANDLER)'s fix?

    We're using Toplink v9.0.4.2 and are experiencing the same issue detailed in Bug# 3617882 on Metalink. According to this bug's status, it has been fixed in v9.0.4.4 (around July 2004 timeframe). I downloaded Toplink v9.0.4.5 installer from Oracle web site (http://www.oracle.com/technology/software/products/ias/htdocs/904topsoft.html). But jars installed with that one are exactly the same as the ones we currently have in 9.0.4.2.
    Where can I find the right Toplink Version that has this bug's fix? Please reply.
    Thanks in advance,
    -Manjula

    Hello Manjula,
    I would try getting the latest 9.0.4 TopLink patchset, which is 9.0.4.8 available from Metalink under patch# 4499114 .
    When you ran the TopLink 10g installer, did you run with the jars it installed? If so, what was the version number it printed off in the logs? I have checked that the toplink.jar file installed is TopLink version 9.0.4.5, so I'm not sure what you mean when you say the jars are the same.
    Best Regards,
    Chris

  • Status of Integrated TopLink Mapping?

    OK, so I've had a few problems with the integrated TopLink mapping:
    Mapping Project Scalability?
    JDev 9.0.5.2 Error When Opening TopLink Mapping Project
    I filed a TAR for the second issue, and was told:
    "We are seeing some problems with the integrated Mapping Workbench. The problem is that the integrated is a new product, that is not as mature as the stand alone version. So in order to get you moving, I would suggest that you use the stand alone Mapping Workbench. Its more stable and is a more mature product."
    I'm actually having other problems with the standalone product that I didn't have in the integrated one, but that's another issue:
    inherited attributes
    Is this Oracle's official line on the TopLink integration? Use it till it doesn't work then redo everything in another product that uses different files and setup etc? Sorry for the tone of this post, but as you can see, I'm getting very frustrated. I had hoped that the performance and stability of the integrated TopLink would be fixed for the production release, but I'm finding it almost as troublesome as the preview...

    I've hit another one. As I said, I was redoing my mappings with the integrated mapping tools. I edited a couple of my classes to change some attributes from related object types to ValueHolderInterface. I closed the IDE so that the TopLink project would pick up the changes. When I try to open my mapping project I get this:
    java.lang.NullPointerException
            at oracle.toplink.workbench.ui.WorkbenchSession.getMWProjectNamed(WorkbenchSession.java:274)
            at oracle.toplink.addin.persistence.MWJDeveloperPersistence.open(MWJDeveloperPersistence.java:200)
            at oracle.toplink.tsceditor.persistence.PersistenceManager.open(PersistenceManager.java:942)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.openMWProject(MWJDeveloperMediator.java:167)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProjectImp(MWJDeveloperMediator.java:691)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProject(MWJDeveloperMediator.java:665)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1098)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1070)
            at oracle.toplink.addin.appnav.JProjectObserver.handleObjectOpened(JProjectObserver.java:115)
            at oracle.toplink.addin.appnav.JProjectObserver.update(JProjectObserver.java:65)
            at oracle.ide.IdeSubject.notifyObservers(IdeSubject.java:215)
            at oracle.ide.model.DefaultDocument.notifyObservers(DefaultDocument.java:273)
            at oracle.ide.addin.UpdateMessage.fireObjectOpened(UpdateMessage.java:543)
            at oracle.ide.model.DataNode.fireObjectOpened(DataNode.java:191)
            at oracle.ide.model.DataNode$1.run(DataNode.java:168)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)Local Exception Stack:
    Exception [TOPLINK-98] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The underlying descriptor callback method [postBuild], with parameter (DescriptorEvent), triggered an exception.
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.StackOverflowError
    Descriptor: XMLDescriptor(oracle.toplink.workbench.model.MWProject --> [DatabaseTable(project)])
            at oracle.toplink.exceptions.DescriptorException.targetInvocationWhileEventExecution(DescriptorException.java:1364)
            at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:133)
            at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:179)
            at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:331)
            at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:226)
            at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:344)
            at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:498)
            at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:111)
            at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1968)
            at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1096)
            at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1048)
            at oracle.toplink.publicinterface.Session.readObject(Session.java:2502)
            at oracle.toplink.workbench.ui.WorkbenchSession.getMWProjectNamed(WorkbenchSession.java:270)
            at oracle.toplink.addin.persistence.MWJDeveloperPersistence.open(MWJDeveloperPersistence.java:200)
            at oracle.toplink.tsceditor.persistence.PersistenceManager.open(PersistenceManager.java:942)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.openMWProject(MWJDeveloperMediator.java:167)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProjectImp(MWJDeveloperMediator.java:691)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.locateAndOpenProject(MWJDeveloperMediator.java:665)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1098)
            at oracle.toplink.addin.manager.MWJDeveloperMediator.getMWProjectAndOpenIfNecessary(MWJDeveloperMediator.java:1070)
            at oracle.toplink.addin.appnav.JProjectObserver.handleObjectOpened(JProjectObserver.java:115)
            at oracle.toplink.addin.appnav.JProjectObserver.update(JProjectObserver.java:65)
            at oracle.ide.IdeSubject.notifyObservers(IdeSubject.java:215)
            at oracle.ide.model.DefaultDocument.notifyObservers(DefaultDocument.java:273)
            at oracle.ide.addin.UpdateMessage.fireObjectOpened(UpdateMessage.java:543)
            at oracle.ide.model.DataNode.fireObjectOpened(DataNode.java:191)
            at oracle.ide.model.DataNode$1.run(DataNode.java:168)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
            at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Caused by: java.lang.reflect.InvocationTargetException
            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:324)
            at oracle.toplink.publicinterface.DescriptorEventManager.executeEvent(DescriptorEventManager.java:125)
            ... 32 more
    Caused by: java.lang.StackOverflowError

  • Toplink distributed transaction support?

    I have a database in SQL Server and one in DB2 on the AS/400 and need to update tables in both places and commit the entire transaction.
    Can Toplink handle a distributed transaction?

    Yes, provided your J2EE container provides the necessary JTA/JTS support. TopLink can be registered with the transaction controller and thus issue and commit its SQL as part of the JTA callbacks.
    http://download-east.oracle.com/docs/cd/A97688_12/toplink.903/b10064/enterpri.htm#1020862
    If you are mapping both schemas to an object model using TopLink you may also want to look at TopLink's session broker functionality.
    http://download-east.oracle.com/docs/cd/A97688_12/toplink.903/b10064/enterpri.htm#1020687
    Doug

  • 9.0.3.6 -- 9.0.4.5 password woes

    Can anyone help...
    Environment:
    WebSphere 5.0.2.7
    TopLink 9.0.4.5
    Oracle9i Enterprise Edition Release 9.2.0.4.0
    Oracle JDBC driver Version: 9.2.0.3.0
    Special note:
    We use Toplink 9.0.4.5 runtime, but Mapping Workbench 9.0.3
    - We use the exported Project class file from MW 9.0.3
    Problem...
    2 Identical machines (as far as we know), one QA and one Production
    The exact same EAR file runs fine on the QA box and FAILS on the production box with an invalid logon / password Oracle problem
    When we switch the toplink.jar back to 9.0.3.6 on production, it works fine
    The QA / Production databases have different id / passwords, which are manually read from a property file and setup in the DatabaseLogon class for the ServerSession
    The applyLogin() Project class method sets the password to "" (nothing), then our server intialization sets it to the property file value
    Some stack traces which may help are below. I can also
    make our toplink Project file and server initialisation code available:
    [12/3/04 14:13:25:842 PST] 131ae382 ConnectionPoo E CONM6009E: Unable to get connection to the database from datasource (Oracle Production WAS4).
    [12/3/04 14:13:25:905 PST] 131ae382 SystemOut O Toplink problem:
    Exception Description: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
    Internal Exception: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
    Error Code: 1017...
    [12/3/04 14:13:25:905 PST] 131ae382 SystemOut O Local Exception Stack:
    Exception [TOPLINK-4002] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
    Internal Exception: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
    Error Code: 1017
         at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:221)
         at oracle.toplink.jndi.was.DataSourceConnector.connect(DataSourceConnector.java:71)
         at oracle.toplink.sessions.DatabaseLogin.connect(DatabaseLogin.java:218)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1323)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.incrementCallCount(DatabaseAccessor.java:1198)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:633)
         at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:506)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:131)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:115)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.cursorSelectAllRows(CallQueryMechanism.java:70)
         at oracle.toplink.queryframework.ScrollableCursorPolicy.execute(ScrollableCursorPolicy.java:74)
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.RemoteException: ; nested exception is:
         Exception [TOPLINK-7107] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.ValidationException
    Exception Description: Error encountered during string decryption.
    Internal Exception: java.lang.NegativeArraySizeException
    java.rmi.RemoteException: ; nested exception is:
         Exception [TOPLINK-7107] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.ValidationException
    Exception Description: Error encountered during string decryption.
    Internal Exception: java.lang.NegativeArraySizeException
    Local Exception Stack:
    Exception [TOPLINK-7107] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.ValidationException
    Exception Description: Error encountered during string decryption.
    Internal Exception: java.lang.NegativeArraySizeException
         at oracle.toplink.exceptions.ValidationException.errorDecryptingPassword(ValidationException.java:448)
         at oracle.toplink.internal.security.JCEEncryptor.decryptPassword(JCEEncryptor.java:89)
         at oracle.toplink.sessions.DatabaseLogin.prepareProperties(DatabaseLogin.java:1330)
         at oracle.toplink.sessions.DatabaseLogin.connect(DatabaseLogin.java:218)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.reconnect(DatabaseAccessor.java:1323)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.incrementCallCount(DatabaseAccessor.java:1198)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:633)
         at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:506)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:131)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:115)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeSelectCall(CallQueryMechanism.java:194)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.selectAllRows(CallQueryMechanism.java:565)
         at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:733)
         at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:708)
         at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:447)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:493)
         at oracle.toplink.queryframework.ReadQuery.execute(ReadQuery.java:125)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:1958)
         at oracle.toplink.threetier.ServerSession.internalExecuteQuery(ServerSession.java:629)
    [12/3/04 14:14:03:999 PST] 5ab4238e SystemOut O Toplink problem:
    Exception Description: Error encountered during string decryption.
    Internal Exception: java.lang.NegativeArraySizeException: ...
    [12/3/04 14:14:03:999 PST] 68d6a389 SystemOut O ClientSession(1058005948)--acquire unit of work: 1009296316
    [12/3/04 14:14:03:999 PST] 68d6a389 SystemOut O UnitOfWork(1009296316)--JTS register
    [12/3/04 14:14:03:999 PST] 5f01a38a SystemOut O ServerSession(2074747787)--client acquired
    [12/3/04 14:14:03:999 PST] 3e16638a SystemOut O Toplink problem:
    Exception Description: Error encountered during string decryption.
    Internal Exception: java.lang.NegativeArraySizeException...
    [12/3/04 14:14:03:999 PST] cd4a3bd SystemOut O Toplink problem:
    Exception Description: Error encountered during string decryption.
    Internal Exception: java.lang.NegativeArraySizeException...
    [12/3/04 14:14:04:015 PST] 5f1fa38a TraceNLS u No message text associated with key Connection.requested.with.same.user.id.but.different.password.than.existing.enlisted.connection...A.new.connection.will.be.created.and.enlisted. in bundle com.ibm.ejs.resources.CONMMessages
    [12/3/04 14:14:04:015 PST] 68e9a389 TraceNLS u No message text associated with key Connection.requested.with.same.user.id.but.different.password.than.existing.enlisted.connection...A.new.connection.will.be.created.and.enlisted. in bundle com.ibm.ejs.resources.CONMMessages
    [12/3/04 14:14:04:015 PST] 7ae5a38b TraceNLS u No message text associated with key Connection.requested.with.same.user.id.but.different.password.than.existing.enlisted.connection...A.new.connection.will.be.created.and.enlisted. in bundle com.ibm.ejs.resources.CONMMessages
    [12/3/04 14:14:04:015 PST] 2116380 SystemOut O ServerSession(2074747787)--client acquired
    [12/3/04 14:14:04:015 PST] 1b8123b5 HttpTransport A SRVE0172I: Stopped transport http on port 9,090.
    [12/3/04 14:14:04:015 PST] 7afea38b TraceNLS u No message text associated with key Connection.requested.with.same.user.id.but.different.password.than.existing.enlisted.connection...A.new.connection.will.be.created.and.enlisted. in bundle com.ibm.ejs.resources.CONMMessages
    [12/3/04 14:14:04:015 PST] 68fca389 SystemOut O ServerSession(2074747787)--client acquired
    [12/3/04 14:14:04:015 PST] 2146380 SystemOut O ClientSession(1027941308)--acquire unit of work: 984294332
    [12/3/04 14:14:04:015 PST] 2146380 SystemOut O UnitOfWork(984294332)--JTS register
    [12/3/04 14:14:04:030 PST] 68fca389 SystemOut O ClientSession(906322819)--acquire unit of work: 904160131
    [12/3/04 14:14:04:030 PST] 4677238f SystemOut O Toplink problem:
    Exception Description: Error encountered during string decryption.
    Internal Exception: java.lang.NegativeArraySizeException...
    [12/3/04 14:14:04:030 PST] 68d8a389 SystemOut O ServerSession(2074747787)--client acquired
    [12/3/04 14:14:04:030 PST] 68d8a389 SystemOut O ClientSession(962651011)--acquire unit of work: 960144259
    [12/3/04 14:14:04:030 PST] 68d8a389 SystemOut O UnitOfWork(960144259)--JTS register
    [12/3/04 14:14:04:030 PST] 21e6380 SystemOut O UnitOfWork(1504895887)--After JTS Completion

    Hi Roger,
    This problem is two fold.
    1) TopLink implemented its encryption using JCE 1.2.2. Websphere built their JCE provider for JCE 1.2.1. We’ve seen different exception thrown on the init of a Cipher with a 0 length byte array in JCE 1.2.1 vs. JCE 1.2.2.
    Specifically, JCE 1.2.1 throws an ArrayIndexOutOfBoundsException whereas JCE 1.2.2 throws an IOException. This problem has been fixed in TopLink 9.0.4.6
    2) There is a threading issue with JCE when using many threads. This problem has also been fixed in TopLink 9.0.4.6.
    We haven’t seen a NegativeArraySizeException however. It may be another case of a JCE 1.2.1 vs. JCE 1.2.2 problem. I assume though it is related to the threading issue. So in the meantime I would suggest overriding the decryptMethod in the JCEEncryptor to fix this problem. That is,
    JCE121Encryptor extends JCEEncryptor {
    public synchronized String decryptPassword(String encryptedPswd) {
    return super().decryptPassword(encryptedPswd);
    and set:
    login.setEncryptionClassName(“JCE121Encryptor”);
    Cheers,
    Guy

  • Can I get handle to Database Row before an entity is deleted

    Hi,
    We are using stored procedure to list, insert , update and delete entity objects.To use the stored procedure I override the default queries generated by Toplink and make use of the stored procedure query.The issue here is that my Stored Procedure requires more arguments (like name of the user doing the insert) than there are fields in the entity.I need to provide these argument values to the call.For this I do something like
    session.getDescriptor(MyClass.class).getEventManager().addListener(new DescriptorEventAdapter(){
         public void aboutToInsert(DescriptorEvent evt) {
         evt.getRow().put("USER",evt.getSession().getProperty("username"));
    I set the username in the unitOfWork out of which I can grab the value in the eventHandler and put it inside the row just before insert.I do the same for modify too.But I dont see a similar methods for "delete".Do we have a aboutToDelete() method where I can get a handle to the row.The preDelete() does not provide a handle to the row.How can I insert additional arg values to the delete query?
    Thanks,
    Harini

    Hello Harini,
    Wow, you are correct there is no aboutToDelete, I guess manipulating the row before deletetion is not that common for our TopLink clients as this is the first request I have heard for it. I will add this request to our enhancement database. You might want to follow it up with support if it is a priority for you.
    As a workaround you could use the preDelete event to change the stored procedure call with the user name argument (i.e. build the procedure call dynamically in preDelete and set it into the query. The query will have been cloned at this point so there should be no concurrency issues. Make sure when doing this that you do not set the deleteQuery in the descriptor query manager as this will override the original query if set.
    Example:
    descriptor.getEventManager().addListener(new DescriptorEventAdapter() {
    public void preDelete(DescriptorEvent event) {
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("Delete_proc");
    call.addNamedArgument("P_ID", "ID");
    call.addNamedArgumentValue("USER", "scott");
    call.addNamedArgumentValue("TIME", new java.util.Date());
    event.getQuery().setCall(call);
    });

  • Hierarchial query problem

    Hi,
    We are trying to convert some old sql code to using Hierarchical queries, but am finding that the connect by expression is causing some errors for us. I have tried to follow the managedEmployees example from the web site but am not getting the parameters set correctly and keep getting the error below. I have attached our old code as well as the new code using Toplink. Please let me know if you see any issues with this.
    Also, we have wrapped the Expression and ReadAllQuery classes with our own classes which is why we're not invoking those directly in the code below.
    Thanks for the help,
    Mark
    Old SQL
              DataExpression where = new DataExpression().get("organizationId").notNull();
              String extraSQL = new String("");
              extraSQL += " START WITH organization_id = " + orgId + " ";
              extraSQL += " CONNECT BY PRIOR organization_id = parent_id ";
              where.appendSQL(extraSQL);
    Hierarchical query using Toplink
              DataReadAllQuery raq = new DataReadAllQuery(Organization.class);
    //          Specify a START WITH expression
              DataExpression startExpr = new DataExpression().get("organizationId").equal(orgId);
    //          Specifies a CONNECT BY expression
              DataExpression connectBy = new DataExpression().get("organizationId").equal(new DataExpression().get("parentId"));
    //          Specifies an ORDER SIBLINGS BY vector
              Vector order = new Vector();
              raq.setHierarchicalQueryClause(startExpr, connectBy, order);
              return QueryEngine.readAll(raq);
    Error
    TopLink Warning]: 2005.08.04 06:28:19.765--ServerSession(16237341)--Exception [TOPLINK-6073] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041116)): oracle.toplink.exceptions.QueryException
    Exception Description: Malformed expression in query. Attempting to print an object reference into an SQL statement for query key [
    Relation operator =
    Query Key organizationId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}
    Query Key parentId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}].
    Query: ReadAllQuery(mil.usmc.mol.organization.Organization)
    Aug 4, 2005 6:28:19 PM mil.usmc.mol.persistence.QueryEngine executeQuery
    SEVERE: Error performing query. Nested exception is:
    Exception Description: Malformed expression in query. Attempting to print an object reference into an SQL statement for query key [
    Relation operator =
    Query Key organizationId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}
    Query Key parentId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}].
    Query: ReadAllQuery(mil.usmc.mol.organization.Organization)

    I've modified it to call the toplink classes directly, but still get the same error..
              ReadAllQuery raq = new ReadAllQuery(Organization.class);
              ExpressionBuilder expressionBuilder = raq.getExpressionBuilder();
              Expression startExpr = expressionBuilder.get("organizationId").equal(orgId);
              Expression connectBy = expressionBuilder.get("organizationId").equal(expressionBuilder.get("parentId"));
              Vector order = new Vector();
              raq.setHierarchicalQueryClause(startExpr, connectBy, order);
              SessionManager manager = SessionManager.getManager();
              Session session = manager.getSession("DEFAULT");
    UnitOfWork uow = session.acquireUnitOfWork();
              return (Collection) uow.executeQuery(raq);
    [TopLink Info]: 2005.08.05 11:09:32.090--ServerSession(16237341)--TopLink, version: Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041116)
    [TopLink Info]: 2005.08.05 11:09:34.200--ServerSession(16237341)--DEFAULT login successful
    [TopLink Warning]: 2005.08.05 11:09:34.262--UnitOfWork(20039836)--Exception [TOPLINK-6073] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041116)): oracle.toplink.exceptions.QueryException
    Exception Description: Malformed expression in query. Attempting to print an object reference into an SQL statement for query key [
    Relation operator =
    Query Key organizationId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}
    Query Key parentId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}].
    Query: ReadAllQuery(mil.usmc.mol.organization.Organization)
    Local Exception Stack:
    Exception [TOPLINK-6073] (Oracle TopLink - 10g Developer Preview 3 (10.1.3.0 ) (Build 041116)): oracle.toplink.exceptions.QueryException
    Exception Description: Malformed expression in query. Attempting to print an object reference into an SQL statement for query key [
    Relation operator =
    Query Key organizationId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}
    Query Key parentId
    Base mil.usmc.mol.organization.Organization{DatabaseTable(t0)=DatabaseTable(ORGANIZATIONS)}].
    Query: ReadAllQuery(mil.usmc.mol.organization.Organization)

  • WSAD 5.0 and Xerces

    Has anybody used Toplink with WSAD 5.0. org.apache.xerces.framework.XMLParser isn't supported in the version of xerces.jar. The xerces.jar that comes with Toplink screws up the app server. The early release of WSAD 5.0 and 4.0 are fine but we need to move to servlet 2.3 and don't want to lose Toplink!
    Thanks for any help.

    I found the same issue in an earlier topic (Maarten Coene (Feb 24, 2003 7:28 AM)). The work around seems fine but is there news on 9.0.4?
    Thanks

  • JPA Enumerated annotation and EnumType.STRING

    Hi,
    There have been a few posts about @Enumeration within JPA.
    It seems that if you need to persist values other than the ordinal value
    of the enumeration that there is no use in @Enumeration as a JPA
    annotation.
    Say I have a Enumeration called Fruit.
    public enum Fruit{
    APPLE,
    ORANGE;
    I have a fruit VARCHAR2(1) column on a table and the constraint is that the value is in ('A', 'O') corresponding to the fruits.
    Firstly I annotate a field with @Enumerated(EnumType.String)
    Naively I looked at the J2SE 1.5 spec and saw I couldn't override the name() method on the enumeration but rather you are told to override toString().
    But Toplink Essentials doesn't use toString() to get the string value of the enumeration it uses????
    Is this an area which is addressed in JPA 2.0 or have missed the solution that is available in JPA 1.0 / Toplink Essentials.
    Peter.

    Peter,
    I ran into the same issue mapping TopLink's original Employee demo. We have a M->Male, F->Female object-type mapping that looked like an obvious candidate for the use of an enum. Unfortunately as you have experienced JPA does not support this.
    In Oracle TopLink 11gR1 and EclipseLink we have added annotations to expose our conversion mappings. With these custom annotations I can define a converter on any entity as:
    @ObjectTypeConverter(name = "gender", dataType = String.class, objectType = Gender.class, conversionValues = {
              @ConversionValue(dataValue = "M", objectValue = "Male"),
              @ConversionValue(dataValue = "F", objectValue = "Female") })Then when ever I want to use it I can simply annotate the field as:
         @Basic
         @Convert("gender")
         private Gender gender = Gender.Male;I believe these conversion mappings are also available in TopLink Essentials but you would need to configure the mapping using code in a descriptor-customizer.
    Doug

  • Changes to lastmodified column in aboutToUpdate event doesn't work

    We use the following code in the aboutToUpdate event to set the lastmodified date on changed object:
    DatabaseRow row = event.getRow();
    lastModified = now();
    Descriptor descriptor = event.getSession().getDescriptor(this);
    DatabaseMapping mapping = descriptor.getMappingForAttributeName("lastModified");
    if (mapping != null) {
    String modField = ((DirectToFieldMapping) mapping).getFieldName();
    DatabaseTable table = descriptor.getDefaultTable();
    String qualifier = table.getQualifiedName();
    if (qualifier.length() > 0) {
    modField = qualifier + "." + modField;
    row.put(modField, lastModified);
    This code is in the aboutToUpdate event on the superclass in the hierarchy.
    However, on one of the machines, this code doesn't update the lastmodified for one of the types of objects. Lastmodified is updated on objects of other types on that machine. The same code works fine on objects of all types on other machines.
    I enabled the logSQL mechanism of TOPLink and found that update SQL was not modifying the lastModified field. However, when I look at the code through debugger, I do see the lastmodified in the DatabaseRow of the event.
    After having verified the versions of TOPLink and jdbc driver, I'm trying to debug the issue by previewing the sql that is generated by TOPLink. These are the 2 things I have tried so far and both of them return null SQL String:
    1.
    WriteObjectQuery dbQuery = new WriteObjectQuery();
    dbQuery.setObject(this);
    try {
    dbQuery.prepareCall(event.getSession(), row);
    String query = dbQuery.getSQLString();
    } catch (QueryException qe) {
    qe.printStackTrace();
    2.
    DatabaseQuery d = event.getQuery();
    d.prepareCall(event.getSession(), d.getTranslationRow());
    String query2 = d.getSQLString();

    Very strange. Is there anything special about the machine or the class that it does not work for? Did you verify the event is being raised for that class on that machine?
    The only thing that I can think of that would cause this is if the class were using custom SQL or a custom query for its update.
    The reason that you do not see the SQL when creating a WriteObjectQuery is that it does not generate it's SQL until after the prepare as it must first determine if an insert or update is required. It also will not work with an UpdateObjectQuery, because the update SQL is dynamic (depends on what was changed) so the SQL cannot be prepared in the query.
    I believe the following will return the SQL that TopLink would generate for an update, provided you use the row from the aboutToUpdateEvent.
    UpdateObjectQuery dbQuery = new UpdateObjectQuery();
    dbQuery.setObject(event.getObject());
    dbQuery.setModifyRow(event.getRow());
    dbQuery.prepareCall(event.getSession(), event.getQuery().getTransactionRow());
    String query = dbQuery.getSQLString();

  • MalformedURLException in JBOSS 5.1.0 GA

    I am trying to deploy my product in JBOSS 5.1.0 GA.
    Where i am using eclipselink, jpa 1.0, struts 2.1 and spring 1.2 (acegi security)
    (Recently i had upgrade from toplink-essentials to eclipselink 2.4)
    I had faced many issue while in deployment. I had resolved all.
    In my application my project statup page is user login page.
    After deployment, it is showing my app login page, after enter the username and password and when i am clicking on login button, it is showing below error.
    17:38:02,378 ERROR [[default]] Servlet.service() for servlet default threw exception
    java.net.MalformedURLException
         at java.net.URL.<init>(URL.java:601)
         at java.net.URL.<init>(URL.java:464)
         at java.net.URL.<init>(URL.java:413)
         at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
         at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
         at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceXML(PersistenceUnitProcessor.java:136)
         at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processPersistenceArchive(PersistenceUnitProcessor.java:84)
         at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.getPersistenceUnits(PersistenceUnitProcessor.java:74)
         at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initPersistenceUnits(JavaSECMPInitializer.java:223)
         at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:242)
         at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initializeFromMain(JavaSECMPInitializer.java:278)
         at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.getJavaSECMPInitializer(JavaSECMPInitializer.java:81)
         at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:119)
         at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
         at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
         at entity.jpa.EntityManagerHelper.<clinit>(EntityManagerHelper.java:21)
         at entity.generic.GenericDaoImpl.<init>(GenericDaoImpl.java:30)
         at env.authorization.approverslist.IptWorkflowApproverlistDAO.<init>(IptWorkflowApproverlistDAO.java:24)
         at env.authorization.workflowapprover.ApproveDocHelper.<init>(ApproveDocHelper.java:36)
         at env.jspreports.kpis.KpiAction.<init>(KpiAction.java:166)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at java.lang.Class.newInstance0(Class.java:355)
         at java.lang.Class.newInstance(Class.java:308)
         at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:119)
         at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:150)
         at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:139)
         at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:109)
         at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:288)
         at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:388)
         at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:187)
         at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
         at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
         at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
         at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478)
         at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
         at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.concurrent.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:95)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
         at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
         at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
         at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Thread.java:662)
    17:38:02,475 INFO [STDOUT] the value of url/Env/Env/css/header.css
    17:38:02,475 INFO [STDOUT] null
    17:38:02,486 INFO [STDOUT] the value of url/Env/Env/css/i-portman.css
    17:38:02,486 INFO [STDOUT] null
    17:38:02,488 INFO [STDOUT] the value of url/Env/Env/images/loginbutton.png
    17:38:02,488 INFO [STDOUT] null
    17:38:02,490 INFO [STDOUT] the value of url/Env/favicon.ico
    17:38:02,491 INFO [STDOUT] null
    17:38:07,432 INFO [STDOUT] Inside the UserDetailsADMIN
    17:38:07,435 ERROR [[default]] Servlet.service() for servlet default threw exception
    java.lang.NoClassDefFoundError: Could not initialize class entity.jpa.EntityManagerHelper
         at env.acegi.users.IptUsersDAO.findByProperty(IptUsersDAO.java:164)
         at env.acegi.users.IptUsersDAO.findByUserCode(IptUsersDAO.java:180)
         at env.acegi.security.AcegiAuthentication.loadUserByUsername(AcegiAuthentication.java:45)
         at org.acegisecurity.providers.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:99)
         at org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:122)
         at org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:200)
         at org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:47)
         at org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication(AuthenticationProcessingFilter.java:74)
         at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:252)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.concurrent.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:95)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
         at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
         at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
         at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Thread.java:662)I am using acegi-security for my user login.
    when i will click on login button, control will go to `applicationContext-acegi-security.xml` and there it will process all security related task, and finally it will login me.
    I dont know whether it is acegi problem, or EntityManagerHelper problem...
    Please help me to slove the problem.

    Looks like you have TopLink essentials on the classpath, and it is having problems parsing the persistence.xml. If you are using EclipseLink, you probably should remove TopLink Essentials from the classpath unless it is used elsewhere.
    Best Regards,
    Chris

  • Error 98 [legace35 PostBuild]

    Hi,
    I have a Toplink version 3.6.3 which I want to upgrade to Oracle9iAS 9.0.3. I have sucessfully run the package renamer tool.
    While opening the project, it prompts me to change to new format. If I say yes, I end with
    An Error has been encountered while opening this project.
    Toplink Error Code: 98
    Error Message: EXCEPTION DESCRIPTION: The underlying descriptor callback method [legacy35PostBuild], with parameter (Descriptor Event), triggered an exception. INTERNAL EXCEPTION: java.lang.reflect.InvocationTargetException: java.lang.NullPointerException DESCRIPTOR: XMLDescriptor(oracle.toplink.workbench.model.meta.BldrClassAttribute--> [DatabaseTable(ClassAttribute)])
    Please contact Toplink Support
    If I say no, the project does not open. Anyone having ideas on what could be wrong?
    Regards,
    Vikas

    This sounds like a problem with the migration code between project formats. The best course of action is to open a services request with support (metalink.oracle.com). They should be able to either fix the corrupted project or provide a patch that will allow you to migrate the project.
    Doug

  • Using OracleOCIConnectionPool

    This came from a potential customer:
    "[We] make use of the OracleOCIConnectionPool class which supports jdbc connection pooling and also proxy access to the Oracle Server.
    The proxy access is very important to our security model to ensure that the user is authorized to access this functionality."
    The customer is willing to extend classes to get TopLink to work with this OracleOCIConnectionPool.
    Any ideas what this means or how it could be done using TopLink?
    Thanks!
    Steve

    After much experimentation, we resolved this issue.
    1. As explained in JDBC 10.2 documentation, it's not necessary to
    explicitly return connections to pool so other users can access them.
    OracleOCIConnectionPool handles sharing transparently, behind the
    scenes.
    2. Our problem was caused by LONG columns. When SELECT statement
    included LONG data, connections were not put back.

Maybe you are looking for

  • Oracle Identity Managment 9.1 jboss statup issue

    I have installed oracle identity manager 9.1 using jboss. after complete installation, when I start my jboss, I am getting following message - 21:05:56,350 INFO [WEBSTARTUP] Scheduling Initiate Attestation Processestask, class is com.thortech.xl.sche

  • TS1347 how do i get my contacts back on my iphone

    how do i get my contacts back on my iphone

  • Export and Import tab in BusinessView Manager

    Post Author: palm CA Forum: Crystal Reports Hello All, I want to know the use of Export and Import tabs in BVM I tried to export a BV using the Export tab , it created an XML file and now , what can we do with that XML file Appreciate any replies on

  • How do I sync between a PC & a Mac?

    I used to go back & forth between my PC & my Mac w/ my iPod but now it won't let me. The PC says I need to format the ipod to the PC. I first formatted it to the PC then I got a macbook. I don't remember reformatting it to the mac but I must have. Ca

  • R3-XI:  Cache Contents Out-Of-Date in SXI_CACHE

    Hi When i execute the trx code SXI_CACHE in my R3 system i get an error message "Cache Contents Out-Of-Date". Any hints to solve this issues pls.... thkx P.S