2016-07-05 75 views
27

Cosa significa errore di avvio dell'avvio a molla?Nessun archivio di sessione può essere configurato automaticamente, controllare la configurazione (il tipo di archivio di sessione è 'null')

2016-07-04 21:53:53 [restartedMain] ERROR o.s.boot.SpringApplication - Application startup failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name org.springframework.boot.autoconfigure.session.SessionAutoConfiguration$SessionRepositoryValidator': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: No session repository could be auto-configured, check your configuration (session store type is 'null') 
+0

Mi chiedo perché il progetto intllij di default elabori questo problema, e anopther (detto tomcat è fornito in dependecie) BTW i miei problemi sono stati risolti per ora – deadManN

risposta

58

Si dispone di Spring Session sul classpath e non è stato fornito alcun archivio. Non possiamo prendere quella decisione per te come se il tuo percorso di classe dovesse cambiare, il tipo di negozio potrebbe cambiare in base alle nostre preferenze e potresti perderli senza alcun tipo di avviso.

Storicamente abbiamo supportato solo i redis, quindi se lo avete utilizzeremo in modo trasparente. Impostare lo spring.session.store-type nello store che si desidera utilizzare per Spring Session. Se Spring Session è sul classpath e non si desidera utilizzare in questo momento, impostare spring.session.store-type=none

Aggiornamento: dato il numero di upvotes, questo appare come un messaggio di errore di confusione così ho aperto #9284 per migliorare esso.

+0

Capito. Questa è una modifica al modo in cui le sessioni primaverili originariamente funzionavano. [Link] (https://github.com/spring-projects/spring-boot/issues/5838). Applicando i tuoi lavori di consulenza. – 000

+8

Solo un'aggiunta: imposta questa proprietà nell'applicazione.proprietà. – Dr4gon

+0

Perché? È possibile impostare tale proprietà ovunque sia in cerca di avvio. Potrebbe essere un interruttore della riga di comando, una proprietà di sistema o qualsiasi altra cosa. Sono d'accordo che probabilmente lo vuoi mettere lì in questo caso però. –