Http session failover

Friends,
          We have WebLogic 8.1 SP2 in two linux machines and Apache in two seperate linux machines in front of WL machines as software load balancer.Apache machines are load balanced by cisco lb
          Cisco LB->Apache(Proxy plugin)->WebLogic
          All sticky session and we don't have weblogic clustering license.
          We have a deployed J2EE application and it have 5 pages to enable a customer product.In first page, customer type some data and validate some data against DB&Legacy and then click on the next button and validate some data against DB&Legacy in the second page... and on the 5th page, we commit it.All the activities are interrelated.
          What happens to the user session if the first machine fails during his activity on the browser? Does he need to relogin again? Or the weblogic proxy plugin has the capability to take his session to the second machine without losing data?
          Thanks
          Robot

User has to login again.
          Since there is no cluster license, the session cookie that weblogic server created has information of only one server and session is created on only one server.
          In your scneario, the plug-in will route the request to another server.It sends the cookie ( in form of http header) to the new server, but the new server cannot identify the session cookie since it is not there in-memory.

Similar Messages

  • In-memory replication of http session is not working in BEA7 cluster

              Hi everyone,
              I have 3 managed servers in Bea7.0 SP4 in a cluster. The client requests are sent
              through apache web server. I have given cluster address as URL in httpd.conf of
              apache server which sends the client requests for dynamic pages such as JSPs and
              servlets to the weblogic cluster.
              Load balancing is working fine. I ensured this from the log files of all the 3
              servers. All the 3 servers are getting different client requests and thus load
              balancing is working.
              Now, I wanted to achieve Fail-over. I do not think that i should use proxy plug-in
              for this. I feel the cluster itself will handle fail-over provided i make the
              http session as memory replicated.
              I updated the weblogic.xml with the following entry :
              <session-descriptor>
              <param-name>PersistentStoreType</param-name>
              <param-value>replicated</param-value>
              </session-param>
              </session-descriptor>
              I guess this is sufficient to make the http session as cluster aware.
              But when I shutdown server1, the user connected to server1 will be kicked out
              of the session and come to login page through server2 or server3 which are running
              fine.
              Could anyone help me to achieve http session as cluster aware. Does it indicate
              that I have to go for WLS proxy – HttpClusterServlet to achieve fail over for
              http session ?
              BTW, for your info, i am using setAttribute() and getAttribute() while manipulating
              the session.
              thanks in advance.
              

              Hi Ryan,
              Thanks for ur valuable input.
              I can see failover working.
              But, I can not continue with the same session in my application.
              I printed session Ids before and after failover, I found both are different.
              I guess session replication is a responsibility of weblogic/apache plugin.
              If not please let me know which all settings I should do to make failover working?
              Thanks again.
              Plad
              "ryan upton" <ryanjupton at learningvoyage dot com> wrote:
              >Plad,
              >
              >Are you trying to gracefully shut down the server? If you are then the
              >problem that you say you can't identify is simply the server's default
              >behavior which is to wait for all non-replicated sessions to be dropped
              >or
              >timed out before killing the process. Try forcing the shutdown: kill
              >-9 the
              >PID or CTRL-C if you started the server from the command line. You can
              >also
              >check the ``Ignore Sessions During Shutdown" checkbox under the server's
              >control tab in the admin console, this should allow you to shut down
              >gracefully without waiting for session timeout. BTW your sequence is
              >off
              >in #5 below, the replication doesn't occur upon failure, the replication
              >has
              >already happened once you created the session object on the first server,
              >I
              >think maybe you're confusing replication with failover.
              >
              >~RU
              >
              >"Plad" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Hi,
              >> I have 2 managed servers in a cluster.
              >>
              >> 1. I have got a DNS name configured which maps to these 2 managed server's
              >IP
              >> addresses.
              >> 2. I can browse my site using this DNS name.
              >> In HTTPD.conf I have :
              >>
              >> ServerName dev.a.b.net
              >>
              >> <IfModule mod_weblogic.c>
              >> WebLogicCluster 10.1.38.232:7023,10.1.34.51:7023
              >> MatchExpression *.*
              >> </IfModule>
              >>
              >> LoadModule weblogic_module modules/mod_wl_20.so
              >>
              >> 3. I have adeded session descriptor in weblogic.xml , also enabled
              >proxy
              >plugin
              >> in weblogic console.
              >>
              >> 4. I tested accessing my application using DNS url after shutting down
              >alternatively
              >> each manaed server. I can access application.
              >>
              >> 5. Now, problem comes when I access a managed server1 , keeping server2
              >down.
              >> I am able to access my application.
              >> Now, I start the server2.
              >> (Here I am supposing that replication should occur)
              >> Then I am shutting down server1.
              >> But, this time the server log shows me following:
              >>
              >>
              >> 9:58:51 AM GMT+05:30 NOTICE Web application(s) chlist still have
              >non-replicated
              >> sessions after 2 minutes of initiating SUSPEND. Waiting for non-replicated
              >sessions
              >> to finish.
              >> 10:00:51 AM GMT+05:30 NOTICE Web application(s) chlist still have
              >non-replicated
              >> sessions after 4 minutes of initiating SUSPEND. Waiting for non-replicated
              >sessions
              >> to finish.
              >>
              >> I am unable to make out where the problem is?
              >> Can it be a problem of Liecense? Is there any specialcluster liecense
              >for
              >weblogic8?
              >>
              >> Hoping to get replies.
              >> Thanx.
              >> Plad
              >>
              >> "ryan upton" <ryanjupton at learningvoyage dot com> wrote:
              >> >See my reply to your first post, but I've also added a few comments
              >here.
              >> >
              >> >"jyothi" <[email protected]> wrote in message
              >> >news:[email protected]...
              >> >>
              >> >> I guess someone from bea support team only can answer both your
              >question
              >> >and mine.
              >> >> As per my knowledge, we do not need to do any setup at Apache
              >side
              >> >regarding
              >> >> cluster other than mentioning cluster address as URL while
              >contacting
              >> >WLS
              >> >> from apache.
              >> >>
              >> >> I hope someone from Bea, will help us. I do not think that we
              >> >go for
              >> >WLS
              >> >> proxy plug-in using HttpClusterServlet for making session replication.
              >> > I
              >> >strongly
              >> >> feel that the cluster itself be able to manage the fail-over of
              >> >http
              >> >sessions
              >> >> provided we put the entry "PersistentStoreType" in weblogic.xml
              >> >regarding
              >> >> the session replication.
              >> >>
              >> >
              >> >The cluster does handle the management of Sessions. The clustered
              >> >applications still create the Session objects and the cluster manages
              >> >them
              >> >as per your deployment descriptor settings (replicated, JDBC, File)
              >however
              >> >the proxy has to be aware of which server the client has an affinity
              >> >for
              >> >(only with replicated sessions) and it does that by reading a cookie
              >> >passed
              >> >back from the server that handled the initial request and created
              >the
              >> >primary session object. The proxy has a list of both the primary
              >and
              >> >secondary server locations from this cookie that it can use to failover
              >> >the
              >> >request if the primary server fails. Clusters _DO NOT_ failover nor
              >> >do they
              >> >load balance, that's the job of your proxy, whether you're using the
              >> >HTTPClusterServlet, WLS Plug-in or a more sophisticated hardware load
              >> >balancer like Big IPs F5
              >> >
              >> >> jyothi
              >> >>
              >> >
              >> >~RU
              >> >
              >> >
              >>
              >
              >
              

  • Session-failover-enabled not working in iWS6 with a FileStore

    I'm trying to use a FileStore to implement session persistence using IWSSessionManager. I have the following in my web-apps.xml:
    <web-app uri="/Banking" dir="c:/java/online">
    <session-manager class='com.iplanet.server.http.session.IWSSessionManager'>
    <init-param>
    <param-name>session-data-store</param-name>
    <param-value>com.iplanet.server.http.session.FileStore</param-value>
    </init-param>
    <init-param>
    <param-name>session-data-dir</param-name>
    <param-value>c:/iplanet/servers/SessionData</param-value>
    </init-param>
    <init-param>
    <param-name>session-failover-enabled</param-name>
    <param-value>false</param-value>
    </init-param>
    </session-manager>
    </web-app>
    I'm seeing the following exception in my log:
    [12/Jun/2002:10:10:56] info ( 320): java.io.NotSerializableException: com.iplanet.server.http.servlet.WebApplication
    at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
    at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
    at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
    at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
    at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
    at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
    at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
    at java.util.Hashtable.writeObject(Hashtable.java:764)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1864)
    at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
    at com.iplanet.server.http.session.IWSHttpSession.writeObject(IWSHttpSession.java:764)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1864)
    at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
    at com.iplanet.server.http.session.FileStore.save(FileStore.java:167)
    at com.iplanet.server.http.session.IWSSessionManager.update(IWSSessionManager.java:499)
    at com.iplanet.server.http.servlet.NSHttpServletRequest.closeInputStream (NSHttpServletRequest.java:612)
    at com.iplanet.server.http.servlet.NSServletRunner.servicePostProcess(NSServletRunner.java:857)
    at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:942)
    at com.iplanet.server.http.servlet.WebApplication.service(WebApplication.java:1065)
    at com.iplanet.server.http.servlet.NSServletRunner.ServiceWebApp(NSServletRunner.java:959)
    Any ideas what's wrong?
    I should note that I don't think it is because I am storing non-serializable things in the session attributes. I think this because originally I was getting an exception that said that a specific attribute wasn't serializable. I changed the class definition of the class I was storing in that attribute to include "implements java.io.Serializable" and that problem went away.

    Hi Sija,
    Can i have detailed scenario in your cluster configuration.
    Means you are saying that going to start cluster package manually, if it is right please make sure that you had the same copy of start, instance profiles of NodeA to Node B. Means you need to maintain two startup, two instance profiles for both nodes. In a normal situation it will picik the profile of node A to start databse from A node. But in a failover situation it will not pick node A profile to start, it should pick Node B s profiles.
    Just make a copy from node A and change the profile name accordingly to Node b. Then try to restart.
    Regards
    Nick Loy

  • Access Manager 7.1 Session Failover

    Hello,
    I am trying to do a session failover with access Manager 7.1.
    My Infrastructure:
    OS: Solaris 10
    2 Solaris Servers dedicated to 4 LDAP instances (2 each)
    2 Solaris Servers dedicated to 2 LDAP Proxy servers configured to access 4 LDAP instances.
    2 Solaris Servers dedicated to 2 Sun Application Server 8.2 running 2 instances of Access Manager sharing the 4 LDAP instances through Proxy.
    2 Solaris Servers dedicated to 2 instances of JMS servers (1 on each) with Access Manager Session DB configured. JMS is running on cluster mode.
    1 Solaris server for Webserver 7.0 configured for Load Balancing (loadbalancer.xml).
    Configuration:
    2 instances of Access Manager on separate solaris boxes use the same LDAP instance(s).
    Access Manager is configured for session failover using amsfoconfig as documented.
    The Session failover instances where started as documented
    1.     Start session DB using amsfo script
    2.     Start the Access Manager instances (by Starting DAS)
    3.     Start Webserver
    My Problem:
    Session Failover does not work. The Amsession log throws
    ERROR: JMQSessionRepository.save(): failed to save Session
    java.lang.NullPointerException
    at com.iplanet.dpro.session.jmqdb.PersistSession.setString(PersistSession.java:310)
    at com.iplanet.dpro.session.jmqdb.JMQSessionRepository.save(JMQSessionRepository.java:357)
    at com.iplanet.dpro.session.service.SessionService.saveForFailover(SessionService.java:2812)
    AmSessionMonitor file continuously throws below error and fills up the disk (20 GB ) space quickly:
    04/24/2007 04:28:13:450 PM EDT: Thread[amSessionMonitor,5,main]
    WARNING: SessionMonitor runtime exception
    java.lang.NullPointerException
    at com.iplanet.dpro.session.service.SessionService.locateCurrentHostServer(SessionService.java:1762)
    at com.iplanet.dpro.session.service.SessionService.getCurrentHostServer(SessionService.java:1731)
    at com.iplanet.dpro.session.service.SessionMonitor.run(SessionMonitor.java:94)
    JMS queue Log:
    Sun Java(tm) System Message Queue 3.7
    Sun Microsystems, Inc.
    Version: 3.7 UR1 (Build 9-b)
    Compile: Sun Jun 18 22:11:21 PDT 2006
    Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
    SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
    This product includes code licensed from RSA Data Security.
    ================================================================================
    Java Runtime: 1.5.0_09 Sun Microsystems Inc. /usr/jdk/instances/jdk1.5.0/jre
    [18/Apr/2007:09:14:28 EDT] License: Sun Java(tm) System Message Queue 3.7 UR1 Enterprise Edition
    [18/Apr/2007:09:14:29 EDT] IMQ_HOME=/
    "log.txt" 725 lines, 61600 characters
    Magic/Version: 469754818/301 Size: 116 Type: ACKNOWLEDGE(24)
    Expiration: 0 Timestamp: 1177446120954
    Source IP: 172.31.120.44(c0:ca:66:ec:a9:d5) Port: 60437 Sequence: 32
    Property Offset: 76 Property Size: 0
    Encryption: 0 Priority: 5
    Flags: consumerID: 0
    TransactionID: 0
    MessageID: 32-172.31.120.44(c0:ca:66:ec:a9:d5)-60437-1177446120954
    Properties: null
    Message Body: 40 bytes [3052053123717449216:16-172.31.120.44(b1:6a:3:39:7d:6)-60434-1177446116385]
    Internal Buffers (useDirect=false):
    Fixed Header Buffer:java.nio.HeapByteBuffer[pos=0 lim=72 cap=72]
    com.sun.messaging.jmq.jmsserver.util.BrokerException: Internal Error: Unable to complete processing acks: Unknown consumer [consumer:30520
    53123717449216, type=NONE]
    at com.sun.messaging.jmq.jmsserver.data.handlers.AckHandler.handleAcks(AckHandler.java:256)
    at com.sun.messaging.jmq.jmsserver.data.handlers.AckHandler.handle(AckHandler.java:166)
    at com.sun.messaging.jmq.jmsserver.data.PacketRouter.handleMessage(PacketRouter.java:146)
    at com.sun.messaging.jmq.jmsserver.service.imq.IMQConnection.readData(IMQConnection.java:1856)
    at com.sun.messaging.jmq.jmsserver.service.imq.IMQConnection.process(IMQConnection.java:816)
    at com.sun.messaging.jmq.jmsserver.service.imq.OperationRunnable.process(OperationRunnable.java:141)
    at com.sun.messaging.jmq.jmsserver.util.pool.BasicRunnable.run(BasicRunnable.java:459)
    at java.lang.Thread.run(Thread.java:595)
    [24/Apr/2007:16:22:05 EDT] [B1071]: Established cluster connection : testuidp02.dol.state.nj.us/172.31.120.45:7676 (aminstance)
    [24/Apr/2007:16:23:00 EDT] [B1066]: Closing: [email protected]:57590->jms:60425 because "[B0061]: Client exited without closing con
    nections". Count=1
    [24/Apr/2007:16:24:37 EDT] [B1065]: Accepting: [email protected]:42435->jms:60425. Count=2
    [24/Apr/2007:16:26:15 EDT] [B1066]: Closing: [email protected]:42435->jms:60425 because "[B0061]: Client exited without closing con
    nections". Count=1
    Access Manager via load balancer web server works fine with out session failover configuration.
    I noticed through forums that Accessmanager 2005Q4 had similar problem and was fixed with a patch.
    Will somebody please help who has done session failover with AM7.1?
    Thanks
    Kris

    Yep, that was me struggling with 2005Q4 before they released a patch (120954-03 if I am not mistaken).
    1. Have you configured your AM installation as a site?
    2. Have you added a secondary configuration in the session tab?
    A restart will be required after that. Try setting log levels to debug. When AM webserver comes up and brings the application live, you'll see information regarding the secondary configuration, and whether things are actually in place or not.
    Hope this helps.
    Ankush
    http://www.iamcg.net

  • Sun Access Manager 2005Q1 session failover is not working

    Hi All
    I m using Sun access manager 2005Q1,message queue 2005Q1, Sun Directory server 5.2 ,BerkelyDb 4.2.52 and radware hardware load balancer with sticky session.
    I m have configured message queue and BerkeleyDB and both are running with any error.
    I m using http://docs.sun.com/source/817-7644/ch5_scenarios.html#wp41008 doc for session failover.
    Simple failover is working fine but the Session failover is not working.
    Any body has done session failover with Sun Access manager 2005 Q1 I m trying to resolve this issue last two month.
    Please it is urgent.

    It works fine in 2005Q4, after applying a patch 120954 if I am not mistaken. But 2005Q4 and 2005Q1 are probably different in terms of session failover (site configuration etc.)
    1. Stop both AM servers
    2. Set logging to debug mode in AMConfig.properties.
    3. Delete / move everything in /var/opt/SUNWam/debug
    4. tail -f /var/opt/SUNWam/debug/amSession
    5. Post that file here... you should be able to see if session failover is enabled etc....
    hope this helps.

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

  • Entity remote in clustered http session ?

              we put a entity remote object into a http session which is replicated
              across a cluster of 3 linux machines ( each with 1 weblogic 6.1 SP2).
              http session replication works fine: the entity is accessible on every
              machine in this cluster.
              it seems that there is no failover for entity remote object in this
              case: i kill the server where the entity was originally created. the
              web application just reports an "10.5.1 500 Internal Server Error".
              the server log of the machine where the current request was executed
              says:
              1.
              Removing solarium jvmid:-995414765884053603S:192.168.145.41:
              [2357,2357,7002,7002,2357,7002,-1]:beacluster.hybris.de:hybr
              is:solarium from cluster view due to PeerGone
              ( solarium is the killed server; beacluster the cluster DNS name )
              2.
              Removing -995414765884053603S:192.168.145.41:[2357,2357,7002
              ,7002,2357,7002,-1]:beacluster.hybris.de:hybris:solarium to
              the cluster
              3.
              [WebAppServletContext(729829,dummyweb,/dummyweb)] Servlet fa
              iled with IOException
              java.rmi.ConnectException: Unable to get direct or routed connection to:
              '-995414765884053603S:192.168.145.41:[2357,2357,7002,7002,2357,7002,-1]:beacluster.hybris.de:hybris:solarium'
                   at
              weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
                   at
              weblogic.rmi.cluster.EntityRemoteRef.privateInvoke(EntityRemoteRef.java:144)
                   at
              weblogic.rmi.cluster.EntityRemoteRef.invoke(EntityRemoteRef.java:115)
                   at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
                   at $Proxy86.getText(Unknown Source)
                   at jsp_servlet.__dummyEntity._jspService(__dummyEntity.java:148)
                   at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
                   at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
                   at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
                   at
              weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
                   at
              weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              thanks in advance,
              axel grossmann.
              

    HTTP session is only replicated to the secondary server, not all servers in
              the cluster.
              Peace,
              Cameron Purdy
              Tangosol, Inc.
              Clustering Weblogic? You're either using Coherence, or you should be!
              Download a Tangosol Coherence eval today at http://www.tangosol.com/
              "Axel Großmann" <[email protected]> wrote in message
              news:[email protected]...
              >
              > we put a entity remote object into a http session which is replicated
              > across a cluster of 3 linux machines ( each with 1 weblogic 6.1 SP2).
              >
              > http session replication works fine: the entity is accessible on every
              > machine in this cluster.
              >
              > it seems that there is no failover for entity remote object in this
              > case: i kill the server where the entity was originally created. the
              > web application just reports an "10.5.1 500 Internal Server Error".
              >
              > the server log of the machine where the current request was executed
              > says:
              >
              > 1.
              > Removing solarium jvmid:-995414765884053603S:192.168.145.41:
              >
              > [2357,2357,7002,7002,2357,7002,-1]:beacluster.hybris.de:hybr
              > is:solarium from cluster view due to PeerGone
              >
              > ( solarium is the killed server; beacluster the cluster DNS name )
              >
              > 2.
              > Removing -995414765884053603S:192.168.145.41:[2357,2357,7002
              > ,7002,2357,7002,-1]:beacluster.hybris.de:hybris:solarium to
              > the cluster
              >
              > 3.
              > [WebAppServletContext(729829,dummyweb,/dummyweb)] Servlet fa
              > iled with IOException
              > java.rmi.ConnectException: Unable to get direct or routed connection to:
              >
              '-995414765884053603S:192.168.145.41:[2357,2357,7002,7002,2357,7002,-1]:beac
              luster.hybris.de:hybris:solarium'
              > at
              >
              weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.
              java:85)
              > at
              >
              weblogic.rmi.cluster.EntityRemoteRef.privateInvoke(EntityRemoteRef.java:144)
              > at
              > weblogic.rmi.cluster.EntityRemoteRef.invoke(EntityRemoteRef.java:115)
              > at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
              > at $Proxy86.getText(Unknown Source)
              > at jsp_servlet.__dummyEntity._jspService(__dummyEntity.java:148)
              > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
              > at
              >
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :265)
              > at
              >
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :200)
              > at
              >
              weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
              ntext.java:2495)
              > at
              >
              weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
              :2204)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >
              > thanks in advance,
              > axel grossmann.
              

  • Session Failover Documentation

    Is there any detailed documentation available concerning the configuration of session failover in the Java EE 5 preview?
    Michael

    Hello Michael,
    to enable Session Failover, open the <b>application-j2ee-engine.xml</b> file and set:
    <b> fail-over-enable mode="on_request" </b>
    All the possible options are:
    <b>disable</b> – failover is not enabled.
    <b>on_request</b> – the HTTP session is serialized after completing each request.
    <b>on_attribute</b> – the HTTP session is serialized every time an attribute is added, changed, or removed from the HTTP session.
    Greetings,
    Bobby

  • Cannot Store HTTP Session error

    We are using SAP MII Version 12.0.11 Build(19)
    In the Netweaver SAP logs we are getting scores of the following error:
    application [XMII] Cannot store HTTP session with id [(J2EE1985000)ID1148896350DB00216050084636765028End] to failover. Session data may be lost. Probably session data is not serializable or a failover storage error has occurred.
    The error is: com.sap.engine.services.failover.exceptions.PersistentStorageException:
    Exception id: [00215AD51B4000C00000922A000017EC00049425438C91E7]
    This is not a "High Availability" server and there isn't a failover storage.
    What does this error really mean? Any ideas?

    It would appear that you are on the latest patch, and I wonder if this issue you mention is a result of item #5 where it mentions that "Session data is not serialized":  https://service.sap.com/sap/support/notes/1512526

  • How to close a HTTP session when a user closes the window

    Hi,
    I am having problems when closing the browser of a BW web report. After I closed the browser by going File->close, I ran SM04 and found out the Plugin HTTP session hangs at the server side.
    How can we terminate the Plugin HTTP session at the server side when user closes the internet browser?
    I did implement a logoff function at my web template and this was implimented on the Menu page, if user clicks on the logoff, the Plugin HTTP session is terminated at server side correctly.
    If user navigates to the other pages from the main page... then the logoff function was not implimented in the other pages. So many of the users are closing the windows directly. Eevn if we impliment logoff in all the subpages, As you know, 50% of time user will close the report by closing the internet browser instead of clicking the logoff. That leaves lots of hanging Plugin HTTP sessions at our server side.
    Regards,
    Tony

    Hi,
    And also take a look on the Genral property of the web template. We solved this problem by changing only this property (no extra things).
    <b>Property:                            Value</b>
    Automatic Session Management:           Active
    With rgds,
    Anil Kumar Sharma .P
    Message was edited by: Anil Kumar Sharma

  • Bw web report plugin http session hangs at the server side

    Hi,
    I am having problems when closing the browser of a BW web report. After I closed the browser by going File->close, I ran SM04 and found out the Plugin HTTP session hangs at the server side.
    How can we terminate the Plugin HTTP session at the server side when user closes the internet browser?
    I did implement a logoff function at my web template, if user clicks on the logoff, the Plugin HTTP session is terminated at server side correctly. But As you know, 50% of time user will close the report by closing the internet browser instead of clicking the logoff. That leaves lots of hanging Plugin HTTP sessions at our server side.
    By the way, we actived our BEX service at the SICF.
    Thanks for help!
    JA

    Hi
    If you want to avoid a blank page with logoff button, add opener=0
    <a href="<SAP_BW_URL CMD='LOG_OFF' ~command='logoff'
    >" onClick="javascript:window.close(opener=0);">Log off</a>
    If you want to close the session via X, use this code:
    create a sapscript function
    function closeSession()
    logoff()
    window.unload=CloseSession()
    However, the Plugin HTTP session isn't killed.
    Regards

  • How to find the list of users loggin through HTTP session

    Hi All,
    we are using SRM 5.5 system with ITS. I am able to find the list of concurrent users from ABAP level using report "CCUEVAL" but how do I know the list of concurrent users logged in from HTTP session?.
    could you please let us know the SAP note number or any report?
    Thanks in advance,
    Mohan Karri

    Hi Uday,
    thank you very much for your prompt response.
    I need a report because by end of every month I would need the average peak http users list for the reporting month.
    or tell me how to find " how many users logged in through HTTP session in a day?"
    Thanks
    Mohan

  • How to get HTTP session in Applcation Module IMPL file

    Hi Guys,
    Can any one tell me how to get HTTP session in Applcation Module IMPL file ?
    thnks

    You can, but that's not a best practice.
    Re: How to reach HttpContext from model Project

  • Define HTTP Session Attribute in a Custom Authenticator

    Hello everyone I developed sucessefully a Custom Authenticator for WLS10 that interacts with a web service.
    But now I need to provide an object to the web applications with the some user information.
    I was wondering defining the object in the HTTP Session but I dont know how to do it via de LoginModule of the custom authenticator.
    Can anyone provide me some tips?
    thanks in advance.

    What kind of user information do you need to pass on to the webapplication ? username can be retrieved by request.getRemoteUser() (after successful login).
    May be you need to clarify little bit more on what you want to achieve.
    -Utpal

  • Dynamic reloading in iWS 6.0 causes my http session to be lost

    Hi,
    I have a problem with dynamic reloading in iWS 6.0 Sp2 on Solaris 8. I have not set the reload-interval for the class-loader, in fact i haven't included anything related to the classloader in the web-apps.xml file.
    The default behaviour is observed, the classes are reloaded every 30 seconds. So far, so good.
    I have seen that if a change a class, iWS reloads the entire application, destroying all the servlets in it. This destroys my HTTP session.
    The same behaviour is observed in a redeployment, and in a reloading of config files.
    Is there any way of avoiding this?
    Thanks.
    By the way, could anyone describe the classloader architecture of iWS.
    Juan

    Scott,
    Does the problem only occur on MSIE clients? Do this work properly on Communicator? If so, you may be running into a problem with how MSIE determines the maxage for a cookie.
    The criteria that IE uses for creating a new session is the length of time that a session has been alive. For this reason, when a user tries to connect to a web application on the iWS webserver through IE, the time on the client server and on the webserver must be set correctly. Otherwise, the user could experience problems with session data getting lost or discarded by the client.
    This problem does not occur on Netscape browsers, as Netscape browsers set the cookie using the client-side clock and the maxage sent by the server.
    Refer to this technote and see if the helps:
    http://knowledgebase.iplanet.com/ikb/kb/articles/4704.html

