Types of session persistence in clustering

does anybody know what are the types of session persistence in clustering(In-memory replication,Database persistence etc..)
what is the advantages and disadvantages of each type?
we r using oracle appserver 10.1.2.

Hi,
HttpSession replication is little different from JNDI replication. In JNDI replication the JNDI objects are binded(Replicated) to all the members JNDI tree. But in case of Http Session Replication the HttpSession Object gets binded only to the Primary and Secondary JVM (WebLogic Instances). So if both Promary and Secondary WebLogic Server Goes Down then it is *"DISASTER"* and you cannot prevent the Disasters when it happens.
But you can minimize the Disaster effects by chosing *"Using Replication Groups"*...It means you can decide in which all nodes of the cluster you want your Secondary HttpSession should be replicated.... Please refer to : http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/failover.html
By default, WebLogic Server attempts to create session state replicas on a different machine than the one that hosts the primary session state. You can further control where secondary states are placed using replication groups. A replication group is a preferred list of clustered servers to be used for storing session state replicas. Using the WebLogic Server Console, you can define unique machine names that will host individual server instances. These machine names can be associated with new WebLogic Server instances to identify where the servers reside in your system..
Thanks
Jay SenSharma
http://middlewaremagic.com/weblogic/?p=2649  (Middleware Magic Is Here)

