Session and Cache

We have a stateless three-tier model. We found a client session is created for each query and the query is not cached. Is there a way to implement to use one client session for a few queries? Are the queries not cached because the cache is refreshed in each session?
Teresa

What I meant by "queries that TopLink generates from the descriptors" was what you said or even simpler, if you have no relationships for a class, the runtime generated sql to read an object by primary key.
Thanks for the pointer. I added the following line to our project:
login.setShouldBindAllParameters(true);
Now I'm getting the following error on a bound update statement that's trying to update a SQL Server 'money' type column with a null value.
I noticed that there were no problems in a previous bound insert statement, inserting a null value in a money column.
Any suggestions? I tried setting the update sql string of the descriptor to perform the type conversion, but had problems getting my parameters to bind. Is this method a possible solution?
DEBUG 25 Apr 2003 14:07:59,449 Ajp13Processor[8009][4] UnitOfWork(3417413)--Connection(7817427)--UPDATE YTDTaxAmounts SET YTDWageBasis = ?, YTDAmount = ?, Qtr2WageBasis = ?, Qtr2Amount = ? WHERE (((EmployeeID = ?) AND (ItemID = ?)) AND (Year = ?))
     bind => [0.0, 0.0, null, null, 69671, 7, 2003]
ERROR 25 Apr 2003 14:07:59,539 Ajp13Processor[8009][4] UnitOfWork(3417413)--null
EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exceptions.DatabaseException
EXCEPTION DESCRIPTION: java.sql.SQLException: [EOB2]Disallowed implicit conversion from data type nvarchar to data type money, table 'MainTest.dbo.YTDTaxAmounts', column 'Qtr2WageBasis'. Use the CONVERT function to run this query.
INTERNAL EXCEPTION: java.sql.SQLException: [EOB2]Disallowed implicit conversion from data type nvarchar to data type money, table 'MainTest.dbo.YTDTaxAmounts', column 'Qtr2WageBasis'. Use the CONVERT function to run this query.
ERROR CODE: 260
     at oracle.toplink.exceptions.DatabaseException.sqlException(Unknown Source)
     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(Unknown Source)
     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeNoSelect(Unknown Source)
     at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown Source)
     at oracle.toplink.publicinterface.UnitOfWork.executeCall(Unknown Source)
     at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown Source)
     at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown Source)
     at oracle.toplink.internal.queryframework.CallQueryMechanism.executeNoSelectCall(Unknown Source)
     at oracle.toplink.internal.queryframework.CallQueryMechanism.updateObject(Unknown Source)
     at oracle.toplink.internal.queryframework.StatementQueryMechanism.updateObject(Unknown Source)
     at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.updateObjectForWrite(Unknown Source)
     at oracle.toplink.queryframework.WriteObjectQuery.executeCommit(Unknown Source)
     at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.executeWrite(Unknown Source)
     at oracle.toplink.queryframework.WriteObjectQuery.execute(Unknown Source)
     at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
     at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
     at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(Unknown Source)
     at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
     at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
     at oracle.toplink.internal.sessions.CommitManager.commitAllObjects(Unknown Source)
     at oracle.toplink.publicinterface.Session.writeAllObjects(Unknown Source)
     at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(Unknown Source)
     at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(Unknown Source)
     at oracle.toplink.publicinterface.UnitOfWork.commitAndResume(Unknown Source)
     at com.paycycle.data.Transaction.commit(Transaction.java:133)
     at com.paycycle.data.Transaction.commitAndResume(Transaction.java:122)
     at com.paycycle.tx.PaycheckTx.deletePaycheck(PaycheckTx.java:726)
     at org.apache.jsp.deleteUnapproved_jsp._jspService(deleteUnapproved_jsp.java:151)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
     at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)
     at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)
     at java.lang.Thread.run(Thread.java:479)