Maybe you are looking for

  • HDV tape random capture aborts in FCP

    I am trying to capture many hours of HDV footage to disc. Capture Now is aborting frequently either due to alleged timecode breaks or alleged stream problems. But in fact the breaks seem to occur at random: on second or third attempts, capture passes

  • HT1535 Ipod Nano linked to a non existant library.   How can I get my old songs to a new library?

    I have an old Nano that I have about 300 songs on.  I no longer have the PC with the library that this device was linked to.  I have a new iPhone 5 and opened a new iTunes library to purchase songs for the new phone.  How can I get the songs from the

  • Getting tab name or tab id or tab label at runtime

    Hi All, I think the answer is "no" but I'm going to ask anyway just in case I missed something. I am designing some authorization schemes for my application. The context behind the design is this: 1. Two-level tabs application. 2. Access is stored in

  • Umlauts are not working in faxes

    Hello, I´m using a smartform to create a customer letter. Normally, I´m converting the output-otf to PDF and send it as attachement by email. But in one case, I have to send the smartform output-otf as fax. For that I have used the function "CONVERT_

  • Safari 5 crashes on startup for network users

    When I try to start Safari after upgrading to ver 5, while logged in as a network user, Safari crashes with the following crash report. Safari runs fine if logged in as the local machine admin. Process: Safari [150] Path: /Applications/Safari.app/Con