Toplink cacheing

Hello,
When using a Server session or DB session, does the cache apply to any user or just the specific session? Lets say user x wants some info for product 1 from a catalog but user y wants some info for product 1 (or 1 & 5). Does toplink make the call for prod 5 and then use the data from the cache for prod 1?
Thanks in advance.
Vamshi

Hello Vamshi,
TopLink has a cache per DatabaseSession (or ServerSession). Different users connected to the same session will share cached data. For example, in your scenario, this is what will happen.
User x reads Product1
TopLink looks for Product1 in the cache - not found
Product1 gets put into shared Session Cache and returned from the query
User Y reads Product1
TopLink looks for Product1 in the cache - found
It is found, so it is returned
User Y reads Product5
TopLink looks for Product5 in the cache - not found
Product5 gets put into shared Session Cache and returned from the query

Similar Messages

  • How to Add Index in Toplink Cache

    Hi
    We are using toplink as ORM.we are using default cache option (soft cache weak identity)provided by toplink, need to optimize the object retrival from cache, is there any option to create Index ( like database index) on the toplink cache.
    Message was edited by:
    [email protected]

    The TopLink cache is indexed by primary key only. It does not support additional indexes.
    Doug

  • Querying the toplink cache under high-load

    We've had some interesting experiences with "querying" the TopLink Cache lately.
    It was recently discovered that our "read a single object" method was incorrectly
    setting query.checkCacheThenDB() for all ReadObjectQueries. This was brought to light
    when we upgraded our production servers from 4 cores to 8. We immediatly started
    experiencing very long response times under load.
    We traced this down to the following stack: (TopLink version 10.1.3.1.0)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00002aab08fd26d8> (a oracle.toplink.internal.helper.ConcurrencyManager)
    at java.lang.Object.wait(Object.java:474)
    at oracle.toplink.internal.helper.ConcurrencyManager.acquireReadLock(ConcurrencyManager.java:179)
    - locked <0x00002aab08fd26d8> (a oracle.toplink.internal.helper.ConcurrencyManager)
    at oracle.toplink.internal.helper.ConcurrencyManager.checkReadLock(ConcurrencyManager.java:167)
    at oracle.toplink.internal.identitymaps.CacheKey.checkReadLock(CacheKey.java:122)
    at oracle.toplink.internal.identitymaps.IdentityMapKeyEnumeration.nextElement(IdentityMapKeyEnumeration.java:31)
    at oracle.toplink.internal.identitymaps.IdentityMapManager.getFromIdentityMap(IdentityMapManager.java:530)
    at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.checkCacheForObject(ExpressionQueryMechanism.java:412)
    at oracle.toplink.queryframework.ReadObjectQuery.checkEarlyReturnImpl(ReadObjectQuery.java:223)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.checkEarlyReturn(ObjectLevelReadQuery.java:504)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:564)
    at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:779)
    at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:388)
    We moved the query back to the default, query.checkByPrimaryKey() and this issue went away.
    The bottleneck seemed to stem from the read lock on the CacheKey from IdenityMapKeyEnumeration
    public Object nextElement() {
    if (this.nextKey == null) {
    throw new NoSuchElementException("IdentityMapKeyEnumeration nextElement");
    // CR#... Must check the read lock to avoid
    // returning half built objects.
    this.nextKey.checkReadLock();
    return this.nextKey;
    We had many threads that were having contention while searching the cache for a particular query.
    From the stack we know that the contention was limited to one class. We've since refactored that code
    not to use a query in that code path.
    Question:
    Armed with this better knowledge of how TopLink queries the cache, we do have a few objects that we
    frequently read by something other than the primary key. A natural key, but not the oid.
    We have some other caching mechanisms in place (JBoss TreeCache) to help eliminate queries to the DB
    for these objects. But the TreeCache also tries to acquire a read lock when accessing the cache.
    Presumably a read lock over the network to the cluster.
    Is there anything that can be done about the read lock on CacheKey when querying the cache in a high load
    situation?

    CheckCacheThenDatabase will check the entire cache for a match using a linear search. This can be efficient if the cache is very large. Typically it is more efficient to access the database if your cache is large and the field you are querying in the database is indexed in the table.
    The cache concurrency was greatly improved in TopLink 11g/EclipseLink, so you may wish to try it out.
    Supporting indexes in the TopLink/EclipseLink cache is something desirable (feel free to log the enhancement request on EclipseLink). You can simulate this to some degree using a named query and a query cache.
    -- James : http://www.eclipselink.org

  • Refresh toplink cache from tirgger

    How to update the toplink cache due to change in the database by some external process or procedure?
    This question was posted some time back and one of the suggestion was to create a trigger on the table holding the data and implement callout to the toplink cache to refresh. I will appreciate if any one can let me know where I can I find more information to implement such a callout method from trigger on the database table.
    We are accessing the toplink objects from OC4J container from where a singleton is managing the calls to the toplink objects. We already have methods in place to refresh the cached object based on timeouts but now the new requirements are to refresh the objects only if the data is changed in the database.
    Thanks
    Ahmad

    I have url error on this thread : How to refresh cache in TopLink, turn off cache
    [b]Discussion Forums Error
    We cannot process your request at this time. Please try again later.
    Thank's

  • Toplink Caching issue

    I have three Entities say C1 , P1 and card. Relation between these
    entities are like this
    P1 to Card ( one - one mapping )
    C1 to Card ( one - many mapping )
    I have three usecases. Usecase 1 uses the mail Entity C1. It will
    create one record using C1. ( keep in mind that there will not be any data for entity card at that time ).
    Second usecase , Usecase 2 , uses Entity P1 and creates data in P1 as
    well as Card.
    Third usecase will again take C1 and try to get the card data which
    were inserted through P1.
    But unfortunately , it is coming as null ... But if I restart the server and access the third usecase then I'm getting all the card data from C1 Entity which were saved through P1 Entity .
    To summarise my finding , issue is with Toplink caching. When i
    accessed the first usecase, C1 is cached. In the second usecase , I updated Entity card using P1. When i accessed the third usecase , toplink is returing the cached entity. Toplink is not able to identify whether related entity got changed or not....
    Workaround is not to use cache for C1 entity. It is working but it will
    not be the correct solution.
    any one faced this issue in Toplink ?
    Correct me if my findings are not correct...

    Hello,
    Its not that the cache isn't working, its that you are updating relationships in the database but not in the cache. Take the case of a 1:M from B->C used in a previous response. It looks like the foreign key used in this relationship (in the C table) is mapped to the C object either as a direct to field mapping, or through a 1:1 to the A object. When you change this so that it now somehow points to the B object, you haven't updated the B object to include the C in its collection. Because B has a 1:M mapping collection of Cs, when you next get that B object from the cache, its collection will not contain the newly referenced C (assuming indirection is not used or has been previously triggered). This is a result of you mapping the 1:M in the first place - since it is storing the collection in the object.
    If you are going to make changes that affect relationships and yet not update the relationships directly I would suggest either:
    A) refreshing affected objects from the database when done. In this case, refreshing the B object will result in TopLink requerying the B->C relation and picking up any changes (depending on your refresh options on the B descriptor though - please check the docs if you need more info).
    B) Not mapping these relationships. Instead, when you need to find C objects referenced from B, query for them.
    Both options are less efficient as they cause more hits to the database. This is why it would be preferred if you updated the relationships when you change fields that affect those relationships, but it is up to you to decide which will work best for your application.
    Please note that the cache is working, in fact the situation you are seeing is due to it working. I am not sure of how your situation would work with DAO as you mentioned in a previous post, but it sounds like it would always hit the database. This situation is a result of you making changes in the database but not changing the object model to reflect those changes, proving that the cache is indeed working. While you mention that some objects are not in your use case, they are in the database but just not mapped in TopLink. In the case of a 1:M mapping, the database shows a 1:1 back relationship that you have not mapped in your object model. So this would be more a case of your object model not matching your database model, and not being taken into account in your use cases.
    Best Regards,
    Chris

  • How do I sync Toplink Cache with my Database?

    Hey guys,
    We are running macro's through an excel sheet that connects to the database and performs Updates and Inserts.
    Since this database update is NOT taking place through TopLink (in a Unit of Work) - we do not see the database changes through the web app on the front end unless we bounce our webserver. Presumably the Toplink cache is re-built on start up...so then we can see the changes.
    My question is, what can I do to make sure the TopLink cache is aware of the database changes we have made through the macro without having to bounce the server? Is there a re-fresh or sync command that can be run?
    This task is sort of a one time thing, so I don't want a solution that involves the cache going to sync itself on a schedule or anything like that. Maybe bouncing is the best solution?
    Thoughts?
    We are using Toplink 9.0.4
    Thanks.

    Hello,
    Because it is a one time thing, if you can make sure no other TopLink process are going on, you can probably get away with initializeAllIdentityMaps() or the intitializeIdentityMap(Class) methods on the session. These will clear the identity maps, having the obvious draw back of removing all object identity which will cause problems with running processes though. It might be better than bouncing the server - it depends on the application. Logging out of the session and logging back in has the same effect of clearing the cache, but with a bit more overhead. Benifit is that running processes will get errors if they continue to use the session, rather than strange behaviior if they continue to use objects after identity is lost.
    Another alternative is to run refresh queries on the data you know might be in the cache or that might have been affected. Drawbacks are that this brings them into the cache if they are not already there.
    TopLink 9.0.4 is a quire a few versions back, and in newer versions there is cache invalidation. An object marked as invalid is not removed, so object identity is maintained, but on the next query the data will be refreshed - ensuring subsequent queries will get results from the database without having to be told explicietly to refresh or being set to always refresh. Invalidation can be triggered on particular objects, classes or the entire cache or different policies can be set to set a time to live etc.
    Except for bouncing the server or logging out of the session, all of the above leave some possibility that a concurrent user will still have a reference to stale data and continue to use it after the process has run on the database. So I hope you use optimistic locking and that your batch process updates the version to avoid other process from overwriting with stale data.
    Best Regards,
    Chris

  • Querying by PK against Toplink Cache

    Lets say I have table A that has PK id.
    If toplink generates SQL like this:
    "select id from A where 1=1 and id=3"
    Assuming the data is already cached against that PK, will Toplink retrieve the data from the Toplink cache with this SQL? or since i used 1=1, will it not find it in the cache and require a database retrieval?
    Thanks,
    Zev.

    Doug, thanks for the response. I expected it since we have seen a large increase in SQL. Let me explain the reason for this and maybe you can point us in a better direction.
    We generate a Map of CriteriaValue Objects. The in our base object, we iterate over the map and based on the criteria, we build the appropriate expression.
    Here is the code for the iteration.
              CriterionValue criterionValueObj;
              selectionExpression = builder.prefixSQL("1=1");
              while (keyIterator.hasNext()) {
                   String key = (String) keyIterator.next();
                   criterionValueObj = (CriterionValue) criteriaHash.get(key);
                   selectionExpression = getExpression(builder, selectionExpression, criterionValueObj, key, firstTimeThroughLoop);
                   firstTimeThroughLoop = false;
    As you can see, we add a prefix of 1=1. The reason for this is that if this is the first time through the look, we need to say:
    ExpressionBuilder builder; //just showing the declaration type
    selection = builder.get(key).containsSubstring(value.toString());
    if it is the second time through (with conjunction)
    ExpressionBuilder builder; //just showing the declaration type
    selection = selection.and (builder.get(key).containsSubstring(value.toString()));
    so we need two seperate code blocks in this case. A tremendous code minimization in our base class is to say 1=1 AND then it is as if we are always accessing it the second time.
    Do you have any suggestions for us? I do not want modify the caching options programitically.
    Thanks,
    Zev.

  • Database Change Notification and TopLink Cache Invalidation

    Has someone succeeed in implementing the How-to Database Change Notification and TopLink Cache Invalidation.
    I have corrected some document errata about the pl/sql content and I manage to have messages in the 'notify_queue'.
    I obtain the Topic in Java from this queue.
    But the TopicSuscriber instances do not receive any message. Is there something to have in mind to make it work ?
    Regards.

    Reviving this thread again...
    I am using DCN feature to build a middle-tier cache. I know oracle has problem sending physical rowid in case of 'Index Organized Table', however, in normal table also its not able to send proper rowid.
    e.g, I have 2 records in Table A with rowid AAARIUAAGAAAV/uABw and AAARIUAAGAAAV/pAAX.
    I have updated both the records. Strangely for the first record, oracle is sending INVALID rowid, although for the second record its sending the valid one.
    Following is the output:
    Row 1:  (Wrong rowid being sent, AAARIUAAGAAAV/uABw is replaced with AAARIUAAGAAAXDCAAr)
    Connection information  : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
    Registration ID         : 2102
    Notification version    : 1
    Event type              : OBJCHANGE
    Database name           : <sid>
    Table Change Description (length=1)
        operation=[UPDATE], tableName=<table_name>, objectNumber=70164
        Row Change Description (length=1):
          ROW:  operation=UPDATE, ROWID=AAARIUAAGAAAXDCAAr
    Row 2:  (Right rowid being sent, AAARIUAAGAAAV/pAAX)
    Connection information  : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
    Registration ID         : 2102
    Notification version    : 1
    Event type              : OBJCHANGE
    Database name           : <sid>
    Table Change Description (length=1)
        operation=[UPDATE], tableName=<table_name>, objectNumber=70164
        Row Change Description (length=1):
          ROW:  operation=UPDATE, ROWID=AAARIUAAGAAAV/pAAX
    Any idea ?

  • ValueHolder Indirection and TopLink Cache

    We have a parent object A (main table) and child object B (a lookup table), mapped thought ValueHolder Indirection.
    We use ReadAllQuery to build SQL and retrieve object A(s), and associated B(s).
    The query result is used to populate a web page table.
    The problem is that when the table is populated, the exact same lookup query against object B is repeated without checking cache. That data field is populated by object_A.object_b.description. For example, below same query would be repeated many times when loading up the web page table:
    Select description_id, description from Table_B where description_id = 1
    Why the query generated by this Indirection not checking cache? Anyway to force it to check TopLink cache first before querying against database?
    Thanks for any help!
    Jeffrey

    Thanks for the reply.
    We use JDeveloper 10.1.3.2. TopLink map in JDev is used to map all table objects and their relationships. So In TopLink map, object(table) A has a ValueHolder object(table) B through indirection. The primary key of B is: description_id, which is used in the table reference mapping.
    We use the default TopLink settings in JDev, so object B has below settings in TopLink map:
    Identity Map: FullIdentityMap
    Size: 50 (there are only about 20 records in this lookup table)
    Existence Checking: Check Cache
    We don't have any other caching mechanism other than TopLink's. EJB 3.0 is used as service bean, and External Transaction Controller (OC4J) is used.
    How to check if B is already in the TopLink cache? I heard ReadAllQuery always goes to database w/o checking TopLink cache, but in the case, the query generated by lazy loading indirection is after the ReadAllQuery execution (when the web page table is loading up).
    Jeffrey

  • Child Objects  and TopLink Cache

    All,
    I have a problem RE the TopLink cache:
    Object A has a Vector of Object Bs (1:M) and Object B has a Vector of Object Cs(1:M). I am using ValueHolderInterface and indirection pattern for each of these Vectors.
    When I update an Object C, it is not refreshed the next time I read Object A using the readObject(expression). I can see the changes in the database. Can someone tell me the best way to refresh the cache to get the updated Object Cs that belong to Object A.
    What I am doing is updating the C objects that belong to object A (thru Vector B) and then retrieving them again in the very next method call. Hope this makes sense!
    Thanks!
    J

    There is something wrong with your test case, I've seen this before -- if you update a C, then without fail the cached version of C is updated and if you have a handle to the cached A that has the B that has the C in question, then you will see the update. It sounds like perhaps you're not actually looking at the cached A, but instead looking at it from a UOW, etc.
    Send me an email, it's simply my firstname . lastname at Oracle.com. I'll send you a UOW primer that should help better understand these semantics...
    - Don

  • Cluster config. - toplink cache

    hi all!
    A simple question...
    I've built an application using ADF and toplink.
    Actually the application runs on a single IAS.
    now, for load reasons, i'll need to migrate to a cluster configuration.
    Is there any kind of problem with the toplink cache?
    Thanks.
    Luca

    hi all!
    A simple question...
    I've built an application using ADF and toplink.
    Actually the application runs on a single IAS.
    now, for load reasons, i'll need to migrate to a cluster configuration.
    Is there any kind of problem with the toplink cache?
    Thanks.
    Luca

  • Manually Refresh Toplink cache

    Gurus,
    Can we write some servlet which will alllow to manually refresh toplink cache, on click of button.
    Do we have to change any settings in session.xml or server.xml.
    Please point me in right direction.
    Thanks
    gbk

    There is no straight forward way of refreshing all the objects in the cache (short of looping through all the objects in the cache and manually refreshing them).
    The most common approach to this issue is to determine which queries need refreshing and refresh those.
    If this solution isn't what you were looking for, please provide more detail and I will be happy to help you further.
    Peter

  • Issues with TopLink Cache Coordination using JMS for manual DB updates

    Hi,
    We are having 2 web application using same Database and Toplink library but 2 session objects for both the applications. We are using JMS for cache coordination. JMS propagating messages successfully between the applications and able to see the same object changes in both the applications properly. Now, we are trying to refresh cache for manual updates in Database. We are trying to refresh single object which is modified in database in one application, refreshing in one application from which refresh happened but not in other application (JMS publishing the topic but updating one).
    Our intention is refreshing in one application so that JMS should coordinate and update in others when DB manual updates. Please let us know any comments for the same.
    Database using: Oracle 11g
    Toplink Version:- 9.0.3

    See,
    http://www.coderanch.com/t/592919/ORM/databases/Toplink-Cache-coordination-JMS-manual

  • Clearing Toplink cache

    We are encountering OptmisticLockException sometimes in our app, when this happens all the other transactions are affected, is there any way to clear the Toplink cache externally? thanks

    Thanks, but can you please tell me why Toplnik is issuing an update instead of insert for the object FXSingleLegC.FI120.0#16137966, I have given the list of registered objects and the sql generated, as you
    can see the primary key is 0 for the object and Toplink still issues an update statement
    2008-10-16 13:30:45,385 DEBUG Thread-199 [[email protected]] ISTransactionManager.endTransaction called
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Severe]:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.387--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    UnitOfWork identity hashcode: 16131849
    All Registered Clones:
    Key: [0]     Identity Hash Code: 16153182     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.CITI.0#16153182
    Key: [0]     Identity Hash Code: 15825629     Object: com.integral.finance.trade.TradeExternalSystemIdC.MAIN.0#15825629
    Key: [0]     Identity Hash Code: 16151868     Object: com.integral.finance.dealing.QuoteC.CITI.0#16151868
    Key: [0]     Identity Hash Code: 16136988     Object: com.integral.finance.dealing.RequestExternalSystemIdC.MAIN.0#16136988
    Key: [0]     Identity Hash Code: 16165592     Object: com.integral.finance.fx.FXLegC.MAIN.0#16165592
    Key: [0]     Identity Hash Code: 16152054     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.CITI.0#16152054
    Key: [0]     Identity Hash Code: 16136630     Object: com.integral.finance.dealing.RequestC.FI120.0#16136630
    Key: [0]     Identity Hash Code: 16152405     Object: com.integral.finance.dealing.fx.FXDealingPriceElementC.MAIN.0#16152405
    Key: [0]     Identity Hash Code: 16261779     Object: com.integral.workflow.WorkflowStateMapC.FI120.0#16261779
    Key: [0]     Identity Hash Code: 16153490     Object: com.integral.finance.dealing.fx.FXDealingPriceElementC.MAIN.0#16153490
    Key: [0]     Identity Hash Code: 16137966     Object: com.integral.finance.fx.FXSingleLegC.FI120.0#16137966
    Key: [0]     Identity Hash Code: 16137678     Object: com.integral.finance.fx.FXLegC.MAIN.0#16137678
    Key: [0]     Identity Hash Code: 16140011     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.MAIN.0#16140011
    Key: [0]     Identity Hash Code: 16262600     Object: com.integral.finance.trade.CptyTradeC.FI120.0#16262600
    Key: [0]     Identity Hash Code: 16263303     Object: com.integral.finance.trade.CptyTradeC.FXI.0#16263303
    Key: [0]     Identity Hash Code: 16137383     Object: com.integral.finance.dealing.fx.FXLegDealingPriceC.MAIN.0#16137383
    Key: [4434103]     Identity Hash Code: 16156067     Object: com.integral.finance.dealing.RequestC.FI120.4434103#16156067
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.387--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink: begin unit of work commit
    2008-10-16 13:30:45,387 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.391--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink: begin transaction
    2008-10-16 13:30:45,391 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: Begin batch statements
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: INSERT INTO IdcWorkflowState (id, modifiedDate, statusLastModified, status, wrkflowCode, wrkflowCodeArg, statelastmodified, createdDate, guid, version, displayKey, workflowparentid, cptyId, changeSetId, workflowErrorsId, namespaceId, lastactor, clsfId, lastStateId, workgroupId, firstactor, lastModifiedById, stateid, type) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:      bind => [5036105, 2008-10-16 13:30:45.378, null, A, null, null, 2008-10-16 13:30:45.379, 2008-10-16 13:30:45.378, G2cbe1d024c11d05d9e502972, 1, null, null, null, null, null, 167001, 402003, null, null, null, 402003, 402003, 78, IdcWFStateMapC]
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Finer]:
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.392--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink: End Batch Statements
    2008-10-16 13:30:45,392 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Fine]:
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.393--ClientSession(16131816)--Connection(38882854)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink: UPDATE IdcTrd SET modifiedDate = ?, statusLastModified = ?, origUsrId = ?, takerRefId = ?, origCptyId = ?, workflowStateMapId = ?, tkrCptyId = ?, mkrCptyId = ?, version = ?, lastModifiedById = ? WHERE ((id = ?) AND (version = ?))
         bind => [2008-10-16 13:30:45.392, 2008-10-16 13:30:45.378, 402003, test167, 392001, 5036105, 392001, 392012, 1, 402003, 0, 0]
    2008-10-16 13:30:45,393 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.sendMessage : status=200 responseStr=com.integral.is.message.ResponseMessageC|{}|{}|null|^1|{}|null|^
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.getReturnMessage : objType is com.integral.is.message.ResponseMessageC
    2008-10-16 13:30:45,395 WARN pool-2-thread-1 [-] HTTPMessageSenderC.getReturnMessage : objStr is {}|{}|null|^1|{}|null|^
    2008-10-16 13:30:45,431 INFO Thread-199 [[email protected]] Persistence - TOPLink: [TopLink Warning]:
    2008-10-16 13:30:45,431 INFO Thread-199 [[email protected]] Persistence - TOPLink: 2008.10.16 01:30:45.431--UnitOfWork(16131849)--Thread(Thread[Thread-199,5,ASF Session Pool Threads])--
    2008-10-16 13:30:45,453 WARN JMS SessionPool Worker-60 [[email protected]] MessageListenerC.handleTradeResponse: Got trade response for transaction id FXI7423644->com.integral.is.message.TradeVerifyC - Properties{START_TIME=1224163845446,PROCESSED_TIME=1224163845446,} Timing{AcceptanceReceivedByAdapter=1224163845387,VerificationReceivedFromProvider=1224163845446,AcceptanceSentToProvider=1224163845387,} serverId=null,tradeId=FXI7423644,requestReferenceId=null,buySell=0,baseCcy=null,variableCcy=null,statusDesc=null,providerTradeId=FXI742364410,valueDate=Sat Oct 18 00:00:00 GMT 2008,acceptedAmount=0.0,acceptedSettledAmount=0.0,acceptedPrice=0.0
    2008-10-16 13:30:45,453 INFO Thread-199 [[email protected]] Persistence - TOPLink: Local Exception Stack:
    2008-10-16 13:30:45,454 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,456 INFO Thread-199 [[email protected]] Persistence - TOPLink: Exception [TOPLINK-5006] (Oracle TopLink - 10g Release 3 (10.1.3.4.0) (Build 080602)): oracle.toplink.exceptions.OptimisticLockException
    Exception Description: The object [com.integral.finance.fx.FXSingleLegC.FI120.0#16137966] cannot be updated because it has changed or been deleted since it was last read.
    Class> com.integral.finance.fx.FXSingleLegC Primary Key> [0]
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.exceptions.OptimisticLockException.objectChangedSinceLastReadWhenUpdating(OptimisticLockException.java:125)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.descriptors.VersionLockingPolicy.validateUpdate(VersionLockingPolicy.java:677)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1081)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:98)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.insert(ObjectReferenceMapping.java:853)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.preInsert(ObjectReferenceMapping.java:469)
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,457 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.DescriptorQueryManager.preInsert(DescriptorQueryManager.java:892)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:380)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:65)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:75)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedWrite(DatabaseQueryMechanism.java:522)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.performUserDefinedInsert(DatabaseQueryMechanism.java:490)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:357)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeCommitWithChangeSet(WriteObjectQuery.java:110)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.insert(ObjectReferenceMapping.java:853)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.mappings.ObjectReferenceMapping.preInsert(ObjectReferenceMapping.java:469)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.DescriptorQueryManager.preInsert(DescriptorQueryManager.java:892)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.insertObjectForWrite(DatabaseQueryMechanism.java:380)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommit(InsertObjectQuery.java:65)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.InsertObjectQuery.executeCommitWithChangeSet(InsertObjectQuery.java:75)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:251)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:47)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:620)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:542)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:100)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.queryframework.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:72)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2631)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:993)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.executeQuery(Session.java:950)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:243)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:218)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:174)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3194)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1320)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1416)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:1164)
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:
    2008-10-16 13:30:45,458 INFO Thread-199 [[email protected]] Persistence - TOPLink:      at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:932)

  • Configuring Toplink Cache Coordination using JMS

    After having spent one whole day reading documentation on the above topic, I did not get anywhere. I am looking for a direction to start aquainting myself with Oracle JMS basics to enable me with the configuration in toplink. I hope someone could please help me in getting started, direct me to documentation and/or examples and then I could have some specific and meaningful questions to ask.
    As of now, I have these questions.
    1) In order to configure Toplink Cache Coordination using JMS, do I use Oracle AS JMS or OJMS provider?
    2) Should I be configuring OJMS before I could use Oracle AS JMS?
    3) If I am using Oracle 10.1.2 Application Server, will OJMS Database Schema be defined and the resource adapter deployed by default or is there a way I check this using Oracle Enterprise Manager Console.
    4) Should I be adding a JMS provider within the OC4J for the application I am using before I do any of the above?
    Any help will be highly appreciated.
    Thanks
    Swapna

    Ok. I found my answers
    1) In order to configure Toplink Cache Coordination using JMS, do I use Oracle AS JMS or OJMS provider?
    Either of the one can be used. Here is what I found regarding the trade off
    OJMS and OracleAS JMS are both J2EE 1.3 compliant JMS providers from Oracle. OJMS has been integrated into OracleAS 10g using the JCA adapter while at the same time leveraging Advanced Queuing in the Oracle Database for persistence and recoverability. If database recoverability guarantees, SQL queriability, transparent application failover, message transformation, propagation are required then Oracle recommends using OJMS as the JMS provider.
    OracleAS JMS is a lightweight, in-memory/file based queuing system that provides a complete J2EE 1.3 JMS implementation. It is suited for applications that do not require Oracle specific JMS extensions or the recoverability guarantees that OJMS provides.
    2) Should I be configuring OJMS before I could use Oracle AS JMS?
    No. OracleAS JMS is always provided and preconfigured, except for the topics and queues, with the OC4J installation.
    3) If I am using Oracle 10.1.2 Application Server, will OJMS Database Schema be defined and the resource adapter deployed by default or is there a way I check this using Oracle Enterprise Manager Console.
    No. The schema needs to be created by the admin and OJMS needs to be configured as the JMS Provider using this schema.
    4) Should I be adding a JMS provider within the OC4J for the application I am using before I do any of the above?
    Yes, if not using Oracle AS JMS.
    Hope that was accurate.

  • Querying TopLink Cache

    My system demands caching the result sets obtained from a ReadAllQuery. I might make several queries on this static set of cached data. But the data to be cached is small. I use TopLink's use session.getProject().FullIdentityMap() to cache the output of ReadAllQuery that i execute at the start of the system.
    But am not able to query the cache from an external API later ( which could be several minutes later). How can i manipulate the TopLink cache APIs to get this done. Kindly Reply.

    Hi Manoj,
    If I understand you correctly, you persist some objects and then later query them. You don't get the results you expect when you use checkCacheOnly(). You need to use checkCacheThenDatabase() and when you do this you're seeing SQL I expect.
    If your cache type for the class is FullIdentityMap then TopLink will never release objects of that class once read and your checkCacheOnly() query should work.
    I'm guessing that you're using a different TopLink session. You mention you have a number of services. What environment are you running in and what is your architecture (e.g., servlet or EJB)? Statics don't solve sharing problems especially in an application server or web application environment in which multiple classloaders are employed.
    --Shaun                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Maybe you are looking for

  • Disk Utility doesn't finish creating new disk image - naming issue??

    Recently I upgraded to Snow Leopard and carried along an empty disk image created in OS 10.4.11. I use these for archiving data on read-only DVDs and password protect the images. In the earlier OS, I found the practical limit for the dmg was 4.3 GB,

  • Multiple "publisher" names on one apple developer account?

    Hi, I would like to purchase whatever apple account you need to submit apps to the app store. However, some will be games that I will be working on with some other people, and some will be utilities developed by myself. I want to be able to submit th

  • Is there any way to put music from itunes onto your 5th generation ipod touch without running iTunes 11?

    Hi everyone...hoping someone can help me! I have an older Macbook (I think 2008?) and I have Snow Leopard 6.8 but now the iTunes store is saying I cannot download Mountain Lion because my computer doesn't support it. I recently got a new iPod (the ne

  • How do I rotate large numbers of pdfs

    Hi, I scanned a large number of pages from a notebook on a multifunction copier.  It saves them as individual pdfs per scan.  Due to the way the copier is set up and the physical layout of the notebook, the pages are rotated differently on every othe

  • Query time limit in OBIEE

    Hi experts, When any report/query run above 10 minutes it terminate automatically. But I need to run some reports/query in OBIEE more then 10 minutes.(This only for some reports.) Any sugg. Thanks.