Similar Messages

  • Toplink Sessions and Caching

    Hi
    I've got a external import on my DB, which updates the database without toplink. => cache is after update not uptodate.
    So I've tried to run after every update of the DB:
    getClientSession().getIdentityMapAccessor().initializeAllIdentityMaps();
    (running on a oracle.toplink.sessions.Session - Object)
    How can i refresh the cache for all Sessions, not only the actual ClientSession? Or is ther just one session (the actual ClientSession) for Toplink? The application is a webbased application with more then one user....
    getClientSession is implemented as follow:
    public Session getClientSession() {
    try {
         mySessionBroker = (SessionBroker) SessionManager.getManager().getSession(TOPLINK_SESSION_NAME, AbstractService.class.getClassLoader());
         Session clientSession = (Session) mySessionBroker.acquireClientSessionBroker();
    clientSession.setSessionLog( new Log4jSessionLog() );
         clientSession.setLogLevel(ClientSession.LOG_DEBUG);
    //clientSession.logMessages();
         return clientSession;
    catch (Exception e) {
    throw new RuntimeException(new ClicToplinkException(e));
    }

    I realize this is an old thread so I apologize for dragging it back up.
    I am trying to get a handle on the cache invalidation methods. We need to invalidate the cache based on sporadic manual updates and I would like to figure out the best methodology for doing this. I believe that the IdentityMapAccessor.invalidateAll() method is the one I need to use but can't get it to work. What follows is my test case. this.manager is an entity manager created in a setup method:
    this.manager.getTransaction().begin();
    this.user = new FormularyUser();
    this.user.setSecurityUserID(12345L);
    this.manager.persist(this.user);
    this.manager.getTransaction().commit();
    Session session = ((EntityManagerImpl)this.manager.getDelegate()).getServerSession();
    session.getIdentityMapAccessor().invalidateAll();
    // this should lookup from DB
    FormularyUser copy2 = this.manager.find(FormularyUser.class,this.user.getUserPK());
    assertTrue(copy2 != null);
    assertTrue(copy2 != this.user);
    It would be my assumption that the invalidated cache result would not be returned but as I traced through the code I noticed this comment:
    'Override the getFromIdentityMapWithDeferredLock method on the session to ensure that invalidated objects are always returned since this is a UnitOfWork'
    Does this mean because I'm still in the same unit of work that I will get invalid objects back? I would assume that because I had committed the transaction that I would be in a new UnitOfWork. Can someone point out where I'm making the wrong assumptions or what I'm doing wrong?
    Thanks,
    Drew

  • JES Calendar Server 6.0 session and ssl errors

    HI!
    I installed Calendar Server 6.0 on my server. When i start CS strange logs generated:
    [13/Jan/2004:23:54:17 +0100] balu cshttpd[6669]: General Notice: Sun[tm] ONE Calendar Server 6.0 (built Nov 14 2003) cshttpd
    starting up
    [13/Jan/2004:23:54:17 +0100] balu cshttpd[6669]: General Notice: cshttpd attempting to open Counters Database
    [13/Jan/2004:23:54:17 +0100] balu cshttpd[6669]: General Notice: cshttpd successfully opened the Counters Database
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: HTTP Module is refreshing
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: cshttpd is refreshing
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: cshttpd is refreshed
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: HTTP Module has refreshed
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: cshttpd: argc=8 argv[0]=/usr/JES/CS-6.0/SUNWics5/cal/lib/cs
    httpd
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: cshttpd_parse_commandline: successfully bind process 6669 t
    o processor 1
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Error: Inherit session ID cache failed for http service [-5949]
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: session_init: attempting to open session database for cshtt
    pd
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: session_init: session database open completed for cshttpd
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: LdapCacheInit: Ldap Cache not enabled.
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: cshttpd attempting to open Calendar Database
    [13/Jan/2004:23:54:18 +0100] balu cshttpd[6669]: General Notice: cshttpd successfully opened the Calendar Database
    [13/Jan/2004:23:54:19 +0100] balu cshttpd[6668]: General Notice: cshttpd is ready
    CS is working fine, but i don't understand the session ID problem.
    Then i try to use ssl with CS-6, but it don't work.
    SSL handshake work fine (=> certificates are correct), user can log in, but the session die. It is thick with garbage (random characters). I don't understand what happens, but here is snapshot: http://bug.sch.bme.hu/error.bmp
    And i see the following log on my terminal
    Assertion failure: source UTF-8 string is exhausted in XSLString.cpp.
    Then i set
    service.http.ssl.port.enable = "yes", becouse i want to use SSL only. I restart CS, but it bind to port 80 too. Why? How can i turn off HTTP?
    Best regards
    Robert

    I just copied the conf from SUN manual and then it worked fine - I just have a problem on timeouts (that I posted right now..) I'm pasting here my ssl conf - maybe it could help.
    (the http is still running to me also - so I moved it to a non stansard port)
    --Yedidia
    ! SSL conf copied by Yedidia from previous configuration
    ! 2004JAN04
    service.http.ssl.usessl = "yes"
    service.http.ssl.enableport = "yes"
    service.http.ssl.port = "443"
    service.http.ssl.certdb.path = "alias"
    service.http.ssl.certdb.password = "*******"
    service.http.ssl.securelogin = "yes"
    service.http.ssl.securesession = "yes"
    service.http.ssl.cert.nickname = "SSLServerCert"
    service.http.ssl.ssl3 = "yes"
    service.http.ssl.ssl3.ciphers = "rsa_rc4_40_md5,rsa_rc2_40_md5,rsa_des_sha,rsa_rc4_128_md5,rsa_3des_sha"
    service.http.ssl.sessiondir.path = "."
    service.http.ssl.cachesize = "10000"
    service.http.enablesslport = "yes"
    service.http.sslport = "443"
    service.sslpasswdfile = "config/sslPasswordFile"
    local.serverroot = "."
    encryption.nscertfile = "alias/cert7.db"
    encryption.nskeyfile = "alias/key3.db"
    encryption.nssecmodfile = "alias/secmod.db"
    encryption.nssslactivation = "on"
    encryption.nsssltoken = "internal"
    encryption.nssslpersonalityssl = "SSLServerCert"
    encryption.nsssl3 = "yes"
    encryption.nsssl3Ciphers = "rsa_rc4_40_md5,rsa_rc2_40_md5,rsa_des_sha,rsa_rc4_128_md5,rsa_3des_sha"
    encryption.rsa.nssslactivation = "on"
    encryption.rsa.nssslpersonalityssl = "SSLServerCert"
    encryption.rsa.nsssltoken = "internal"
    ics.nssslactivation = "on"
    ics.nsssltoken = "internal"
    ics.nssslpersonalityssl = "SSLServerCert"
    ics.nsssl3 = "yes"
    ics.nsssl3Ciphers = "rsa_rc4_40_md5,rsa_rc2_40_md5,rsa_des_sha,rsa_rc4_128_md5,rsa_3des_sha"
    ! cshttpd will only listen on the SSL Port if "yes" is specified.
    service.http.ssl.port.enable = "yes"

  • Safari 5.1.7 resumes last session and freezes immediately

    Hello,
    Upon the start of Safari, it resumes the last session and immediately freezes, showing the spinning rainbow and failing to load pages. None of the toolbar options can be accessed. I can only force quit. Restarting the computed accomplishes nothing.
    I am running Mac OS 10.7.4 with Safari 5.1.7
    Thanks.

    Open System Preferences > General
    Deselect:  Restore windows when quitting and re-opening apps
    Now restart your Mac, launch Safari.
    From the Safari menu bar top of your screen, click Safari > Empty Cache
    See if that made a difference...

  • V$session and gV$session

    Can anyone explain v$session and gv$session ;

    Prefix G in GV$ means GLOBAL. The best way to find out the the difference between v$session and gv$session is to look in v$fixed_view_definition.
    V$SESSION
    select SADDR,
           SID,
           SERIAL#,
           AUDSID,
      from GV$SESSION
    where inst_id = USERENV('Instance')GV$SESSION
    select s.inst_id,
           s.addr,
           s.indx,
           s.ksuseser,
           s.ksuudses,
           s.ksusepro,
           s.ksuudlui,
           s.ksuudlna,
           s.ksuudoct,
           s.ksusesow,
           decode(s.ksusetrn, hextoraw('00'), null, s.ksusetrn),
           decode(s.ksqpswat, hextoraw('00'), null, s.ksqpswat),
           decode(bitand(s.ksuseidl, 11),
                  1,
                  'ACTIVE',
                  0,
                  decode(bitand(s.ksuseflg, 4096), 0, 'INACTIVE', 'CACHED'),
                  2,
                  'SNIPED',
                  3,
                  'SNIPED',
                  'KILLED'),
           decode(s.ksspatyp, 1, 'DEDICATED', 2, 'SHARED', 3, 'PSEUDO', 'NONE'),
           s.ksuudsid,
           s.ksuudsna,
           s.ksuseunm,
           s.ksusepid,
           s.ksusemnm,
           s.ksusetid,
           s.ksusepnm,
           decode(bitand(s.ksuseflg, 19),
                  17,
                  'BACKGROUND',
                  1,
                  'USER',
                  2,
                  'RECURSIVE',
           s.ksusesql,
           s.ksusesqh,
           s.ksusesqi,
           decode(s.ksusesch, 65535, to_number(null), s.ksusesch),
           s.ksusepsq,
           s.ksusepha,
           s.ksusepsi,
           decode(s.ksusepch, 65535, to_number(null), s.ksusepch),
           decode(s.ksusepeo, 0, to_number(null), s.ksusepeo),
           decode(s.ksusepeo, 0, to_number(null), s.ksusepes),
           decode(s.ksusepco, 0, to_number(null), s.ksusepco),
           decode(s.ksusepco, 0, to_number(null), s.ksusepcs),
           s.ksuseapp,
           s.ksuseaph,
           s.ksuseact,
           s.ksuseach,
           s.ksusecli,
           s.ksusefix,
           s.ksuseobj,
           s.ksusefil,
           s.ksuseblk,
           s.ksuseslt,
           s.ksuseltm,
           s.ksusectm,
           decode(bitand(s.ksusepxopt, 12), 0, 'NO', 'YES'),
           decode(s.ksuseft,
                  2,
                  'SESSION',
                  4,
                  'SELECT',
                  8,
                  'TRANSACTIONAL',
                  'NONE'),
           decode(s.ksusefm, 1, 'BASIC', 2, 'PRECONNECT', 4, 'PREPARSE', 'NONE'),
           decode(s.ksusefs, 1, 'YES', 'NO'),
           s.ksusegrp,
           decode(bitand(s.ksusepxopt, 4),
                  4,
                  'ENABLED',
                  decode(bitand(s.ksusepxopt, 8), 8, 'FORCED', 'DISABLED')),
           decode(bitand(s.ksusepxopt, 2),
                  2,
                  'FORCED',
                  decode(bitand(s.ksusepxopt, 1), 1, 'DISABLED', 'ENABLED')),
           decode(bitand(s.ksusepxopt, 32),
                  32,
                  'FORCED',
                  decode(bitand(s.ksusepxopt, 16), 16, 'DISABLED', 'ENABLED')),
           s.ksusecqd,
           s.ksuseclid,
           decode(s.ksuseblocker,
                  4294967295,
                  'UNKNOWN',
                  4294967294,
                  'UNKNOWN',
                  4294967293,
                  'UNKNOWN',
                  4294967292,
                  'NO HOLDER',
                  4294967291,
                  'NOT IN WAIT',
                  'VALID'),
           decode(s.ksuseblocker,
                  4294967295,
                  to_number(null),
                  4294967294,
                  to_number(null),
                  4294967293,
                  to_number(null),
                  4294967292,
                  to_number(null),
                  4294967291,
                  to_number(null),
                  bitand(s.ksuseblocker, 2147418112) / 65536),
           decode(s.ksuseblocker,
                  4294967295,
                  to_number(null),
                  4294967294,
                  to_number(null),
                  4294967293,
                  to_number(null),
                  4294967292,
                  to_number(null),
                  4294967291,
                  to_number(null),
                  bitand(s.ksuseblocker, 65535)),
           s.ksuseseq,
           s.ksuseopc,
           e.kslednam,
           e.ksledp1,
           s.ksusep1,
           s.ksusep1r,
           e.ksledp2,
           s.ksusep2,
           s.ksusep2r,
           e.ksledp3,
           s.ksusep3,
           s.ksusep3r,
           e.ksledclassid,
           e.ksledclass#,
           e.ksledclass,
           decode(s.ksusetim,
                  0,
                  0,
                  -1,
                  -1,
                  -2,
                  -2,
                  decode(round(s.ksusetim / 10000),
                         0,
                         -1,
                         round(s.ksusetim / 10000))),
           s.ksusewtm,
           decode(s.ksusetim,
                  0,
                  'WAITING',
                  -2,
                  'WAITED UNKNOWN TIME',
                  -1,
                  'WAITED SHORT TIME',
                  decode(round(s.ksusetim / 10000),
                         0,
                         'WAITED SHORT TIME',
                         'WAITED KNOWN TIME')),
           s.ksusesvc,
           decode(bitand(s.ksuseflg2, 32), 32, 'ENABLED', 'DISABLED'),
           decode(bitand(s.ksuseflg2, 64), 64, 'TRUE', 'FALSE'),
           decode(bitand(s.ksuseflg2, 128), 128, 'TRUE', 'FALSE')
      from x$ksuse s, x$ksled e
    where bitand(s.ksspaflg, 1) != 0
       and bitand(s.ksuseflg, 1) != 0
       and s.ksuseopc = e.indxAlexander Anokhin
    http://alexanderanokhin.wordpress.com/

  • Toplink session and UnitOfWork synchronization problem

    Dear forum readers,
    I am not sure i fully understand the way how toplink deals with caching. To me it seems, that i got some pretty scary results, which i am not sure how to interpret and to work around them.
    The following code snippet is part of a unit test:
    >>>>>>>>>>>> snip >>>>>>>>>>>>>>>
    1 public void test2() {
    2
    3 UnitOfWork uow = (UnitOfWork) SessionManager.getSessionManager().getSession().getUnitOfWork();
    4 Justitiabele justitiabele = findJustitiabele("findById", Justitiabele.class, new Long(551));
    5 ((JustitiabeleIdentiteit) justitiabele.getJustitiabeleIdentiteiten().iterator().next()).setMeisjesnaam("Kettner10");
    6 Justitiabele tmp = (Justitiabele) uow.registerObject(justitiabele);
    7 ((JustitiabeleIdentiteit) tmp.getJustitiabeleIdentiteiten().iterator().next()).setMeisjesnaam("Kettner10");
    8 uow.commitAndResume();
    9 }
    10
    11 public Justitiabele findJustitiabele(String queryName, Class objectClass, Object param) {
    12      SessionWrapper toplinkSessionWrapper = getSession();
    13      toplinkSessionWrapper.getClientSession().executeQuery(queryName, objectClass, param);
    14 }
    >>>>>>>>>>>>>>>> snip <<<<<<<<<<<<<<<<
    I am querying a particular object (line 4). Then i make some changes to that object (line 5). Cause the object is not registered in the UnitOfWork these changes shouldn't be persisted. So far so good. To achieve persistency i now register the object, and i make the same modifications to the toplink clone, expecting them after the commit to be persisted in the database.
    Contrary to my expectations, the changes were not persisted!!!
    Deleting line 5 (the modifications, before registering the object), leads to the desired result.
    Somehow the queried object seems to be a direct reference to the (client-) session cache. So when registering the object in the UnitOfWork, the (already modified) backupclone is copied from the session cache to the UnitOfWork. If the same changes are done to the working clone,there are no differences between backup- and working clone and no changes are made in the database.
    It gets even better: I tried to query the object again (before line 6) (even with a different UnitOfWork) before modifying it, in order to retrieve the original state of the object, but again i only was able to find the modified object.
    If the queried object indeed is a reference to some cache, i cannot understand, why that cache is not read only!!!
    Am i doing something wrong ?
    Is there a way to work around this problem?
    What are the consequences for transaction handling ? What about Isolation, when clients can see each others changes in a kind of writeable shared session???
    I try to work around that problem by registering every object, that is queried from the database in the UnitOfWork right after it was queried. This seems to me the only solution, though this is contrary to what the toplink developers guide says, namely, that only objects which are modified should be registered, due to performance reasons.
    I would be grateful to any help in understanding and working around this problem.
    Martin
    PS: Here's the log i got by running the test.:
    STDOUT >>>>>>>>>>>>>>>>>>>>>>>>>>>>
    C:\devtools\jdev\905\jdk\bin\javaw.exe -ojvm -classpath C:\ToplinkDemo\ToplinkDomein\classes;C:\ToplinkDemo\ToplinkDomein\classes\META-INF\ToplinkDomein;C:\devtools\jdev\905\toplink\jlib\source.jar;C:\devtools\jdev\905\lib\xmlparserv2.jar;C:\devtools\jdev\905\lib\xmlcomp.jar;C:\devtools\jdev\905\jdbc\lib\classes12.jar;C:\devtools\jdev\905\jdbc\lib\nls_charset12.jar;C:\devtools\jdev\905\toplink\jlib\toplink.jar org.dji.br.bl.domein.TestMain
    ServerSession(91)--Connection(92)--TopLink, version: OracleAS TopLink - 10g (9.0.4) (Build 031126)
    ServerSession(91)--Connection(92)--connecting session: djisession
    ServerSession(91)--Connection(92)--connecting(DatabaseLogin(
         platform=>Oracle9Platform
         user name=> "dji"
         datasource URL=> "jdbc:oracle:thin:@S-ORACLE01:1521:djipoc"
    ServerSession(91)--Connection(92)--Connected: jdbc:oracle:thin:@S-ORACLE01:1521:djipoc
         User: DJI
         Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
         Driver: Oracle JDBC driver Version: 9.0.1.5.0
    ServerSession(91)--Connection(101)--TopLink, version: OracleAS TopLink - 10g (9.0.4) (Build 031126)
    ServerSession(91)--Connection(101)--connecting session: djisession
    ServerSession(91)--Connection(101)--connecting(DatabaseLogin(
         platform=>Oracle9Platform
         user name=> "dji"
         datasource URL=> "jdbc:oracle:thin:@S-ORACLE01:1521:djipoc"
    ServerSession(91)--Connection(101)--Connected: jdbc:oracle:thin:@S-ORACLE01:1521:djipoc
         User: DJI
         Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
         Driver: Oracle JDBC driver Version: 9.0.1.5.0
    ServerSession(91)--Connection(103)--TopLink, version: OracleAS TopLink - 10g (9.0.4) (Build 031126)
    ServerSession(91)--Connection(103)--connecting session: djisession
    ServerSession(91)--Connection(103)--connecting(DatabaseLogin(
         platform=>Oracle9Platform
         user name=> "dji"
         datasource URL=> "jdbc:oracle:thin:@S-ORACLE01:1521:djipoc"
    ServerSession(91)--Connection(103)--Connected: jdbc:oracle:thin:@S-ORACLE01:1521:djipoc
         User: DJI
         Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
         Driver: Oracle JDBC driver Version: 9.0.1.5.0
    ServerSession(91)--Connection(105)--TopLink, version: OracleAS TopLink - 10g (9.0.4) (Build 031126)
    ServerSession(91)--Connection(105)--connecting session: djisession
    ServerSession(91)--Connection(105)--connecting(DatabaseLogin(
         platform=>Oracle9Platform
         user name=> "dji"
         datasource URL=> "jdbc:oracle:thin:@S-ORACLE01:1521:djipoc"
    ServerSession(91)--Connection(105)--Connected: jdbc:oracle:thin:@S-ORACLE01:1521:djipoc
         User: DJI
         Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
         Driver: Oracle JDBC driver Version: 9.0.1.5.0
    ServerSession(91)--Connection(107)--TopLink, version: OracleAS TopLink - 10g (9.0.4) (Build 031126)
    ServerSession(91)--Connection(107)--connecting session: djisession
    ServerSession(91)--Connection(107)--connecting(DatabaseLogin(
         platform=>Oracle9Platform
         user name=> "dji"
         datasource URL=> "jdbc:oracle:thin:@S-ORACLE01:1521:djipoc"
    ServerSession(91)--Connection(107)--Connected: jdbc:oracle:thin:@S-ORACLE01:1521:djipoc
         User: DJI
         Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
         Driver: Oracle JDBC driver Version: 9.0.1.5.0
    ServerSession(91)--Connection(109)--TopLink, version: OracleAS TopLink - 10g (9.0.4) (Build 031126)
    ServerSession(91)--Connection(109)--connecting session: djisession
    ServerSession(91)--Connection(109)--connecting(DatabaseLogin(
         platform=>Oracle9Platform
         user name=> "dji"
         datasource URL=> "jdbc:oracle:thin:@S-ORACLE01:1521:djipoc"
    ServerSession(91)--Connection(109)--Connected: jdbc:oracle:thin:@S-ORACLE01:1521:djipoc
         User: DJI
         Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
         Driver: Oracle JDBC driver Version: 9.0.1.5.0
    ServerSession(91)--Connection(111)--TopLink, version: OracleAS TopLink - 10g (9.0.4) (Build 031126)
    ServerSession(91)--Connection(111)--connecting session: djisession
    ServerSession(91)--Connection(111)--connecting(DatabaseLogin(
         platform=>Oracle9Platform
         user name=> "dji"
         datasource URL=> "jdbc:oracle:thin:@S-ORACLE01:1521:djipoc"
    ServerSession(91)--Connection(111)--Connected: jdbc:oracle:thin:@S-ORACLE01:1521:djipoc
         User: DJI
         Database: Oracle Version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
         Driver: Oracle JDBC driver Version: 9.0.1.5.0
    ServerSession(91)--sequencing connected, state is ForcedToUseWriteAccessor_State
    ServerSession(91)--client acquired
    ClientSession(114)--acquire unit of work: 113
    ClientSession(114)--Execute query ReadObjectQuery(org.dji.br.bl.domein.justitiabele.Justitiabele)
    ServerSession(91)--Connection(101)--SELECT DJI_NUMMER FROM DJI.JUSTITIABELEN WHERE (DJI_NUMMER = 551)
    ServerSession(91)--Execute query ReadAllQuery(org.dji.br.bl.domein.justitiabele.JustitiabeleIdentiteit)
    ServerSession(91)--Connection(92)--SELECT INDICATIE_NONAMER, ACHTERNAAM, BRN_CODE, MEISJESNAAM, ID, ROEPNAAM, GEBOORTEPLAATS_BUITENLAND, TITEL_BUITENLAND, VOORNAAM, VOORLETTERS, JBE_DJI_NUMMER, DATUM_INGANG, DATUM_EINDE FROM DJI.JUSTITIABELEIDENTITEITEN WHERE (JBE_DJI_NUMMER = 551)
    ServerSession(91)--Execute query ReadObjectQuery(org.dji.br.bl.domein.justitiabele.Justitiabele)
    UnitOfWork(113)--Register the object org.dji.br.bl.domein.justitiabele.Justitiabele@82
    UnitOfWork(113)--Register the existing object org.dji.br.bl.domein.justitiabele.JustitiabeleIdentiteit@84
    UnitOfWork(113)--Register the existing object org.dji.br.bl.domein.justitiabele.Justitiabele@82
    UnitOfWork(113)--begin unit of work commit
    ClientSession(114)--Connection(103)--begin transaction
    UnitOfWork(113)--Execute query WriteObjectQuery(org.dji.br.bl.domein.justitiabele.Justitiabele@83)
    UnitOfWork(113)--Execute query WriteObjectQuery(org.dji.br.bl.domein.justitiabele.JustitiabeleIdentiteit@85)
    ClientSession(114)--Connection(103)--commit transaction
    UnitOfWork(113)--end unit of work commit
    UnitOfWork(113)--resume unit of work
    Process exited with exit code 0.

    Mark,
    The object returned from any query on the sessions is the object from the shared cache. Any changes made to this will change the shared cache.
    You must acquire a UnitOfWork and register the cached object into the UnitOfWork in order to get an isolated copy that can be modified within a transactional context (UnitOfWork) without other threads seeing these transient changes. The typical approach is to read through the session and register objects involved in a change prior to modifications.
    The is a UnitOfWork paper available on TopLink technical information page that may be useful to you:
    http://www.oracle.com/technology/products/ias/toplink/technical/index.html
    Doug

  • Unit of Work and cache times

    Hello!
    I've got a question concerning read queries on a Unit of Work.
    In my specific case I'm executing a ReadAllQuery on the Unit of Work getting about 7000 objects. The Performance Profiler is recording a cache time of about 900 milliseconds. If I execute this query on the Session the Profiler records a cache time of about 300 milliseconds.
    Now I'd like to know what is happening within the Unit of Work? Why does it takes longer to maintain the objects in the cache? I know that the Unit of Work spends more time overall because of the registering of the objects.
    Thanks

    The UnitOfWork is a transaction abstraction beyond the shared cache. When you read through a UnitOfWork you still perform the same operations on the shared cache and then pull the working copies into the UnitOfWork's transactional cache. This means that your 300 ms case is really just a sub-set of what is happening in your 900 ms case.
    The recommended approach is to read in the objects that you plan to use read-only through the session and then register those you may modify with a UnitOfWork. This allows you to control and optimize the transactional nature of TopLink. Reading everything through a UnitOfWork may be less complex but that complexity comes with a performance cost.
    You may want to read through our UnitOfWork primer. It explains this much better then I can here.
    http://www.oracle.com/technology/products/ias/toplink/technical/unitOfWorkWP.pdf
    Doug

  • EJB3.0 and caching

    there was a good idea to use the servicelocator pattern in ejb 2.1, mainly to solve the time for home interfaces creation through caching.
    i still can't find any design patterns targeting ejb 3.0, so i'd like to hear this forum's gurus opinion on the caching issue in ejb 3.0. it seems to me the new model doesn't include any caching mechanism and each @EJB injection makes the whole lookup process behind the scene. do you think it might be a good idea to cache and reuse the objects created by the means of @EJB injection? my first thinking was that this might be wrong, because we are talking about the remote and not home here. but then i realize that this terminology is gone with ejb 2.1. it's just a poji now, we can cache it as a reference of any other type...
    thanks for your ideas!

    EJB 3.0's Java Persistence API (JPA) is not supported directly from the workbench. You can however take your existing TopLink XML config files (sessions and Map/Project) and use them with JPA (no annotations).
    When working with annotations it becomes more relevant to be doing these operations within an IDE. To this end we have already delivered early support for JPA in JDeveloper. You can generate a persistent entity model from tables with full annotations and then generate a session bean facade exposing the persistence operations as needed.
    For those of you not using JDeveloper we are also leading a project to add this functionality to Eclipse within WTP. For more information on project dali go to www.eclipse.org/dali.
    Doug

  • When trying to clear the history (Browsing and download history, cookies, form and search history, and cache) firefox freezes and sometimes Ill get a warning for an unresponsive script.

    When trying to clear the history (Browsing and download history, cookies, form and search history, and cache) firefox freezes and sometimes Ill get a warning for an unresponsive script.
    Using MacOSX 10.6.8 on Macbook Pro
    Using Firefox 10.0.2

    Try to exclude the cookies from the clear history settings and let the cookies expire at the end of the session instead.

  • Disconnect session and kill session

    Hi
    what is the difference between
    disconnect session and kill session
    Edited by: Pascal Nouma on 21/10/2009 16:23

    Hi,
    You can use the supplied package [dbms_metadata|http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_metada.htm#i1015856] to get the DDL for database objects, including sequences.
    If you want to continue working on this query, then I think you need a CASE expression to do one thing for 0 vlaues, and another for values >0.
    Something like this:
    select  'create sequence '
    ||     SEQUENCE_NAME
    ||     ' minvalue '
    ||      MIN_VALUE
    ||     ' maxvalue '
    ||     MAX_VALUE
    ||      ' increment by '
    ||      INCREMENT_BY
    ||     decode      ( CYCLE_FLAG
              , 'N'     , ' nocycle '
                   , ' cycle '
    ||     CASE
              WHEN  cache_size = 0
              THEN  ' NOCACHE'
              ELSE  ' cache ' || cache_size
                        || ' start with '
                        || LAST_NUMBER
         END
    ||     ';'
    from      user_sequences;You can also use DECODE instead of CASE (and vice-versa).
    Edited by: Frank Kulash on Oct 21, 2009 7:34 PM
    A few minutes ago this question was about re-creating sequences. What happened?

  • How to remove a session-overflow cache entry?

    Hi,
    Customer wants to remove a session entry in session-storage cache as the following:
      NamedCache sessionStorage = CacheFactory.getCache("session-storage");
      sessionStorage.remove(oldSessionId);
    Is the entry related to the "oldSessionId"  in a session-overflow deleted together when a entry is removed in session-storage?
    If not, how to remove the entry in session-overflow?
    Thanks in advance.

    The reason for doing this is when ever i come to this user.jsp from account.jsp with a different account number this user.jsp is not refreshed and i still
    see the same old user.jsp for the previous account that i naviated before. Also please let me know if there is any other approach to acheive this taskDoes refreshing the page by pushing F5 solve the problem?
    If so, then the browser is caching the page, despite your attempts to stop it.

  • Determine blocking sessions and blocked sessions in 9iR2

    Hi,
    Running 9.2.0.7 on Solaris 2.
    We are trying to develop a query that can show us the blocked sessions and the session causing it. I have one working for 11 but for 9i, its a little more trickier. I am running these two so far:
    select s1.username || '@' || s1.machine || ' ( SID=' || s1.sid ||
           ' )  is blocking ' || s2.username || '@' || s2.machine || ' ( SID=' ||
           s2.sid || ' ) ' AS blocking_status
      from gv$lock l1, gv$session s1, gv$lock l2, gv$session s2
    where s1.sid = l1.sid
       and s2.sid = l2.sid
       and l1.BLOCK = 1
       and l2.request > 0
       and l1.id1 = l2.id1
       and l2.id2 = l2.id2;
    select do.object_name,
           row_wait_obj#,
           row_wait_file#,
           row_wait_block#,
           row_wait_row#,
           dbms_rowid.rowid_create(1,
                                   ROW_WAIT_OBJ#,
                                   ROW_WAIT_FILE#,
                                   ROW_WAIT_BLOCK#,
                                   ROW_WAIT_ROW#)
      from gv$session s, dba_objects do
    where sid = 543
       and s.ROW_WAIT_OBJ# = do.OBJECT_ID;Reason I need this is that lately we have been getting a lot of DEADLOCKS and we want to determine why this is happening a lot now and we want to start with who it is and what objects are causing it....any suggestions?

    mbobak wrote:
    There are a few critical pieces to interpreting a deadlock trace file. First, to be clear, you're getting ORA-00060, not ORA-04020 (which is a library cache deadlock), correct?
    If so, the tracefile will contain a deadlock graph. This will show the type of enqueue involved (TM or TX are the likely candidates), and the modes that locks and requests are being made.
    Then, there's the SQL which encountered the deadlock, and finally, the other SQL involved in the deadlock.
    All the above information is in the deadlock trace file.
    Using it, you ought to be able to determine root cause of the deadlock.
    If you need help understanding it, post here. If you post the deadlock graph, make sure you use code tags, or it will be unreadable.Yes we are getting the ORA-00060. This is what we get exactly from the AppTeam from the App:
    Available exception message: iims.ge.common.exception.IIMSTechnicalException : ORA-00060: deadlock detected while waiting for resourceFrom our latest Deadlock occurence we got a LMD Trace file generated. We can see the DeadLock graph and its SQL. We the enqueue of TX and it's modes. Basically everything you asked for we see it in the trace file. What we want to see is what is causing it or who is so we can fix it. Maybe I am not reading the trace file correctly. I appreciate your assistance in helping me interpret the trace file. As requested, here is the trace file.
    Dump file /var/local/oracle/logs/ora_prod_can1_lmd0_4432.trc
    Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
    With the Partitioning and Real Application Clusters options
    JServer Release 9.2.0.8.0 - Production
    ORACLE_HOME = /opt/oracle/9.2.0
    System name:    SunOS
    Node name:      can-clust01
    Release:        5.9
    Version:        Generic_118558-36
    Machine:        sun4u
    Instance name: ORA_PROD_CAN1
    Redo thread mounted by this instance: 0 <none>
    Oracle process number: 5
    Unix process pid: 4432, image: oracle@can-clust01 (LMD0)
    *** SESSION ID:(4.1) 2010-08-15 08:07:02.736
    open lock on RM 0 0
    *** 2010-08-15 08:07:31.353
    open lock on RM 0 0
    *** 2010-08-16 11:17:21.469
    user session for deadlock lock 40972c9c0
      pid=50 serial=6956 audsid=189500961 user: 61/IIMS_UWR
      O/S info: user: weblogic, term: unknown, ospid: , machine: can-prod03
                program: JDBC Thin Client
      application name: JDBC Thin Client, hash value=0
      Current SQL Statement:
      UPDATE T_POLICY_PROPERTY POP SET POP.PRP_EFFECTIVE_END_DATE = :B3 , POP.PRP_LAST_UPDATED_DATE = SYSDATE WHERE POP.PRP_POL_POLICY_ID = :B2 AND POP.PRP_
    PROPERTY_SEQ_NUM = 1 AND POP.PRP_EFFECTIVE_END_DATE = TO_DATE(:B1 , DATE_FORMAT)
    Global Wait-For-Graph(WFG) at ddTS[0.1] :
    BLOCKED 40972c570 5 [0x90014][0x19bb82],[TX] [131094,2] 1
    BLOCKER 40972bb98 5 [0x90014][0x19bb82],[TX] [65586,6177] 0
    BLOCKED 40972c9c0 5 [0x110014][0x12ec40],[TX] [65586,6177] 0
    BLOCKER 40972ba18 5 [0x110014][0x12ec40],[TX] [131094,2] 1
    user session for deadlock lock 40972c9c0
      pid=50 serial=6956 audsid=189500961 user: 61/IIMS_UWR
      O/S info: user: weblogic, term: unknown, ospid: , machine: can-prod03
                program: JDBC Thin Client
      application name: JDBC Thin Client, hash value=0
      Current SQL Statement:
      UPDATE T_POLICY_PROPERTY POP SET POP.PRP_EFFECTIVE_END_DATE = :B3 , POP.PRP_LAST_UPDATED_DATE = SYSDATE WHERE POP.PRP_POL_POLICY_ID = :B2 AND POP.PRP_
    PROPERTY_SEQ_NUM = 1 AND POP.PRP_EFFECTIVE_END_DATE = TO_DATE(:B1 , DATE_FORMAT)
    Global Wait-For-Graph(WFG) at ddTS[0.2] :
    BLOCKED 40972c9c0 5 [0x110014][0x12ec40],[TX] [65586,6177] 0
    BLOCKER 40972ba18 5 [0x110014][0x12ec40],[TX] [131094,2] 1
    BLOCKED 40972c570 5 [0x90014][0x19bb82],[TX] [131094,2] 1
    BLOCKER 40972bb98 5 [0x90014][0x19bb82],[TX] [65586,6177] 0
    *** 2010-08-16 11:17:42.495
    user session for deadlock lock 4098bcd08
      pid=59 serial=981 audsid=189501588 user: 61/IIMS_UWR
    O/S info: user: weblogic, term: unknown, ospid: , machine: can-prod03
                program: JDBC Thin Client
      application name: JDBC Thin Client, hash value=0
      Current SQL Statement:
      UPDATE T_POLICY_PROPERTY POP SET POP.PRP_EFFECTIVE_END_DATE = :B3 , POP.PRP_LAST_UPDATED_DATE = SYSDATE WHERE POP.PRP_POL_POLICY_ID = :B2 AND POP.PRP_
    PROPERTY_SEQ_NUM = 1 AND POP.PRP_EFFECTIVE_END_DATE = TO_DATE(:B1 , DATE_FORMAT)
    Global Wait-For-Graph(WFG) at ddTS[0.3] :
    BLOCKED 41228b128 5 [0x70001][0x178a52],[TX] [131100,2] 1
    BLOCKER 4098bade8 5 [0x70001][0x178a52],[TX] [65595,583] 0
    BLOCKED 4098bcd08 5 [0x130025][0x1475c9],[TX] [65595,583] 0
    BLOCKER 412275b78 5 [0x130025][0x1475c9],[TX] [131100,2] 1
    user session for deadlock lock 4098bcd08
      pid=59 serial=981 audsid=189501588 user: 61/IIMS_UWR
      O/S info: user: weblogic, term: unknown, ospid: , machine: can-prod03
                program: JDBC Thin Client
      application name: JDBC Thin Client, hash value=0
      Current SQL Statement:
      UPDATE T_POLICY_PROPERTY POP SET POP.PRP_EFFECTIVE_END_DATE = :B3 , POP.PRP_LAST_UPDATED_DATE = SYSDATE WHERE POP.PRP_POL_POLICY_ID = :B2 AND POP.PRP_
    PROPERTY_SEQ_NUM = 1 AND POP.PRP_EFFECTIVE_END_DATE = TO_DATE(:B1 , DATE_FORMAT)
    Global Wait-For-Graph(WFG) at ddTS[0.4] :
    BLOCKED 4098bcd08 5 [0x130025][0x1475c9],[TX] [65595,583] 0
    BLOCKER 412275b78 5 [0x130025][0x1475c9],[TX] [131100,2] 1
    BLOCKED 41228b128 5 [0x70001][0x178a52],[TX] [131100,2] 1
    BLOCKER 4098bade8 5 [0x70001][0x178a52],[TX] [65595,583] 0Let's see what we can get out of this now :)

  • Every time I launch Firefox 4 it opens 3 or 4 blank windows, no longer opens the tabs from the previous session and does not show my bookmarks sidebar.

    I have to manually close the extra windows and restore the tabs from the previous session, and reopen the sidebar. In disgust I uninstalled Firefox 4 and reinstalled 3.6. Everything works fine in 3.6. Looks to me like Firefox 4 has many major bugs and is not yet ready for prime time. I'll stay with 3.6 for now.

    This can be a problem with the files [http://kb.mozillazine.org/sessionstore.js sessionstore.js] and sessionstore.bak in the [http://kb.mozillazine.org/Profile_folder_-_Firefox Profile Folder]
    Delete [http://kb.mozillazine.org/sessionstore.js sessionstore.js] and sessionstore.bak in the [http://kb.mozillazine.org/Profile_folder_-_Firefox Profile Folder]
    * Help > Troubleshooting Information > Profile Directory: Open Containing Folder
    If you see files sessionstore-##.js with a number in the left part of the name like sessionstore-1.js then delete those as well.<br />
    You will have to redo App Tabs and Tab Groups after deleting sessionstore.js.
    See:
    * http://kb.mozillazine.org/Session_Restore

  • Lenovo U310: Clean Windows 7 Installation Guide (including Rapid Start and Caching)

    Hi there,
    this is the first time that I am writing such a guide/tutorial/whatever you may call it – there are probably better ones, but though not being a total computer noob, it took me almost one week to get this pretty (now again) little beast running again. So hopefully this helps some others to avoid such stupid downtimes.
    A brief overview on what has happened to my original win 7 Home Premium:
    As some may know, this laptop is very well usable as a “Hackintosh” called Macbook clone. So that’s what I did. It turned out to be nice, but I wanted to go back to Windows after a while, using a clean W7 Pro installation to start over. Actually an easy task, format all drives, install Windows, be happy. Just as I had been doing this for years. Unfortunately, it turned out to be a real challenge. First, I couldn’t “see” my drives during installation (and thus not install), then I got random errors during installation aborting it at different points and finally rapid start and caching didn’t work. Every time I tried to activate them (after Win installation), it crashed my PC. I even found an (official Lenovo!) guide stating to install W7 on the SSD, which worked, but sucks due to space limitations. Oh and another very nice thing: The SSD showed up during WIN installation (but not the classical hard drive) stating it was about 60 GB. So as you can see, I have had a lot of different tries and errors. Why I didn’t use Lenovo Easy Recover? As said before, I erased all partitions…
    Before we start: If you have a good Windows running on the Laptop, do yourself a favor and disconnect the RAID 0 disks using the Intel Rapid Storage Application before(!!!) proceeding. It will make things much easier. And don’t forget to get all you data on an external drive or something.
    Ok, now let’s start.
    1.)    Prepare a USB Stick with the following driver
             http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=21730 (choose f6flpy-x64.zip If you’re running a   
             64-bit system (standard nowadays), take f6flpy-x86.zip if it is a 32-bit Windows, just download and copy them
             into the stick’s root directory) and plug this stick in one of the left side USB ports.
    2.)    You’ll need Win 7 on either a DVD (plus external drive, for sure) or (bootable) USB stick
    3.)    Connect your drive/stick (with W7) to the right side USB port.
    4.)    Switch the computer on, immediately hit FN and F2. That will open the BIOS.
    5.)    In the BIOS, navigate to the very right section (“save and exit”) and navigate the cursor to “load setup defaults”.
             Hit enter to approve.
    6.)    After that, go to the “boot” tab and disable UEFI-boot.
    7.)    Next, go one more tab to the left and set the controller setting to RAID (NOT AHCI or Compatible!!!).
    8.)    Navigate the cursor down to “Intel Rapid Start” and hit enter. A submenu will pop up-
    9.)    Disable the first entry in that window, that will make the rest be disabled as well.
    10.) Navigate to the very right tab, this time hit save and exit.
    11.) The PC restarts.
    12.) Immediately hit FN and F12 to open the boot selection menu. Select to boot from your W7 DVD drive or USB
            stick.
    13.) Click yourself through the whole process of installing Windows 7 until the page comes up where you will have
            to select where to install it.
    14.) Click on “load drivers” and after a few seconds your downloaded driver should be there. Click ok to use them.
            Please do this step even if you can see your drives (SSD Disk 0, 32 GB and HDD Disk 1, 465(<-?) GB) as you
            would expect them – otherwise you’re very likely to get an error during the install process.
    15.) Now erase all partitions on both drives and select the HDD as the drive to install W7 to – NOT THE SSD!!!!!
            Seriously, don’t choose the SSD.
    16.) Windows will probably say that some extra partitions are necessary and so on, click ok and install Windows.
    17.) After the installation has finished and you see your Desktop, I suggest you to proceed with the next steps in the
            following order to see as early as possible if you are on the right way.
    18.) Install the Chipset driver, restart.
    19.) Install the Intel Rapid Storage “driver” and check the box where it asks to additionally install the control center.
            Reboot.
    20.) Go into BIOS (FN and F2) and enable Intel Rapid Start (the one you disabled in Step 8 and 9)
    21.) Boot into Windows.
    22.) Click on the Windows button, type cmd and right klick on the cmd.exe, select to run it as Admin.
    23.) Now you’ll create a hibernation partition on the SSD. (which by now should be completely empty as we’ve
            deleted all partitions in step 15)
    24.) In the command prompt that we have just opened, type: (without quotas, for sure)
    “diskpart” and hit the enter button
    “list disk” and hit the enter button
    Now you should see your ssd as disk 0 and your hdd as disk 1
    If your ssd is disk 0 (that would be standard), write “select disk 0”, otherwise write: “select disk 1”, and hit the enter button.
    Now write “create partition primary size=4096” and hit enter again. [if you have 4GB of ram, type 4096, if you have 8 GB of ram, use 8192]
    Now write “detail disk” and hit enter to see the volume number behind the volume that we have just created (it is 4 GB or 8 respectively, should be easy to find), in my case that was “2”
    Now type “select volume 2” if your 4 or 8 GB volume has number 2 as well, otherwise use the number you found out in step f. Hit enter.
    Finally, type: “set id=84 override” and hit enter for one last time.
    It should now say back that the id has been set successfully.
    Exit the command prompt. (close)
    25.) Reboot
    26.) Install the Rapid Start driver. Reboot.
    27.) Open the Intel Rapid Storage Application.
    28.) Click on accelerate and approve the settings. Two RAID’s will be created. Reboot.
    29.) Install the remaining drivers, have fun with Windows Update and that’s it!
    Good luck to all of you… And hey Lenovo - wouldn't that have been your job after all these posts showing your costumers in trouble? Just my two cents...
    If you want, you can now turn on UEFI-boot in BIOS.
    PS: If, after installing all drivers, you happen to see one unknown device in your device manager – this one belongs to Lenovo Connect Software that came with your Laptop. (Updates FB, Email etc when PC is in sleep mode) If you install Lenovo Connect it’s going to be fine, however, I would not recommend it as it is said to use a lot of energy and cause some other problems. So just live with it, your PC is totally fine without it.
    Kind regards from Shanghai

    Seriously guys, I can't use my 3 days old laptop. Some help would be mostly appreciated. At this point, the network connection issue doesn't show up anymore, it's just a blank screen after reboot. I reinstall windows and do it all over again just to achieve the same result.
    Now couple of things caught my attention: as I load the "6flpy-x64.zip" driver from step 14, I get a message saying I need to install signed drivers, because unsigned ones are likely to mess up the system.
    Secondly, I could not find any Rapid Storage Technology drivers for Windows 7 (particularly for U310 model), so I use the Windows 8 ones (http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS031455), which seems a silly thing, yet I know of no alternatives.
    Could it be any of these issues to cause my problem? Or smth else? Please help!

  • What is the diffrence between cookies and cache, is it safe to remove cache?

    what is the difference between cookies and cache , is it safe to remove cache ? . I had cleaned cookies many times but I have not removed cache , does it goes on increasing day by day ? please let me know

    Cookies are small files that contain information useful to a web site -- such as password, preferences, last date visited, etc. You may remove the cookies that you don't want adn since some of them are a privacy issue, many people remove them all.
    Cache is just a collection of data downloaded to help display a web page. After you leave a site, much of the cache is left on your computer and is no longer needed. You can always remove the cache because it will be replaced as needed.