Similar Messages

  • Are Session Persistence And Clustering Inter-related?

    Hi,
              I'm attempting to set up session persistence (via jdbc) on WL 4.03. I have
              configured weblogic.properties according to the admin guide, and I've
              written a very simple test servlet. However, whenever I attempt to save a
              value with session.putValue(), the following exception is thrown:
              "java.rmi.RemoteException: javax.ejb.FinderException: Refresh:
              ClusteredSession:
              308978692445-1/-1094565652488309727/-1062731518/4/7011/7011/7012/7012 not
              found"
              The WL instance I am using is not part of a cluster. Is clustering
              required for session persistence? If not, should I be using something other
              than the normal HttpSession class?
              Thanks,
              John
              

    Please disregard. The problem was due to an error in the definition of the
              WL_SERVLET_SESSIONS table.
              

  • Fatal bug with shared JDBC Session Persistence

    We are attempting to launch a three-tier site with two clusters, one at the
              web layer (JSP/servlet/images) and a separate cluster at the app server
              layer (EJBs). We are running WebLogic server 4.5.1 Service Pack 8 on Solaris
              2.7. In production we use Solaris JDK 1.2.1.04, and in development we use
              JavaSoft JDK 1.2.2. We are able to duplicate this problem with both JDKs. We
              are using the WebLogic kona/oracle driver for session persistence because
              the Oracle JDBC driver would not work for this purpose - we are using the
              Oracle OCI driver for our EJB persistence in a separate pool in the app
              server cluster.
              We attempted to configure our web cluster to work with in-memory session
              replication. We found the performance of the WebLogic proxy to be abysmal -
              causing a 5x to 10x performance degredation over shared JDBC persistence. We
              were running the proxy on WebLogic, which we were advised would be slow. Its
              performance is beyond slow, it is completely unusable and should NEVER be a
              recommended or even supported configuration. We do not wish to purchase
              separate licenses for iPlanet, refuse to run IIS in a production setting,
              and cannot use Apache until WebLogic 5.1, so we are stuck with shared JDBC
              persistence until we can upgrade to 5.1.
              Using JDBC session persistence with a shared persistent store amongst all
              the clustered web servers results in our users getting brand-new sessions
              populated with data from OTHER USERS' SESSIONS. This is very easy to
              replicate using the provided test JSP and java class. This behavior results
              in new users coming to the site and finding themselves logged in as other
              users.
              The test.jsp file simply accesses the session, prints out some information,
              and then adds a few values to the session. The JSP prints out the value of
              session.isNew(), the session's ID, and the number of values in the session
              space. If you hit this jsp with a new browser window, the session should be
              new, and the number of values should be zero.
              The test Java class hits a URL with this test.jsp file repeatedly, and
              checks to make sure that the session is empty. It keeps a counter of the
              number of hits which resulted in non-empty sessions and the total number of
              hits. Because this java class does not maintain cookie data of any kind and
              merely opens new HTTP connections, it should always receive a brand-new,
              non-empty session.
              When we set the JDBC session persistence property
              weblogic.httpd.session.persistentStoreShared=true and run the test, we see
              periodically see the test.jsp file receiving a brand-new (session.isNew() =
              true), yet non-empty (session.getValueNames().length != 0) session. This is
              extremely bad behavior and makes the shared JDBC session persistence setting
              worthless. We were able to duplicate this behavior with both a single server
              and multiple servers in a cluster.
              If we set weblogic.httpd.session.persistentStoreShared=false, then this test
              works fine. This also means that we cannot cluster web servers.
              To run the test, simply start a WebLogic instance using the provided
              properties file, put the jsp in the document-root somewhere, and then run
              SessionTest.java, providing the URL of the test JSP as the only command-line
              argument. You will need to modify the properties file to have the proper
              database settings and document-root. The java class will display a running
              tally of the number of hits, and the number of hits that result in
              non-empty, illegal sessions, with a total at the end.
              So, we are now in a position where we are completely unable to launch our
              site in a clustered, no-single-point-of-failure configuration. Obviously,
              clustering was one of the main reasons to choose WebLogic, and we are
              extremely distressed that we are unable to get this configuration to work.
              Any help would be appreciated.
              [web.standalone.properties]
              [SessionTest.java]
              [test.jsp]
              

    I hope this is not too far fetched, but we are expieriencing a similar
              problem with jms (messages are mixed up between queues). This happens only
              if we are using message persistence in an oracle db (everything works ok
              when we are not using persistent messages). Could it be that there is a
              serious bug in the jdbc code/oracle driver code or connection handling
              (regarding multi threading)? This would explain that, whenever you use
              persistence with oracle databases, messages/sessions (or other) are mixed
              up.
              - Falk
              "Grant Kushida" <[email protected]> wrote in message
              news:[email protected]...
              > We are attempting to launch a three-tier site with two clusters, one at
              the
              > web layer (JSP/servlet/images) and a separate cluster at the app server
              > layer (EJBs). We are running WebLogic server 4.5.1 Service Pack 8 on
              Solaris
              > 2.7. In production we use Solaris JDK 1.2.1.04, and in development we use
              > JavaSoft JDK 1.2.2. We are able to duplicate this problem with both JDKs.
              We
              > are using the WebLogic kona/oracle driver for session persistence because
              > the Oracle JDBC driver would not work for this purpose - we are using the
              > Oracle OCI driver for our EJB persistence in a separate pool in the app
              > server cluster.
              >
              > We attempted to configure our web cluster to work with in-memory session
              > replication. We found the performance of the WebLogic proxy to be
              abysmal -
              > causing a 5x to 10x performance degredation over shared JDBC persistence.
              We
              > were running the proxy on WebLogic, which we were advised would be slow.
              Its
              > performance is beyond slow, it is completely unusable and should NEVER be
              a
              > recommended or even supported configuration. We do not wish to purchase
              > separate licenses for iPlanet, refuse to run IIS in a production setting,
              > and cannot use Apache until WebLogic 5.1, so we are stuck with shared JDBC
              > persistence until we can upgrade to 5.1.
              >
              > Using JDBC session persistence with a shared persistent store amongst all
              > the clustered web servers results in our users getting brand-new sessions
              > populated with data from OTHER USERS' SESSIONS. This is very easy to
              > replicate using the provided test JSP and java class. This behavior
              results
              > in new users coming to the site and finding themselves logged in as other
              > users.
              >
              > The test.jsp file simply accesses the session, prints out some
              information,
              > and then adds a few values to the session. The JSP prints out the value of
              > session.isNew(), the session's ID, and the number of values in the session
              > space. If you hit this jsp with a new browser window, the session should
              be
              > new, and the number of values should be zero.
              >
              > The test Java class hits a URL with this test.jsp file repeatedly, and
              > checks to make sure that the session is empty. It keeps a counter of the
              > number of hits which resulted in non-empty sessions and the total number
              of
              > hits. Because this java class does not maintain cookie data of any kind
              and
              > merely opens new HTTP connections, it should always receive a brand-new,
              > non-empty session.
              >
              > When we set the JDBC session persistence property
              > weblogic.httpd.session.persistentStoreShared=true and run the test, we see
              > periodically see the test.jsp file receiving a brand-new (session.isNew()
              =
              > true), yet non-empty (session.getValueNames().length != 0) session. This
              is
              > extremely bad behavior and makes the shared JDBC session persistence
              setting
              > worthless. We were able to duplicate this behavior with both a single
              server
              > and multiple servers in a cluster.
              >
              > If we set weblogic.httpd.session.persistentStoreShared=false, then this
              test
              > works fine. This also means that we cannot cluster web servers.
              >
              > To run the test, simply start a WebLogic instance using the provided
              > properties file, put the jsp in the document-root somewhere, and then run
              > SessionTest.java, providing the URL of the test JSP as the only
              command-line
              > argument. You will need to modify the properties file to have the proper
              > database settings and document-root. The java class will display a running
              > tally of the number of hits, and the number of hits that result in
              > non-empty, illegal sessions, with a total at the end.
              >
              > So, we are now in a position where we are completely unable to launch our
              > site in a clustered, no-single-point-of-failure configuration. Obviously,
              > clustering was one of the main reasons to choose WebLogic, and we are
              > extremely distressed that we are unable to get this configuration to work.
              > Any help would be appreciated.
              >
              >
              >
              >
              

  • [svn] 939: Bug: BLZ-67 - Should turn off session persistence in the Tomcat server we ship.

    Revision: 939
    Author: [email protected]
    Date: 2008-03-26 13:35:44 -0700 (Wed, 26 Mar 2008)
    Log Message:
    Bug: BLZ-67 - Should turn off session persistence in the Tomcat server we ship.
    QA: No
    Doc: No
    Checkintests: Pass
    Details - Turning off session persistence in the version of Tomcat that ships with BlazeDS. We don't store much in the session so session persistence doesn't make much sense for us. Users should feel free to turn this back on if they feel they need it.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-67
    Modified Paths:
    blazeds/branches/3.0.x/servers/apache-tomcat-6.0.14/conf/context.xml

    Hi, thank you for your replies, I found out few things about my servlet, and its portability
    and i have few questions, although i marked this topic as answered i guess its ok to post
    I am using javax.servlet.context.tempdir to store my files in that servletcontext temporary directory. But i dont know how to give hyperlink
    of the modified files to the user for them to download the modified files.
    What i am using to get the tempdir i will paste
    File baseurl = (File)this.getServletContext().getAttribute("javax.servlet.context.tempdir");
    System.out.println(baseurl);
    baseurl = new File(baseurl.getAbsolutePath()+File.separator+"temp"+File.separator+"files");
    baseurl.mkdirs();so i am storing my files in that temp/files folder and the servlet processes them and modifies them, then how to present them as
    links to the user for download ?
    and as the servlet is multithreaded by nature, if my servlet gets 2 different requests with same file names, i guess one of them will be overwritten
    And i want to create unique directory for each request made to the servlet , so file names dont clash.
    one another thing is that i want my servlet to be executed by my <form action> only, I dont want the user to simply type url and trigger the servlet
    Reply A.S.A.P. please..
    Thanks and regards,
    Mihir Pandya

  • Windows server 2012 failover cluster error: Cluster resource 'Virtual Machine Configuration ... of type 'Virtual machine configuration in clustered role ... failed.

    I have two windows 2012 host server that are clustered using windows failover cluster feature. Each server is hosting four VMs. When migrating from Host2 to Host1, the migration failed with the following error:
    Cluster resource 'Virtual Machine Configuration SCPCSQLSRV01' of type 'Virtual Machine Configuration' in clustered role 'SCPCSQLSRV01' failed. The error code was '0x569' ('Logon failure: the user has not been granted the requested logon type at this computer.').
    When this happens, the VM that I was migrating can no longer be started even on the original host. The only remedy is to restart the host server.
    Any suggestion on resolving this problem?
    Thanks
    Ikad

    Thanks. The article referred to above gives the solution to my issue. There is a group policy that is applied to the OU where the host servers were placed. Doing gpupdate /force temporarily removes the problem. Unfortunately the NT Virtual Machine\Virtual
    Machines account is a special account that cannot be added like other accounts and granted the log on as a service right. The thread
    http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/d56f2eae-726e-409a-8813-670a406593e8 contains how it can be added which is by creating a group and running the command
    Net localgroup VMTest “NT Virtual Machine\Virtual Machines” /add
    to add it to a local group VMTest. VMTest is then assigned the right to log on as a service.
    Ikad

  • Stateless session bean in clustered environment

    Is there any option in ejbc (Stateless Session Bean) for clustered environment?
              Do I have to take care for clustered environment?
              

              Mukesh <[email protected]> wrote:
              >Is there any option in ejbc (Stateless Session Bean) for clustered environment?
              >Do I have to take care for clustered environment?
              Use the following line in your weblogic-ejb-jar.xml
              <stateless-bean-is-clusterable> true </stateless-bean-is-clusterable>
              This will make the container aware that your stateless bean is to be clustered.
              The ejbc can be run as usual.
              

  • Problems disabling restart session persistence in Tomcat

    I'm running Tomcat 5.5.17. I've been working on an application for quite some time when the tomcat logs suddenly started to fill up with the following errors each time I restart Tomcat:
    2006-09-29 21:15:10,539 | WARN | StandardSession.java | writeObject() | 1468 | Cannot serialize session attribute publicPictures for session 9184A48FEFC99FAA3573A4DE1F75CCD5
    I've searched the web, and found out that the reason for this is that Tomcats "Restart Session Persistence" is turned on. So how do I turn that off?
    According to a few sites in the web there should be a file called application.xml, in which I can put the line <Manager pathname=""/> to disable the Session Persistence manager. The problem is that on my Tomcat installation there's no such file.
    So I tried to create the file $CATALINA_HOME/conf/application.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN'
              'http://java.sun.com/dtd/application_1_3.dtd'>
    <application>
    <Manager pathname=""/>
    </application>But this had no effect at all. So can someone please explain to me how I can disable the Session Persistence manager?

    I had a similar problem in that during restarts sometimes I would get messages about null pointer exceptions which seemed to be related to attempted session persistence. I never paid a lot of attention but eventually decided to do something about it, i.e disable session persistence, since the errors seemed to slowdown restarts.
    Based on this:
    http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html
    I added a Manager element to my main Context element, using the standard manager class and setting the pathname attribute to an empty string:
    <Context path="/" debug="1" reloadable="true" crossContext="true">
         <Manager class="org.apache.catalina.session.StandardManager" pathname="" />
    </Context>
    Since the errors I was getting were sporadic anyway I cannot definitively say this fixed it but I have not seen any errors since making the change and shutdowns seem to go faster now.

  • Error: Element type "stateful-session-descriptor" must be declared ?

    Hi,
    while running the ant i am getting this error.
    jar_ejb:
    [jar] Building jar: D:\bdms\src\ejbdist\std_ejb_bdms_eapm.jar
    ejbc:
    [java]
    [java] ERROR: ejbc found errors while parsing the descriptor for src/ejbdis
    t/std_ejb_bdms_eapm.jar:
    [java]
    [java]
    [java]
    [java] ERROR: Error from ejbc: Error parsing file 'META-INF/weblogic-ejb-ja
    r.xml' at line: 394 column: 55. Element type "stateful-session-descriptor" must
    be declared.
    [java]
    [java]
    [java] ERROR: ejbc couldn't load descriptor from jar
    [java]
    [java] Java Result: 1
    Here with i have included the ejb-jar.xml & weblogic-ejb-jar.xml lines. I am using a service locator to call the ejb. please help me.
    ejb-jar.xml
    <session>
    <ejb-name>ValueListHandlerEJB</ejb-name>
    <home>com.pagination.ValueListHandlerEJBHome</home>
    <remote>com.pagination.ValueListHandlerEJBRemote</remote>
    <ejb-class>com.pagination.ValueListHandlerEJB</ejb-class>
    <session-type>Stateful</session-type>
    <transaction-type>Container</transaction-type>
    <resource-ref>
         <res-ref-name>jdbc/DataSource</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
    </resource-ref>
         </session>
    weblogic-ejb-jar.xml
    <weblogic-enterprise-bean>
    <ejb-name>ValueListHandlerEJB</ejb-name>
    <stateful-session-descriptor>
    <stateful-session-cache>
         <max-beans-in-cache>100</max-beans-in-cache>
         <idle-timeout-seconds>600</idle-timeout-seconds>
    </stateful-session-cache>
    </stateful-session-descriptor>
         <reference-descriptor>
    <resource-description>
              <res-ref-name>
    jdbc/DataSource
    </res-ref-name>
         <jndi-name>
    adslDataSource
    </jndi-name>
    </resource-description>
         </reference-descriptor>
         <enable-call-by-reference>True</enable-call-by-reference>
         <jndi-name>ValueListHandlerEJB</jndi-name>
    </weblogic-enterprise-bean>

    but a bean's deployment descriptor lies in the
    meta-inf folder, right?Sorry, my mistake. I was thinking of WAR files while writing. Thanks for pointing out.
    Regards,
    $ Carol.

  • Outlook credentials enterprise persistence vs logon session persistence - hosted Exchange

    We moved from an internal AD integrated Exchange 2010 environment to an external hosted Exchange 2010.  Prior to the move credentials were passed through and never needed.  Since the move a large number of Outlook clients have not been storing
    credentials correctly.  The credentials show up in the windows credential manager with "Logon Session" persistence which means they disappear after the next logoff or restart.  The option to remember credentials is checked when Outlook
    prompts the user.  Client machines are Windows 7 SP1 x64.  For Outlook 2010 14.0.7015.1000 I did not find a fix.  A workaround I've come up with on Outlook 2013 15.0.4569.1506 is to manually recreate each of the credential manager entries created
    by Outlook via "add a generic credential", which then stores them with "Enterprise" persistence which keeps the info across logoffs/restarts.  This solves the problem until the password expiration hits in 90 days at which point the
    new info has to be reentered into the credential manager.  These are the three generic credentials entries I am manually typing into the credential manager including the parentheses character for character, with the user's full email address as username
    in each case to gain enterprise persistence:
    Internet or network address: MS.Outlook.15:[email protected]:PUT
    Internet or network address: [email protected] (Windows Identity)
    Internet or network address: external.exchange.server.net
    local autodiscover override in use -
    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover]
    "domain.com"="\\\\domain.com\\sysvol\\domain.com\\scripts\\autodiscover.xml"
    "PreferLocalXML"=dword:00000001
    "ExcludeHttpsAutodiscoverDomain"=dword:00000001
    "ExcludeHttpsRootDomain"=dword:00000001
    "ExcludeScpLookup"=dword:00000001
    "ExcludeSrvRecord"=dword:00000001
    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover\RedirectServers]
    "external.exchange.server.net"=hex(0):
    Why is enterprise persistence not happening automatically when the user checks the option to remember the credentials at an Outlook prompt?

    Solved, it was a MS patch. After removing the KB2956087
    the problem disappeared. 

  • Different type of sessions

    hi guru,
    please tell me different types of session used in session method.
    thanks
    subhasis.

    A : Display all sceens
    N : Display no screen (completely in background)
    E : Dissplay screen if error occurs.
    Regards,
    Vishal

  • Session Persistence JDBC

    Hi
              I have read about the scope of session only for one web application.
              When I need to share the session between more than one web application, I
              think about use JDBC session persistence.
              Do you know if is it possible ?
              Thanks
              

    It's possible, please refer to
              http://www.weblogic.com/docs51/admindocs/http.html#sessionjdbc for details.
              Alex Rojkov
              http://www.ObjectReflection.com
              [email protected]
              We are coming soon...
              "Jin Group" <[email protected]> wrote in message
              news:[email protected]..
              > Hi
              > I have read about the scope of session only for one web application.
              > When I need to share the session between more than one web application, I
              > think about use JDBC session persistence.
              > Do you know if is it possible ?
              >
              > Thanks
              >
              >
              >
              >
              

  • FATAL: replicated HTTP session specified but clustering not enabled for webapp: /BV

              Hi,
              I tried to startup weblogic server 6.1 using
              in-memory replication, and the I got an error
              <Error> <HTTP> <FATAL: replicated HTTP sessioned specified but clustering not
              enabled for webapp: /bv>
              I set <param-name>PersistentStoreType</param-name><param-value>replicated</param-value>
              in weblogic.xml
              And, I sepecified in my console
              Deployment-> Web Applications -> bv -> Target cluster -> bvcluster.
              I have 2 nodes cluster environment using Solaris.
              Each node has 1 managed server joining this cluster.
              What am I missing? Please let me know.
              Thanks.
              hiromu
              

              Thank you for the reply.
              The target cluster for my web application is my cluster.
              When I checked the target server as well,
              then there is a server which is not a member of the cluster.
              I deleted the server name, then that error is gone.
              // hiromu
              ><html>
              >Interesting.
              ><br>You shouldn't get this if persistentStoreType is
              ><br>"replciated" . I just tried this and it works as expected.
              ><p>Did you re-deployed the webapp after making
              ><br>the following change in weblogic.xml?
              ><p>--
              ><br>Kumar
              

  • Cisco ace Load balancer not maintaining session persistence

    Hi All,
    We have observed from the IIS logs on the internal webservers that loadbalancer is not maintaining session persistence for two specific request for the internal servers.
    https://123.xyz.com/Webresource.axd
    https://123.xyz.com/ScriptResource.axd
    Error
    Webresource.axd : 500
    Scriptresource.axd: 404
    Session persistence is maintained for all other requests hitting loadbalancer.
    Issue is observerd on hits for these two specified components. WebResource.axd and ScriptResource.axd are Http Handlers used by ASP.NET and Ajax to add client-side scripting to the outgoing web page.
    For e.g /WebResource.axd d=t2GXfySdqWmJ-lZSI0KVbw2&t=634868473645172160 is valid for server 1 and return 200 response but the same request is seen on few other servers where the response is 404 even though load balancer cookie is same. This means that if the request for the both the axd contains a valid decrypter and it connects to the right server then the response seen is 200.
    The url passed by the user contains d and t parameters when are unique for each user session.
    Solution tried:
    Accessed website via another VIP without http redirect rule but could not see difference.
    Tried to match machine key across all servers : Failed . Could see the ‘d’ value different for each server.
    Load balancer VIP :
    x.x.x.x
    redirect: http > https
    SSL Offload : ON
    Poool:
    WEB1
    WEB2
    WEB3
    WEB4
    WEB5
    All servers listening on port 80
    sticky config:
    sticky ihttp-cookie cookie1 vip-1.1.1.1-80-stickyfarm
      cookie insert browser-expire
      replicate sticky
      serverfarm vip-1.1.1.1_80
    sticky http-cookie cookie1 vip-farm:1.1.1.1:443
      cookie insert browser-expire
      replicate sticky
      serverfarm farm:1.1.1.1:443
    Has anyone else come across similar issue?
    Can you plese check if there is any config on cisco ace that will ensure that session persistence is maintained for these 2 requests.
    Thank you for all the help.
    regards,
    Sangram

    Hello Sangram,
    We would need simultanous packet traces before and after the ACE to get to the root cause of this issue so I would recommend that you open a cisco tac case for more in depth troubleshooing of this issue.
    Joel Lamousnery
    CCIE R&S - 36768
    Engineer, Customer Support
    Technical Services

  • What type of Container Persistence should I choose �?

    Hi,
    I would like to know... what type of persistence should I choose to manage the entities bean.
    At first I choose CMP because it seems to be much easy to understood and maintain, and it seems to work fine with small queries...
    Every record of a table of muy RDBMS is represented by CMP Bean... �? is it true �?
    What happens if i will like to extract a big table with thousands and thousands records �? does this, affects to the performance of my server �? how can i control...�?
    Can I make complex queries with the CMP beans or should i use BMP beans in this case �?
    I do not know if the ejb-ql language will result helpful to perform complex queries...
    Can you help me �?
    Thank you....

    Hi,
    I would like to know... what type of persistence
    should I choose to manage the entities bean.CMP or BMP - those are the two choices.
    >
    At first I choose CMP because it seems to be much easy
    to understood and maintain, and it seems to work fine
    with small queries...
    Every record of a table of muy RDBMS is represented
    by CMP Bean... �? is it true �?True.
    >
    What happens if i will like to extract a big table
    with thousands and thousands records �? does this,
    affects to the performance of my server �? how can i
    control...�?Yes, indeed, it does affect performance.
    One way to handle that is to use a session bean to access all the data at once and then send back a collection of objects. There's a Core J2EE pattern called session facade that can help:
    http://java.sun.com/blueprints/corej2eepatterns/Patterns/SessionFacade.html

  • Session Failover and Clustering

              Let's say that we have two WebServers (NES) with the weblogic plugin (say WS1 and WS2) and a cluster with two WebLogicCommerce AppServers (say AS1 and AS2). Let's assume that each WebServer and AppServer runs on its own machine (total: 4 machines). Now, let's assume that the WebServer "obj.conf" files (on both WS1 and WS2) are setup so that they point to the servers in the cluster (WebLogicCluster="AS1:7601,AS2:7601").
              When a new request comes in to one of the WebServers (say WS1), the plugin will route it to one of the AppServers using Round-Robin (say AS1). A session will now be initiated in AS1 and it sends a response back to the client.
              Question 1: How does the other proxy in WS2 know that all future requests for this client need to be forwarded to AS1?
              Question 2: For failover, does the cluster automatically replicate the session state existing in AS1 onto AS2 before sending the response (does AS2 automatically become the secondary)?
              Now let's assume that AS1 crashes/dies. When the next request from the client comes to WS1 or WS2, they will forward it to AS1 (assuming that WS2 knows about the client session in AS1) . Since AS1 has crashed, will the client eventually get a timeout error message?
              Question 3: To ensure that the session failover happens so that AS2 gets the request instead (becomes the primary), do we need to setup a WebLogic Proxy Server? If so, why can't the plugins for NES provide the failover themselves?
              Thank you very much for your help!
              Giri
              

              Thank you very much for your responses. It has been very helpful and I am clear on the session/clustering stuff. I have new questions on EJB and clustering which I will post as a separate thread.
              Giri
              "Jason Rosenberg" <[email protected]> wrote:
              >And also, if the browser has cookies disabled, it is important for
              >the app server to embed the WebLogicSession info via url rewriting,
              >otherwise the proxy or NES will not be able to route the session
              >properly.
              >
              >So, in all http responses, be sure to pass the url string through
              >response.encodeURL(). This will do the right thing depending
              >on whether cookies are enabled or not.
              >
              >I've just only recently figured this out. Haven't actually tried it
              >all out yet, so forgive me if it is not quite this simple, but this
              >seems to be the gist of it...
              >
              >Jason
              >
              >
              >"Justin James" <[email protected]> wrote in message news:[email protected]...
              >>
              >> Giri,
              >>
              >> I'm not a weblogic representative, but I tried to replicate this proxing service inside a load balancing switch(BigIP) and I
              >discovered a few things. The weblogic server sets a cookie (WebLogicSession)that the webserver plugin uses to manage the proxying.
              >The cookie (found in the HTTP header information) contains encoded information about the primary and secondary application servers
              >that the session is bound too. Any web server can read the cookie to determine how to dispatch the request to the primary server.
              >If the primary server does not respond, the request is forwarded to the secondary server by the plugin. Regardless of cluster size,
              >the session is replicated to only one other server.
              >>
              >> <[email protected]> wrote:
              >> >Giri Alwar wrote:
              >> >
              >> >> I need a couple of clarifications. First with regard to Question 1, I understand that plugins provide load balancing and
              >failover but what I really was asking is how the plugin in WS2 knows that a session for the client has been initiated in AS1 as a
              >result of WS1 sending the initial request to AS1. If WS2 gets a future request from the client, it needs to know this to send the
              >request to AS1. Does the plugin talk to the cluster to find out if there is a primary and who it is?
              >> >>
              >> >
              >> >> I should have clarified that my other questions pertain to in-memory replication. If I do not persist the session in a database
              >then does the client get an error message (timeout) when AS1 goes down (assuming we use NES with the WebLogic plugin)?
              >> >
              >> >Plugins' know how to route requests based on cookies. If it can't reach the primary server it will automatically try secondary.
              >In your case it doesn't matter if it reaches to proxy 1 or proxy 2, it is still the same.
              >> >
              >> >- Prasad
              >> >
              >> >> To prevent this error message and achieve failover, do I need to use WebLogic as the proxy server? If so, why isn't the NES
              >plugin doing this?
              >> >
              >> >> Thanks.
              >> >> Giri
              >> >>
              >> >> Prasad Peddada <[email protected]> wrote:
              >> >> >Giri Alwar wrote:
              >> >> >
              >> >> >> Let's say that we have two WebServers (NES) with the weblogic plugin (say WS1 and WS2) and a cluster with two
              >WebLogicCommerce AppServers (say AS1 and AS2). Let's assume that each WebServer and AppServer runs on its own machine (total: 4
              >machines). Now, let's assume that the WebServer "obj.conf" files (on both WS1 and WS2) are setup so that they point to the servers
              >in the cluster (WebLogicCluster="AS1:7601,AS2:7601").
              >> >> >>
              >> >> >> When a new request comes in to one of the WebServers (say WS1), the plugin will route it to one of the AppServers using
              >Round-Robin (say AS1). A session will now be initiated in AS1 and it sends a response back to the client.
              >> >> >>
              >> >> >> Question 1: How does the other proxy in WS2 know that all future requests for this client need to be forwarded to AS1?
              >> >> >
              >> >> > Plugin takes care of load balancing and failover, it is all transparent to the client.
              >> >> >
              >> >> >
              >> >> >> Question 2: For failover, does the cluster automatically replicate the session state existing in AS1 onto AS2 before sending
              >the response (does AS2 automatically become the secondary)?
              >> >> >
              >> >> > If you have only two yes it is automatically your secondary. Yes, replication is synchronous.
              >> >> >
              >> >> >>
              >> >> >> Now let's assume that AS1 crashes/dies. When the next request from the client comes to WS1 or WS2, they will forward it to
              >AS1 (assuming that WS2 knows about the client session in AS1) . Since AS1 has crashed, will the client eventually get a timeout
              >error message?
              >> >> >
              >> >> > If you are using some kind of persistence then you will be able to retrieve the session information and since the server
              >is not available the request will automatically failover.
              >> >> >
              >> >> >> Question 3: To ensure that the session failover happens so that AS2 gets the request instead (becomes the primary), do we
              >need to setup a WebLogic Proxy Server? If so, why can't the plugins for NES provide the failover themselves?
              >> >> >
              >> >> > No, you need only one. Either NES or weblogic proxy.
              >> >> >
              >> >> >
              >> >> >> Thank you very much for your help!
              >> >> >> Giri
              >> >> >
              >> >> >- Prasad
              >> >> >
              >> >
              >>
              >
              >
              

