Stateful session and stateless session

i want to use session pool, but in document being stateful session or stateless session are one of standards.
i do not understand the difference of them. who can tell me something about this?
thanks! and the session we commonly used is stateful or stateless ?

A stateful session is one that must maintain a state across requests; such as one that may require package states and the like. As such, it cannot be reused by other requests until it is completely finished.
On the other hand, a stateless session is one that performs somewhat like a singleton action (statement cache for example) which, upon completion, can be reused in the pool for any other request as it does not require the state to be maintained.
The most commonly used depends on the application, but I would say stateless is more common as it's used for performing small simple things (queries or small transactions) without requiring procedural-type processing overhead.
Not sure if that description really helps you though.

Similar Messages

  • How to get stateful and stateless session bean in second jsp

    I create stateful session bean in the first jsp, then how can I get the stateful session bean in the second jsp? I find that somebody store the bean in HttpSession.
    If I store the stateful session bean in HttpSession, then I can get it in the second jsp. My problem is that I can store the stateless session bean in HttpSession, and get it in the second jsp. Then, both stateful and stateless can maintain the state in the second jsp. What is the difference between stateful and stateless session bean in this case ?
    I understand the definition of stateful and stateless session bean, but I'm confuse how to use session bean. Can anyone provide sample jsp to show difference of stateful and stateless? How the stateful session bean can maintain the state for the client?

    Greetings,
    I create stateful session bean in the first jsp, then how can I get the stateful session bean in the
    second jsp? I find that somebody store the bean in HttpSession.Which is the correct scope for sharing client-specific data when 'request' scope is insufficient.
    If I store the stateful session bean in HttpSession, then I can get it in the second jsp. My problem is
    that I can store the stateless session bean in HttpSession, and get it in the second jsp. Then, bothWhy is that a "problem"? Does your application not require the stateless bean to be shared? If so, then don't store the EJBObject reference in the session...
    stateful and stateless can maintain the state in the second jsp. What is the difference betweenWhat do you mean by this exactly?..
    stateful and stateless session bean in this case ?Statefulness of session beans is in regard to maintaining client state (er, in all cases). If your "stateless" bean is receiving information from the client (i.e. its caller) - either through a create method or a business method - and that information is available (retrievable from the bean) on subsequent method calls, then that bean is, in fact, stateful - regardless of how it is deployed.
    I understand the definition of stateful and stateless session bean, but I'm confuse how to use
    session bean.The correct question, it here seems, is "when" to use which type... Use a "stateful" bean when information about (from) the client (i.e. the caller) must be maintained across method calls of the bean. Use a "stateless" bean for general business methods that do not depend on "prior knowledge" of the client (i.e. the caller).
    Can anyone provide sample jsp to show difference of stateful and stateless? How the statefulA "sample JSP" would yield nothing additional... The semantics of calling, using, and "persisting", bean references are always the same - regardless of type or class. However, the reason(s) for using one over the other depends entirely on the needs of your application.
    session bean can maintain the state for the client?I recommend that you spend more time learning about EJBs generally. In particular, it seems you require more fundamental understanding of their scope and lifecycle. Refer to sections 4, 6, and 7 of the EJB 2.0 Specification.
    Regards,
    Tony "Vee Schade" Cook

  • Difference between stateful and stateless session beans

    can any body explain simply what is the difference between stateful and stateless session beans? also in what kind of situations we can use these.

    Hi
    This is the classificatio os Session Bean.
    (1) Statfull
    (2) Stateless
    Stateful means u will persists the state of the object.
    USESE:
    In a Banking system u can use the statful session just for maintaing the
    state.
    (2) STATELESS: that's mean u do't want to persists any state of the object. that's mean a single Request is coming ,do the desire and give the output.
    EX: A Credit Card System is the Example of Stateless.
    May it will helpfull to understands u. if any need write here
    saM

  • Not be able to obtain a transacted session within stateless session bean

    I need some assistance on creating a transacted session. For some reason while within a stateless session bean, I am unable to create a transacted session even though I'm specifying to create the transacted queue session. Can anyone provide any assistance to me on this? It would be much appreciated.
    Here is the code snippets involved with the problem:
    Code snipet from ejb-jar.xml:
    <session>
    <display-name>Initial Request</display-name>
    <ejb-name>InitialRequestBean</ejb-name>
    <ejb-class>com.raytheon.rds.jms.InitialRequestBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    Code from stateless session bean:
    static Logger logger;
    private QueueConnectionFactory connectionFactory;
    private SessionContext sc;
    private Queue requestQueue;
    public String processRequest(String msgBody)
    logger.log(Level.INFO, "In processRequest(String).", msgBody);
    QueueConnection con = null;
    QueueSession session = null;
    QueueSender sender = null;
    TextMessage message = null;
    String messageID = null;
    QueueReceiver receiver = null;
    TemporaryQueue replyQueue = null;
    boolean transacted = false;
    try
    //Create the infrastructure (ie. The connection & the session)
    logger.log(Level.FINE, "Creating connection");
    con = connectionFactory.createQueueConnection();
    logger.log(Level.FINE, "Creating session");
    session = con.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
    //Note: This line above was changed in all possible permutation and still didn't work such as using Session.SESSION_TRANSACTED
    transacted = session.getTransacted();
    logger.log(Level.FINE, "Is session transacted? : " + transacted);
    //Note: This line above is constantly saying false
    //Now first, setup the temporary reply queue and its listener
    replyQueue = session.createTemporaryQueue();
    logger.log(Level.FINE, "Creating receiver/consumer");
    receiver = session.createReceiver(replyQueue);
    con.start();
    //Now create the requestor that will make the request message and put it on the request queue
    logger.log(Level.FINE, "Creating Requestor/Producer");
    sender = session.createSender(requestQueue);
    //Now create the message and make sure that you put the "JMSReplyTo" property to the temporary response queue we just created
    message = session.createTextMessage();
    message.setJMSReplyTo(replyQueue);
    logger.log(Level.FINE, "Created message: " + message.getJMSMessageID());
    //Now add the actual info you want to send
    message.setText(msgBody);
    //Now send the message
    logger.log(Level.INFO, "Sending message: " + message.getText());
    sender.send(message);
    //Now wait until we get a response
    logger.log(Level.FINE, "Waiting for the response message");
    Message responseMsg = receiver.receive(20000); //Toggle the "0" to specify timeout in millisectionds
    //Process the message
    logger.log(Level.FINE, "Processing the response message");
    if(null != responseMsg)
    logger.log(Level.FINE, "responseMsg is : " + responseMsg.toString());
    messageID = processMessage(responseMsg);
    logger.log(Level.FINE, "Response is : " + messageID);
    //close the connection
    logger.log(Level.FINE, "Stopping the connection");
    con.stop();
    catch (Throwable t)
    // JMSException could be thrown
    logger.log(Level.SEVERE, "Exception Thrown in sendRequest: ", t);
    sc.setRollbackOnly();
    finally
    //Close the sender
    if (sender != null)
    try
    logger.log(Level.FINE, "Closing the sender");
    sender.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the sender to the request queue: ", e);
    else
    logger.log(Level.FINE, "Sender is already closed.");
    //Close the receiver
    if (receiver != null)
    try
    logger.log(Level.FINE, "Closing the receiver");
    receiver.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the receiver to the request queue: ", e);
    else
    logger.log(Level.FINE, "Receiver is already closed.");
    //Close the session
    if (session != null)
    try
    logger.log(Level.FINE, "Closing the session");
    session.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the session to the request queue: ", e);
    else
    logger.log(Level.FINE, "Session is already closed.");
    //Close the connection
    if (con != null)
    try
    logger.log(Level.FINE, "Closing the connection");
    con.close();
    catch (JMSException e)
    logger.log(Level.WARNING, "JMSException Thrown when trying to close the connection to the reply queue: ", e);
    else
    logger.log(Level.FINE, "Connection is already closed.");
    return messageID;
    }

    I found the answer through lots of painful searching.
    http://blogs.sun.com/fkieviet/entry/request_reply_from_an_ejb
    This weblog from Frank Kieviet from a sun blog explains what's happening behind the scenes.
    Then I proceeded to create a Bean-Managed Transaction out of my EJB, which is using EJB 3.0. This requires the tag:
    @TransactionManagement(value= TransactionManagementType.BEAN)
    Note: I got this information from http://download.oracle.com/docs/cd/B31017_01/web.1013/b28221/servtran001.htm#BAJIBAFF
    Then I just added the code specified in Frank's blog and everything is working now. The main portion of the code looks like this now:
    //begin the user transaction
    ctx.getUserTransaction().begin();
    //Create the infrastructure (ie. The connection & the session)
    logger.log(Level.FINE, "Creating connection");
    con = connectionFactory.createQueueConnection();
    //Create the session
    logger.log(Level.FINE, "Creating session");
    session = con.createQueueSession(false, Session.SESSION_TRANSACTED);
    transacted = session.getTransacted();
    logger.log(Level.FINE, "Is session transacted? : " + transacted);
    //Now create the sender that will make the request message and put it on the request queue
    logger.log(Level.FINE, "Creating Sender");
    sender = session.createSender(requestQueue);
    //Now create the message
    message = session.createTextMessage();
    //Now add the actual info you want to send
    message.setText(msgBody);
    logger.log(Level.FINE, "Created message: " + message.getJMSMessageID());
    //Now first, setup the temporary reply queue and its listener
    replyQueue = session.createTemporaryQueue();
    if(null != replyQueue)
    logger.log(Level.FINE, "Created temporary queue: " + replyQueue.getQueueName());
    else
    logger.log(Level.FINE, "Temporary Queue could not be created.");
    //make sure that you put the "JMSReplyTo" property to the temporary response queue we just created
    message.setJMSReplyTo(replyQueue);
    //Now send the message
    logger.log(Level.INFO, "Sending message: " + message.getText());
    sender.send(message);
    //Now start the connection
    logger.log(Level.FINE, "Starting the connection");
    con.start();
    //commit the changes
    ctx.getUserTransaction().commit();
    ctx.getUserTransaction().begin();
    //Create the receiver
    logger.log(Level.FINE, "Creating Receiver");
    receiver = session.createReceiver(replyQueue);
    //Now wait until we get a response
    logger.log(Level.FINE, "Waiting for the response message");
    Message responseMsg = receiver.receive(20000); //Toggle the "0" to specify timeout in millisectionds
    //Process the message
    logger.log(Level.FINE, "Processing the response message");
    if(null != responseMsg)
    logger.log(Level.FINE, "responseMsg is : " + responseMsg.toString());
    else
    logger.log(Level.FINE, "No response came back.");
    messageID = processMessage(responseMsg);
    logger.log(Level.FINE, "Response is : " + messageID);
    logger.log(Level.FINE, "Transaction is complete");
    //commit the changes
    ctx.getUserTransaction().commit();

  • 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/

  • GV$SESSION and V$SESSION | Find who is connecting

    Any one please brief what is the diff b/w
    GV$SESSION and V$SESSION
    and what is the use os both...
    Can we find the user who is connecting to the oracle server using gv$session view.
    Oracle Version is 9i R2
    OS is Solaris 9

    You can find the users connecting to each node if you query the v$session. You must be aware of the node you are connecting when issuing this query because the information is exclusive from the node you are connected to.
    If you query the gv$session the information gathered is the same, but as you can see it reports information from all RAC participant users.
    If you take a look at the dynamic views, you will find a lot of gv$ views, those are global views that can be seen from whichever instance you are connected to and it will report information about all the instances in a single query. As you can see the gv$ views include an INST_ID (instance ID) column, which declares the number of instance the information comes from.
    ~ Madrid
    http://hrivera99.blogspot.com

  • 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?

  • 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 :)

  • WLS10 and Stateless Session Bean

    I tried to create EJB3 application example.
    1. Created Stateless Session Bean that implements Remote and Local interfaces:
    Session Bean code:
    package com.session;
    import javax.ejb.Local;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    import javax.ejb.TransactionAttribute;
    import javax.ejb.TransactionAttributeType;
    @Stateless(mappedName="SessionBeanService")
    @Remote(ISessionBeanRemote.class)
    @Local(ISessionBeanLocal.class)
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public class SessionBean implements ISessionBeanLocal,
    ISessionBeanRemote
    public String reply(){
    return "MySessionBean - success !!!";
    Remote Interface code :
    package com.session;
    public interface ISessionBeanRemote
    public String reply();
    Local Interface code:
    package com.session;
    public interface ISessionBeanLocal
    public String reply();
    application.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
              http://java.sun.com/xml/ns/javaee/application_5.xsd"
         version="5">
         <display-name>EJB3 Sample Application</display-name>
         <module>
         <ejb>beans.jar</ejb>
         </module>
    </application>
    weblogic-application.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-application PUBLIC
         "-//BEA Systems, Inc.//DTD WebLogic Application 8.1.0//EN"
         "http://www.bea.com/ns/weblogic/90/weblogic-application.xsd">
    <weblogic-application>
              <classloader-structure>
                   <module-ref>
                        <module-uri>beans.jar</module-uri>
                   </module-ref>
              </classloader-structure>
    </weblogic-application>
    2. I packaged classes into EAR file and deployed to WLS10.
    I didn't include any weblogic specific XML descriptors besides weblogic-application.jar.
    My client code lookes as follows:
    public void test(){
    Context context = getMyServerContext();
    // THIS JNDI NAME I SEE ON MY SERVER JNDI TREE
    String jndiName = "sessionbeansbeans_jarSessionBean_ISessionBeanRemote";
    Object obj;
    obj = context.lookup(jndiName);
    System.out.println(" obj class : " + obj.getClass().getName());
    ISessionBeanRemote remote = (ISessionBeanRemote) PortableRemoteObject.narrow(
    obj, ISessionBeanRemote.class );
    String res = remote.reply();
    System.out.println("res : "+res);
    I get an Exception:
    Exception occurred!
    java.lang.ClassCastException: Cannot narrow remote object to com.session.ISessionBeanRemote
         at weblogic.iiop.PortableRemoteObjectDelegateImpl.narrow(PortableRemoteObjectDelegateImpl.java:242)
         at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
         at ca.cgi.mvest.test.server.wms.GlFacadeTest.runTest(GlFacadeTest.java:91)
         at ca.cgi.mvest.test.server.wms.GlFacadeTest.<init>(GlFacadeTest.java:53)
         at ca.cgi.mvest.test.server.wms.GlFacadeTest.main(GlFacadeTest.java:151)
    java.lang.ClassCastException: Cannot narrow remote object to com.session.ISessionBeanRemote
    My server console have the following output:
    Root cause of ServletException.java.lang.NoClassDefFoundError: com/session/SessionBean_7pp7ls_ISessionBeanRemot
    eIntf
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    4)
    at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericCla
    ssLoader.java:338)
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Generic
    ClassLoader.java:291)
    Truncated. see log file for complete stacktrace
    Server logs a problem already on the line when I do lookup
    on JNDI name even before narrow();
    It looks like my EAR was missing something. But server never complained during deployment.
    May be someone can direct me to a real sample of Weblogic10-ejb3.0 application, since examples that come with WLS 10 intallation combersome and do not follow
    docmentation.
    Thanks in advance for any suggestion.

    Hello Freind
    The main different b\w stateful and statless is that stateful maintain state of method conversation means it has record that which method call before this method
    but in case of stateless conversation state does not saved second different we can say that create method in stateless having no parameter but statefull having parameter I think u can understand easily
    With Best Regards
    Rajesh Pandey
    email :[email protected]
    url :-- http://www.sixthquadrant.com
    Mob :-- 9811903737
    Delhi India

  • How to use jta in toplink and stateless session bean EJB 3.0?

    I have an application with techologies jsf,stateless session bean, adf, toplink
    generated by toplink workbench.
    In web side ı want to use two methods in stateless session bean which are updated
    different tables. I call these methods in my page backing bean.
    I also want to JTA in web side. My first methods is done correctly, but second method has an error. I wanto to rollback all transaction.
    How can ı do that? with using JTA in Toplink...

    Yuichi
    Did you manage to solve this?  I'm doing something similar and seeing the same problem, although they're up to 7.3 SP7.
    Any help greatly appreciated.
    Lewis

  • Hot delpoyment with TopLink and Stateless Session Beans

    What is the recommended procedure for making hot deployment of Stateless session beans work with toplink in WLS 7.0sp1 and oc4j (9.0.3)
    My current setup is as follows using WLS 7.0sp1:
    A stateless session bean is accessing toplink enabled persistent java classes via the SessionManager. I'm currently using the class loader of the stateless session bean:
    * Method in stateless session bean
    * Return the TopLink Session (based on the wls stateless session bean demo)
    public Server getSession() {
              return (Server)SessionManager.getManager().getSession("ejb_sessionbean", this.getClass().getClassLoader());
    Everything is working as such. My session bean can read and write the persistent java classes. However if I redeploy the stateless session bean jar file the toplink session is not reinitalized. This means that new settings in the session.xml are not used. I addition I get other errors.
    I'm having toplink on the server classpath. The toplink enabled persistent classes are in the stateless session bean jar file.
    Thanks
    Henrik

    What is the recommended procedure for making hot deployment of Stateless session beans work with toplink in WLS 7.0sp1 and oc4j (9.0.3)
    Everything is working as such. My session bean can read and write the persistent java classes. However if I redeploy the stateless session bean jar file the toplink session is not reinitalized. This means that new settings in the session.xml are not used. I addition I get other errors.
    I'm having toplink on the server classpath. The toplink enabled persistent classes are in the stateless session bean jar file.Henrik,
    This is a recent post note I found on the same topic:
    It all hinges on whether the TopLink ServerSession class has
    been loaded by a classloader which is actually thrown away
    during the hot deployment process. If this is the case, then
    hot deployment causes the ServerSession to go out of scope
    and finalize methods take care of logging it out properly.
    If you deploy your TopLink Project on the Sytem class path then
    it definately won't work. You'd have to restart the server every time.
    But if the TopLink Project is deployed inside of an .ear file
    and if you pass the correct ClassLoader to the
    SessionManager.getSession( .... ) call then TopLink Session will
    be re-started when you hot deploy the .earBased on this, the solution might be to deploy your EJBs in an ear file. Everything else looks OK. Can you try this and let us know?
    Thanks,
    Pete Farkas

  • JCo 3.0 Server and Stateless Session Bean

    Hello,
    I use JCO (3.0) and I need to integrate SAP with JBoss.
    The SAP Module is calling EJB-Services over JCo.
    How would the architectur looks like?
    I start with using an MBean to start and stob the native JCO-Server over JMX.
    This still works.
    But it doesn't work:
    The Client(SAP) calls the JCoServer (works fine).
    But the call off the EJB failed.
    What solutions do you have to share?
    Do you use a stateless session bean?
    Best regards
    Peter

    The program ID should be with length 8 max

  • Web session and authentification session pb with wl6.0

    Hi,
    I am evaluating weblogic 6.0 on windows 2000.
    I have a little web application, with some URL (html, servlet...), I want to protect.
    So I defined a <security-constraint> element in my web.xml
    file, and I binded the logical roles with real participant in
    weblogic.xml
    It works very well at startup. I launch a browser, request a protected URL and the
    authentification window popup. I enter valid info and I can access my URL.
    Perfect.
    Now I want to give the possibility to my user to terminate a session, to disconmect,
    so I had a button, (disconnect) which invoque a servlet which get the current session
    and invalidate it.
    I checked, the session is destroyed and a new one is defined (new ID, new counter...),
    but my user are still connected. It means that if I want to acces a protected URL,
    I still can do it.
    more strange. In both a secured and unsecured page I print the User Principal. When
    I connect, the two pages print the same and right value.
    But if I disconnect, the unsecured page print null(no connection for this session)
    and the secured page print the principal I used to connect in the previous message.
    I know this message is a little bit long, but I tried to give the cleares context.
    Has anyone ancountered that kind of problem? Is there a solution.
    I pass the test with netscape 4.76, netscape 6.01, Internet Explorer 5.50. I got
    the same behavior each time...
    Thanks
    Nicolas

    If you use a Form to authenticate then the browser is unaware of the
    username and password. The PetStore demonstrates how it's done in
    ..\samples\petStore\source\com\bea\estore\util\WLSecurityAdapter.java
    "Nicolas GANDRIAU" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hi John,
    thank you for your answer. It confirmed my first guess, that the
    browser keep the secret info and send them back to the server.
    The server does not make any attachment with the current session.
    But you talk about a "ServletAuthentication" example which presents theway to bind
    the login info in the session. I have not found this servlet, in weblogic6.0 distribution
    or J2EE API.
    Can you give me the exact reference of this servlet.
    Thank you for your help.
    Nicolas
    "John Lindwall" <[email protected]> wrote:
    Nicolas,
    It is my understanding that the authentication information for this
    scenario
    (ie HTTP BASIC authentication) is not contained in the session -- it is
    maintained by the browser and resent with every request. That is why
    invalidating the session makes no difference. If you have a HTTPsnooping
    utility you will see the "Authorization" information (albeit encodedusing
    BASE64) present in the requests from your browser to the server.
    FYI: I've noticed that by using the ServletAuthentication class tomanually
    perform authentication, it DOES in fact store the authentication info in
    the
    session. There is a "done()" method in this class which removes thisinfo
    from the session (ie performs a logout).
    If this link reproduces properly, check it out -- it's a good simple
    explanation of what's going on:
    http://www.support.lotus.com/sims2.nsf/852561c1006719a98525614100588964/877
    a
    0ac029a78f8a8525645f0069a34d?OpenDocument
    For tons of detail on BASIC authentication see
    ftp://ftp.isi.edu/in-notes/rfc2617.txt
    John
    Nicolas GANDRIAU <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    I am evaluating weblogic 6.0 on windows 2000.
    I have a little web application, with some URL (html, servlet...), I
    want
    to protect.
    So I defined a <security-constraint> element in my web.xml
    file, and I binded the logical roles with real participant in
    weblogic.xml
    It works very well at startup. I launch a browser, request a protectedURL
    and the
    authentification window popup. I enter valid info and I can access myURL.
    Perfect.
    Now I want to give the possibility to my user to terminate a session,to
    disconmect,
    so I had a button, (disconnect) which invoque a servlet which get thecurrent session
    and invalidate it.
    I checked, the session is destroyed and a new one is defined (new ID,new
    counter...),
    but my user are still connected. It means that if I want to acces aprotected URL,
    I still can do it.
    more strange. In both a secured and unsecured page I print the UserPrincipal. When
    I connect, the two pages print the same and right value.
    But if I disconnect, the unsecured page print null(no connection for
    this
    session)
    and the secured page print the principal I used to connect in the
    previous
    message.
    I know this message is a little bit long, but I tried to give the
    cleares
    context.
    Has anyone ancountered that kind of problem? Is there a solution.
    I pass the test with netscape 4.76, netscape 6.01, Internet Explorer
    5.50.
    I got
    the same behavior each time...
    Thanks
    Nicolas

  • Scope of component session and http session

    Hi,
    I wish multiple iviews to share the same information.  I am unsure however of the scope of portalcomponentsession, as opposed to http session. I have read the docs, and they are unclear as to the life and scope of these 2 sessions within portal.  Which one is tied to the user?  And which one is available over multiple iviews.
    I would appreciate any help with this
    Thanks
    Mariana

    Hi Mariana,
    > I am sorry
    No problem at all
    > I did not want to close the topic by mistake
    Just for explanation: If you give ten points (they call it blue, my eyes say black), this star is marked in the overview and somehow displaying "solved". In addtion, if you have marked a question as question, you can mark it as answered. As long as you don't do one of both things, you can reward points (2, 6) also in between without trimming your chances to get additional answers.
    > I did not de-mark the question,
    > I just replied to the post.
    When you initially opened the thread (that was no reply), it <i>seems</i> that you've de-marked this thread as question (the standard is: it is a question).
    Anyhow, some people seem to have made the experience that they definitely did not de-mark the thread as question, but it wasn't marked as question, anyhow.
    In this case, a short and friendly mail to [email protected] with the problem stated and alink to the thread concernced will help to repair everything...
    Best regards
    Detlev

  • Idle session and active session

    how can I clear/remove the session user in oracle 10g express, via asp.net (1.1), is it possible?
    is idle session can affect the number of concurrent users? or only active session...

    coz right we're having a problem. first of all, i would like to say that I'm a oracle novice.
    this is the scenario, we have 1 server (p4 2.2ghz w/ 2gig of memory), oracle 10g express install and our application front end (asp.net 1.1 is also install). while running of application and reached 5 or more that users have connected tru asp.net, the connection to the oracle is refuse.
    can you help me regarding our problem.
    thanks in advance

Maybe you are looking for