How to achieve session failover when clustering tomcat6

Hi ,
I have followed SAP KB 1529429 - How to create a Tomcat cluster with LBR as load balancer and BusinessObjects Enterprise XI 3.1.
when I am shutting down one tomcat automatically the user is being throwed out of the session.
Regards,
Saikrishna

Gi,
sure, you can. This task is out of Scope of the SAP BI Product Suite and has to be achieved only on Tomcat Level.
You wont get any Support from SAP for this.
Please refer to the official Tomcat Documentation.
Apache Tomcat 7 (7.0.52) - Clustering/Session Replication HOW-TO
Regards
-Seb.

Similar Messages

  • How to make session invalid when user refresh the page?

    How to make session invalid when user refresh the page?

    I have a <form> in a JSP file that has another JSP file as an action.
    I have main.jsp that has <form> with action.jsp file as an action.
    Now when I submit the <form>, request forwarded to action.jsp and it will take the action. But this file is taking so long, hence user refresh the page again and again, hence duplicate request processing is occuring.
    I want to prevent this.

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

  • How to achieve seamless failover or site DR - Tuxedo 11gR1 Solaris 10?

    We are having two different servers - one Prod and one DR Server?
    We are running Tuxedo 11gR1 in both the servers.
    How can we achieve seamless fail-over in case the network connectivity of Prod goes down?
    Regards,
    Deb

    Hi Deb,
    Can you provide a bit more detail about your application and environment? How do requests enter the Tuxedo system? By way of a workstation client, a web service client, from a JEE application server such as WLS, etc.? When you say a server, do you literally mean a single host machine? Are you running Tuxedo in a clustered environment with multiple machines at each site? Is there a database involved? Are you using distributed transactions?
    Without knowing how clients are connected and some of the other information above, it's really hard to give much guidance. There is a white paper on configuring Tuxedo for high availability that may address some of your concerns at: http://www.oracle.com/technetwork/middleware/tuxedo/overview/tuxedo-ha-wp-2008-130747.pdf
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • How to reference session state in a list entry label

    You can use &<item>. to reference session state values which can then be used in titles and item labels but it seems it does not work in the label for a list entry (i.e. to build a menu).  Is there a workaround?
    thanks in advance
    PaulP

    OK I just realized that referencing session state doesn't work for lists used by Enkitec's NavBar plugin solution.  It does reference the &<ITEM>. correctly for normal APEX lists. Anyone know how to reference session state when using Enkitec's NavBar plugin solution?
    PaulP

  • Failover - How to achieve a transparent failover using SQLPlus

    AIX 5.3 Oracle Clusterware 10.2.0.4.0 Oracle Enterprise Edition 10.2.0.4.0
    This is the behavior I see from an Oracle Client session which is to be expected if I read RAC: Frequently Asked Questions [ID 220970.1] see below
    (1) SQLPlus session connected to NodeA
    (2) NodeA - Clusterware services stopped
    (3) NodeA-vip has failed over to Node B
    (4) SQLPlus session receives an error
    (5) SQLPlus establish new connection to NodeA-vip
    My question is how is a transparent SQLPLus session failover achieved as illustrated in [ID 339107.1] see below
    *** Dedicated Connections to a Migrated VIP Can Lose their Connection after the VIP is Switched Back [ID 339107.1] ***
    SQL> select instance_name from v$instance;
    INSTANCE_NAME
    rac11g1
    $ crsctl stop crs
    SQL> /
    INSTANCE_NAME
    rac11g2
    RAC: Frequently Asked Questions [ID 220970.1]
    *** Why do we have a Virtual IP (VIP) in Oracle RAC 10g or 11g? Why does it just return a dead connection when its primary node fails? ***
    The goal is application availability.
    When a node fails, the VIP associated with it is automatically failed over to some other node. When this occurs, the following things happen.
    (1) VIP detects public network failure which generates a FAN event.
    (2) the new node re-arps the world indicating a new MAC address for the IP.
    (3) connected clients subscribing to FAN immediately receive ORA-3113 error or equivalent. Those not subscribing to FAN will eventually time out.
    (4) New connection requests rapidly traverse the tnsnames.ora address list skipping over the dead nodes, instead of having to wait on TCP-IP timeouts
    Without using VIPs or FAN, clients connected to a node that died will often wait for a TCP timeout period (which can be up to 10 min) before getting an error.
    As a result, you don't really have a good HA solution without using VIPs and FAN. The easiest way to use FAN is to use an integrated client with Fast Connection Failover (FCF) such as JDBC, OCI, or ODP.NET.
    *** What do the VIP resources do once they detect a node has failed/gone down? Are the VIPs automatically acquired, and published, or is manual intervention required? Are VIPs mandatory? ***
    With Oracle RAC 10g or higher, each node requires a VIP. With Oracle RAC 11g Release 2, 3 additional SCAN vips are required for the cluster. When a node fails, the VIP associated with the failed node is automatically failed over to one of the other nodes in the cluster. When this occurs, two things happen:
    1. The new node re-arps the world indicating a new MAC address for this IP address. For directly connected clients, this usually causes them to see errors on their connections to the old address;
    2. Subsequent packets sent to the VIP go to the new node, which will send error RST packets back to the clients. This results in the clients getting errors immediately.
    In the case of existing SQL conenctions, errors will typically be in the form of ORA-3113 errors, while a new connection using an address list will select the next entry in the list. Without using VIPs, clients connected to a node that died will often wait for a TCP/IP timeout period before getting an error. This can be as long as 10 minutes or more. As a result, you don't really have a good HA solution without using VIPs.
    With Oracle RAC 11g Release 2, you can delegate the management of the VIPs to the cluster. If you do this, the Grid Naming Service (part of the Oracle Clusterware) will automatically allocated and manage all VIPs in the cluster. This requires a DHCP service on the public network.
    Thank you
    Steve

    Answer = Follow MetaLink 377100.1

  • How to achieve the project is obligatory entry when creating transport requ

    Hello
    How to achieve the project is obligatory entry when creating transport request

    In T-code SE03, under Administration -> Display/Change Request Attributes
    Select "SAP_CTS_PROJECT" and hit the change button and then change the value of "Default for All Clients" to Mandatory
    Hope this helps.
    Thanks,
    Naveed

  • How to achieve SUBMIT for the current page when I click other tab?

    Problem: How to achieve SUBMIT for the current page when I click other tab?
    Description: I have a two-page application and each page associates with a tab. Say page1 associates tab1 and page2 associates tab2. In each page, I have a submit button, a after submit process associated to the submit button, and a tabular form. For page1, I fill out the fields and hit the button. The page1 will appear again and I can see the data I have insert. However, If I fill out the fields and click the tab2 (page 2) instead. when I come back to page1, the data I filled out are all gone. Is there any way in HTML DB to force the submit in the current page after you click other page. If use JavaScript, what is code looks like.
    Appreciate your time and your answer.
    Mike

    Scott,
    just for clarity, if I understood correctly what you said there are two possibilities:
    1) keep the standard tab branch and give up the possibility of validating page items. Below you can find an example of such cases.
    2) Replace the template substitution string and perform a "custom" button-like submit also adding a branch to the main page associated with the tab. Page items will be validated if the branch firing point is set after the validations.
    I couldn't find an example of the latter, but I found easily an example of the former:
    it's the "Report attributes", page 420 of app 4000.
    If you enter 'aaa' in the "Number of rows" form field and then you press "apply changes", htmldb correctly displays an inline error message saying that the value must be numeric. On the contrary, if you click on the "Region Definition" tab, htmldb takes you to a page showing an oracle exception:
    ORA-20001: Error in DML: p_rowid=4785927011172906402, p_alt_rowid=ID, p_rowid2=, p_alt_rowid2=. ORA-20001: Invalid numeric value aaa for column PLUG_QUERY_NUM_ROWS
    Bye,
    Flavio

  • I wander how to achieve a project is a must to be entered when creating TR

    I wander how to achieve a project is a must to be entered when creating an transport request

    I found solution

  • My previous session disappeared when I updated, how can I get it back?

    My previous session disappeared when I updated, how can I get it back?

    If you go to the History menu, is "Restore Previous Session" available? You can check that either:
    * "3-bar" menu button > History
    * classic menu bar: History
    If it's grayed out, then that's a bad sign.
    Do not close Firefox. First, try to rescue the following files:
    Open your current Firefox settings (AKA Firefox profile) folder using either
    * "3-bar" menu button > "?" button > Troubleshooting Information
    * (menu bar) Help > Troubleshooting Information
    * type or paste about:support in the address bar and press Enter
    In the first table on the page, click the "Show Folder" button.
    In the window that launches, scroll down:
    (1) Double-click into the '''sessionstore-backups''' folder. Anything from the relevant date/time? If so, copy it to a safe location such as your Documents folder or Desktop.
    (2) Back at the main level, scroll down to the sessionstore file(s). Same question. If so, copy it to a safe location such as your Documents folder or Desktop.
    The kinds of files you may find among your sessionstore files are:
    * sessionstore.js and recovery.js: the windows and tabs in your currently live Firefox session (or, if Firefox is closed, your last session)
    * recovery.bak: a backup copy of recovery.js
    * previous.js: the windows and tabs in your last Firefox session; sessionstore.bak for pre-33 versions of Firefox
    * upgrade.js-''build_id'': the windows and tabs in the Firefox session that was live at the time of your last update; sessionstore.bak-''datetime'' for pre-33 versions of Firefox
    If you come up with something promising, you may be able to have Firefox use it for your next session (details if relevant).

  • How to release sessions  on db server when netwok outage occur

    hi,
    my database in 10g release 2.About 500 users are remotely connected.due to network breakage or light off at user side the clients disconnect from servers but their session still connected to database server .next time when users connect again then database server hang .how can i resolve this issue means when client disconnect from server then their sessions also disconnect from database server.
    thx

    Duplicate post.
    Please continue instead with
    how to release sessions  on db server when netwok outage occur

  • How to achieve the best quality when doing a narration?

    Hello,
    I'm trying to figure out how to achieve the best possible narration in a documentary I'm doing using the FCP voice over tool, a USB mic, and Final Cut Studio's audio filters. Am I on the right track? How do I clean up an average voice over narration? Do I need additional equipment? Any advice would be appreciated.
    Thanks,
    Jordan

    The best thing you can do is to record it properly in the first place - if you want it to sound good. The environment you record in is VERY important as is the choice of mic you use ... most of the consumer USB mics aren't all that great in terms of quality.
    Record in an acoustically flat room with good sound dampening. Even a clothes closet will do in a pinch. Record through a mixer so you can monitor the VO artist as they record. I've found it better to record to tape (camera or VTR) with a pro mic than to use FCP's voice over tool.
    -DH

  • How to achieve BC4J stateful management in a web app?

    I have a web application developed with JSP, Struts as the view / controller layer and BC4J as the model layer.
    I am not using the complete ADF framework. Just plain struts, JSP and BC4J.
    What I want to do is to have one struts action to set a
    query condition on a view object and execute the query.
    Then i release the application module. In another struts action I want to get the same application module with the
    viewobject query set.
    Pseudo for Action 1:
    try{
    Configuration.createRootApplicationModule("test.bc.AppModule", "AppModuleLocal");
    .. get view object
    .. build and perform the query on the view object.
    finally
    Configuration.releaseRootApplicationModule(am, true);
    pseudo for action2:
    try{
    Configuration.createRootApplicationModule("test.bc.AppModule", "AppModuleLocal");
    .. get view object with the query stored
    .. use the results.
    finally
    Configuration.releaseRootApplicationModule(am, true);
    I cannot make this work. If I put the am from action1 in the session object and retrieves it from the session in action2 it works. But I need to release the appmodule in action 1 since I have no guarantees that the user will run action2..
    I have read the paper of Steve Muench "Understanding Application Module Pooling Concepts and: Configuration Parameters"
    This document says:
    "ADF application modules provides the ability to snapshot and reactivate their pending state to XML (stored on the file system or in the database), and the ADF application module pooling mechanism leverages this capability to deliver a "managed state" option to web application developers that simplifies building applications like the example just given.
    As a performance optimization, when an instance of an AM is returned to the pool in "managed state" mode, the pool keeps track that the AM is referenced by that particular session. The AM instance is still in the pool and available for use, but it would prefer to be used by the same session that was using it last time because maintaining this so-called "session affinity" improves performance.
    I have set my bc4j configurations to
    releasmode = STATEFUL
    jbo.passivationstore = databse
    jbo.server.internal_connection= my jdbc connection
    But the appmodule returned in action2 is not the same as the one returned in action1.
    I am using jdev 9052 and deploying to oc4j 904 standalone.
    I guess I have to use som other commands for retrieving/ releasing the AM or set some properties on it, but I have not found any documentation for this.
    Any tips on how to achieve this bc4j session state to work in a plain struts , bc4j environment is appreciated.

    The Configuration.createRootApplicationModule() and companion releaseRootApplicationModule() API's are not for use in web applications. They are designed for use by simple command-line console programs.
    Using the BC4J application module pool programmatically in a web environment should be done like the JDeveloper 9.0.3/9.0.4 "Pooling" sample illustrates.
    In the JDev 9.0.3 or 9.0.4 version, see the sample project under ./BC4J/samples/Pooling
    Hope this helps.

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

  • AM without session failover set up?

    Generally I have at least 2 servers for redundancy and plan 2 servers to host AM behind a load balancer. Unfortunately I am unable to support message queue and berkeley sleepycat DB which is required for session failover. So I am curious what the session behavior is without the session failover set up. When one AM server goes down and the other is used does the user click on a link and is asked to login again? Wondering how graceful it is.

    Hi.
    I have been kind of struggling with session failover for sometime now (it worked perfectly with 2003Q4 though).
    Once you have a session queue / DB established, this is how things proceed:
    1. User hits load balancer, which directs him / her to one of the servers.
    2. User logs in. Load balancer maintains a sticky session. Future requests go to the same server.
    3. Say that server goes down. User clicks. Load balancer figures out that server is down, redirects user to another AM server.
    4. If you have session failover in place, user can continue to work without logging in (technically!).
    It was seamless with 2003Q4. We pulled the cable on one AM server (so resulting DS, DPS, AM and message broker all went offline), and still the user's session transitioned to the other server.
    If you do get session failover to work with 2005Q4, would be grateful if you could post something about it.

Maybe you are looking for