Maybe you are looking for

  • How do I get rid of the underline in text - tried   style decoration:none

    I am trying to get rid of the underline on some text which is not a link. I have tried putting style decoration: none in various places and I still can't get rid of it. Any ideas? Here's my HTML <!doctype html> <div id="businesscircleportfolio">   <h

  • Regarding prmary key & index

    Hello, We are having a very long runtime for transaction FBL3N, to access the archived data. Regarding this, as per a SAP note 1135916, there should be an index on 'company code' & 'account number' in tables BSIS/BSAS. Please let me know how to check

  • How can I retrieve purchased tunes not authorized for my computer?

    I am told I have 79 purchased tunes from I Tunes Store that were not copied on to my computer because my computer was not authorized for those tunes. How did this happen & how can I correct the problem?

  • BAPI_GOODSMVT_CREATE movement type 344

    Hi , i want to convert unristricted stock to block stock, so i use movement 344. the thing is ,it is creating document but commit work and wait is failing. i am geeting mail in sap mailbox, updation is failed like that. i am not able to see that docu

  • The Condition for service price determination incomplete

    Dear experts, I run the System with EC&O Best Practice. Howerver, I can not enter Services on tab Service of Sales Order: Short text of Service, Quantity, UOM, Gross Price. the error "Condition for service price determination incomplete" occours when