Hallo zusammen,
ich habe eine JSF / EJB - Anwendung. In dieser kann sich jeder User bei seinem Emailprovider anmelden und Email versenden / abrufen über meine eigene JSF - Applikation.
Das funktioniert auch alles einwandfrei.
Ich habe nur das Problem, dass ich verschiedene Methoden habe, die jeweils eine Connection zum IMAP - Server aufbauen und ich dann irgendwann in eine Exception hereinlaufe, dass ich mich in der letzten Zeit zu oft versucht habe zu connecten.
Ich habe Methoden um:
- Verschiedene IMAP - Ordner zu öffnen (INBOX, Sent, Draft etc....)
-> Erfordert pro Ordner eine IMAP - Anmeldung
- Alle Ordnername auszugeben
-> Erfordert eine IMAP - Anmeldung
Was ich also brauche ist, dass die Connection (Store Object?) irgendwo für die Session gespeichert wird und demnach nicht ständig eine neue Verbindung zum IMAP - Server aufgebaut werden muss.
Ich habe schon versucht meine @EJB - Klasse mit @stateful zu deklarieren, das funktioniert aber auch nicht. Heißt das Objekt ist dann doch NULL beim erneuten Versuch...
Desweiteren habe ich in der @EJB - Klasse eine Property vom Typ "Store store = new Store()" angelegt.
Ich prüfe dann bei jeder Methode (Aufruf jeweiliger Folder etc.), ob das Objekt "store" nicht NULL ist. Wenn ja, dann melde mich an, wenn nicht, dann nehme das gefüllte Store - Objekt.
Habt ihr eine Idee wie ich das Problem lösen kann?
ich habe eine JSF / EJB - Anwendung. In dieser kann sich jeder User bei seinem Emailprovider anmelden und Email versenden / abrufen über meine eigene JSF - Applikation.
Das funktioniert auch alles einwandfrei.
Ich habe nur das Problem, dass ich verschiedene Methoden habe, die jeweils eine Connection zum IMAP - Server aufbauen und ich dann irgendwann in eine Exception hereinlaufe, dass ich mich in der letzten Zeit zu oft versucht habe zu connecten.
Ich habe Methoden um:
- Verschiedene IMAP - Ordner zu öffnen (INBOX, Sent, Draft etc....)
-> Erfordert pro Ordner eine IMAP - Anmeldung
- Alle Ordnername auszugeben
-> Erfordert eine IMAP - Anmeldung
Was ich also brauche ist, dass die Connection (Store Object?) irgendwo für die Session gespeichert wird und demnach nicht ständig eine neue Verbindung zum IMAP - Server aufgebaut werden muss.
Ich habe schon versucht meine @EJB - Klasse mit @stateful zu deklarieren, das funktioniert aber auch nicht. Heißt das Objekt ist dann doch NULL beim erneuten Versuch...
Desweiteren habe ich in der @EJB - Klasse eine Property vom Typ "Store store = new Store()" angelegt.
Ich prüfe dann bei jeder Methode (Aufruf jeweiliger Folder etc.), ob das Objekt "store" nicht NULL ist. Wenn ja, dann melde mich an, wenn nicht, dann nehme das gefüllte Store - Objekt.
Habt ihr eine Idee wie ich das Problem lösen kann?