2014-12-19 18 views

risposta

8

Si potrebbe provare a configurare la persistenza della sessione. Here è un blog su come farlo.

<servlet-container name="default"> 
    <persistent-sessions path="session" relative-to="jboss.server.temp.dir"/> 
    <jsp-config/> 
</servlet-container> 

Tuttavia, sembra che questa funzione sia disponibile a partire dalla versione 8.2. Citerò una nota da questo blog

È possibile anche ottenere sessione di passivazione, quando si utilizza un profilo non-ha, con l'aggiunta di <distributable/> al vostro web.xml (per coloro che utilizzano wildfly 8.1.0 o meno).

+0

Grazie mille! '' funziona come un incantesimo per WildFly 8.1. Proverò anche la soluzione per WildFly 8.2. –

+0

Grande, felice che sia stato d'aiuto. –

+0

Ho intenzione di impostare tutta la mia classe variabile di sessione su "implementa serializzabile" –

2

<distributable/> in web.xml schierato a standalone può portare a WFLY-3715 (tronchi inquinati con le eccezioni risacca).

L'opzione alternativa può essere la configurazione delle sessioni persistenti in standalone.xml o con jboss-cli.sh. Il comando JBoss CLI merita di essere menzionato, in quanto può essere utilizzato all'interno del plugin maven per WildFly.

/subsystem=undertow/servlet-container=default/setting=persistent-sessions:add(path="session", relative-to="jboss.server.temp.dir") 

Log inquinamento esempio:

2016-12-29 09:39:48,464 ERROR [io.undertow.request] (default task-26) UT005023: Exception handling request to /resources/js/holder.js: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 15 seconds for key SessionCreationMetaDataKey(EkmgBEYcvqFxNF_T2dDwEfyXkh7Nzcv2nTKBYy9G) and requestor GlobalTransaction::13:local. Lock is held by GlobalTransaction::12:local 
     at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.lock(DefaultLockManager.java:238) 
     at org.infinispan.interceptors.locking.AbstractLockingInterceptor.lockAndRecord(AbstractLockingInterceptor.java:193) 
     at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.checkPendingAndLockKey(AbstractTxLockingInterceptor.java:193) 
     at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.lockOrRegisterBackupLock(AbstractTxLockingInterceptor.java:116) 
     at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitDataReadCommand(PessimisticLockingInterceptor.java:71) 
     at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitGetKeyValueCommand(AbstractLockingInterceptor.java:80) 
     at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43) 
     at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) 
     at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:346) 
     at org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:331) 
     at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43) 
     at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99) 
     at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:114) 
     at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:83) 
     at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:85) 
     at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43) 
........ 
Problemi correlati