# Status des Sevrers via Email?



## Klone (14. Jan 2007)

Hallo, 



wie kann ich denn eine Email, alle halbe Stunde über den Server Status eines SUN App Server 9 an meine Email oder mein Handy schicken lassen?


Also einen Timer , der alle 30000 Sekunden eine Email sendet ?


Als JEE Application mit Java Beans ETC .


----------



## SlaterB (14. Jan 2007)

mit Thread + System.currentTimeInMillies() oder Timer bekommst du das Interval hin,
Email-API müsstest du separat kennenlernen (kenne ich nicht)

voila, fertig


----------



## Klone (14. Jan 2007)

THX Slate!


Und kann ich das als (EAR gepackte) Application im Server Regostrieren und starten ?

Wenn ja , wie?


----------



## robertpic71 (15. Jan 2007)

Klone hat gesagt.:
			
		

> THX Slate!
> 
> 
> Und kann ich das als (EAR gepackte) Application im Server Regostrieren und starten ?
> ...



Was du brauchst ist ein *Listener*, welcher in der web.xml eingetragen wird. Beim Start der Applikation wird der von Slate beschriebene Thread (Timer + e-Mail senden).

In der web.xml steht das:

...

```
<web-app>
...
	
	<listener>
		<listener-class>
		com.dein.package.ApplicationWatch
		</listener-class>
	</listener>
...
</web-app>
```


Die Javaklasse:

```
*
	File : ApplicationWatch.java
*/

import javax.servlet.ServletContextListener;
import javax.servlet.ServletContextEvent;

public class ApplicationWatch implements ServletContextListener	{

	public static long applicationInitialized =	0L;

	/* Application Startup Event */
	public void	contextInitialized(ServletContextEvent ce) {
		applicationInitialized = System.currentTimeMillis();
                // e-Mail-Thread starten
	}

	/* Application Shutdown	Event */
	public void	contextDestroyed(ServletContextEvent ce) {
               // Thread beenden
        }
}
```

Hier noch ein Artikel dazu: www.stardeveloper.com/articles/display.html?article=2001111901&page=1


----------



## Klone (15. Jan 2007)

Ja Danke!


Das ist also ein Servlet richtig?

Das dann als Webanwendung Deploeyd wird und Initialisiert , und dann läuft?


----------



## miketech (15. Jan 2007)

Hi,

wäre für sowas nicht eine MBean geeigneter? Das ganze würde beim Starten des Application Servers initialisiert werden, unabhängig von den Servlets.

Gruß

Mike


----------



## Klone (15. Jan 2007)

Eine Managed Bean meinst du ja?


Die wird dann wo oder wie registriert?


Also eine MBean die dann


----------



## robertpic71 (15. Jan 2007)

> Das ist also ein Servlet richtig?
> 
> Das dann als Webanwendung Deploeyd wird und Initialisiert , und dann läuft?



Jein - das ist kein Servlet sondern ein *ServletContextListener*. Und ja: Wenn der Server gestartet wird, erfolgt auch das contextInitialized-Event. Was man dazu braucht ist den Listenereintrag in der web.xml und die Listenerklasse. Es gibt keine Abhängigkeiten von irgendwelchen anderen "Servlets". 

Hier noch ein anderer Link:  edocs.bea.com/wls/docs61/webapp/app_events.html#175811

Achtung! Es gibt auch den einen Listener für Sessions (der würde je neuer Session aufgerufen) - also darauf achten, dass du wirklichen den ServletContextListener verwendest.

Mit MBean geht's natürlich auch.


----------



## Klone (15. Jan 2007)

Das wirklich lieb von euch.



Wie oder wo installiere ich die MBean damit Sie auch so Initiert wird?


----------



## SlaterB (15. Jan 2007)

vier Antwort 'aha toll, und wie geht das genau'? 
du solltest mal deinen Stil überdenken 

naja, ich kann hier nicht weiterhelfen, aber hilft vielleicht den Thread noch mal aktuell zu machen


----------



## Klone (15. Jan 2007)

Gut.

Ich habe nur das erfragt was ich wirklich nicht verstanden habe.

Ich möchte auch nur wiseen, wie man eine Main Methode , in einen Application Server wie JBOSS oder den SAS, als Anwendung implementiert, die nicht wie EJB abbildungen von Dastenbanken oder Geschäftslogiken sind (also Quasi  statisch).

Sondern eine richtige Application.

Ich hab unzählige Bücher über das Thema, und wollte nur Fragen ob es eine Methode gäbe das nicht als Client sonder als Client less Application zu Implmentieren.

Den weg den ich kenn , ist , eine Application in den Server zu Implementieren , dann einen Client dafür zu schreiben.

Der hat dann den Timer oder den Thread und macht alles über die vorher generierten Stubs und Skel(e)tons. 

Nein ich suche eine ganz Reguläre Java Klasse , die Teil einer Anwendung werden kann, die man als EAR Archiv Deployen kann .

Wie genau dies Funktioniert.

Das man hierfür einen Thread oder einen TT nimmt ist mir doch bewusst.

Nicht mehr und nicht weniger.

Ich möchte keine Servlets , und auch keine MBEans , sondern eine EAR Datei in das bestehende System integrieren dann meine Application starten  !

Wenn dir das zu schwer ist, OK!


Viel Spass trotzdem weiterhin


----------

