2010-12-16 14 views
5

me he enfrentado un extraño problema con WebLogic. Una de nuestras estaciones de trabajo aloja 2 instancias weblogic. El problema es cuando inicio sesión en uno de ellos, la sesión en otro expira automáticamente y viceversa. ¿Qué puede ser? ¿Cómo lidiar con este problema?Problema con sesiones en WebLogic

+0

¿Id id de inicio de sesión en ambas máquinas? ¿Estás iniciando sesión como administrador? – duffymo

+0

¿Qué quiere decir con id de inicio de sesión? No importa bajo qué usuario inicie sesión, de todos modos la sesión en otra instancia expira automáticamente. – mykola

Respuesta

10

Si el identificador de sesión se almacena en una cookie en el lado del cliente, asegúrese de que el nombre de la cookie no es la misma en ambos casos sus WebLogic.

Una forma de cambiar el nombre de la cookie es crear un archivo llamado weblogic.xml en sus aplicaciones web (o WebLogic-aplicacion.xml en los oídos, basta con sustituir la etiqueta weblogic-web-app por WebLogic aplicación) que contiene lo siguiente (personalizar el nombre de la cookie de acuerdo a sus necesidades):

<?xml version="1.0" encoding="UTF-8"?> 
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"> 
    <session-descriptor> 
     <cookie-name>MyCookieName</cookie-name> 
    </session-descriptor> 
</weblogic-web-app> 
+0

bueno, lo intentaré, pero en realidad es la misma aplicación (no físicamente, por supuesto) que se ejecuta en ambas instancias: una es para necesidades de desarrollo, otra es para pruebas. Entonces, en realidad ambas aplicaciones tienen el mismo weblogic.xml. Pero es más extraño que el mismo problema ocurra a veces en otra estación de trabajo con nuestra instancia demo de weblogic y jira. Por alguna razón, algunos usuarios experimentan el mismo problema con ellos: cuando el usuario inicia sesión en jira, automáticamente se desconecta de weblogic y viceversa. Esto es muy extraño teniendo en cuenta que solo ocurre con algunos usuarios seleccionados. – mykola

+0

mukola Supongo que te estás quedando sin guerras/implementaciones diferentes. También lo han hecho las variaciones en la weblogic.xml para las diferentes implementaciones – Aaron

+0

en WebLogic 8 esto todavía se encuentra en sesión de descriptor pero hay que añadirlo como un par nombre/valor, consulte http://docs.oracle .com/cd/E13222_01/wls/docs81/webapp/weblogic_xml.html. Ej: cookieName testSession Peter

1

ya que se están ejecutando en la misma máquina, su navegador ve un host (por ejemplo, localhost). dado que la cookie de sesión predeterminada para Java webapps es JSESSIONID y ambas usan este nombre de cocina, se sobrescribirán entre sí.

Una solución es abrir 2 ventanas del navegador IE de partida, es decir dos veces. En ese caso, obtendrán su propia cookie de sesión. Desafortunadamente, esto no funciona para Firefox y Chrome.

Otra solución es mencionado por nawre, dándole al 2 Webapps un nombre de cookie de sesión diferente.