Maybe you are looking for

  • Deleting a single item list in dropdown choices

    Perhaps I am just not seeing the obvious simple solution but how do I provide a user the option to simply delete his choice in a dropdown selection. I have added a clear form button to wipe all form data, but how do I allow a user once he/she has sel

  • Can't open .DNG files in Preview

    I am using Adobe DNG converter OR Lightroom to convert .RW2 from a Panasonic Lumix 3 to .DNG _This works:_ 1. Working with files in LR 2. Use PanoMaker to create panoramas 3. Create HDR with Photomagix _This does not work_ 4. Open files with MAC OS X

  • New Macbook Pro stuck on transferring information screen?

    I just purchased a MacBook Pro and attempted transferring my information from my old Asus laptop running Windows 7. I downloaded and installed the Windows Migration Assistant, and about half an hour into the transfer a screen came up on my Asus sayin

  • Problem with IView Callable in GP

    Hi Guys, I encounter a similar problem to the one in thread Problem to execute a Callable Object in UWL iView doesn't work in my GP process at all. I always get the error message in GP Runtime when it comes to an iView callable: “The portal page buil

  • Connecting 3 G5s thru fibre

    I am new to this type of storage system and was just trying to understand it... So we have 3 G5s and each G5 had a Sonnet Sata PCIx card installed and each G5 has 2TB of Sata Drives RAID 0 for HD video storage. We want to add a fibre card in each and