[jboss] jboss stoppen zodra exception

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Waar ik me echt gigantisch aan erger zijn de enorme stacktraces die jboss uithoest op het moment dat er een exception optreed. 10.000 regels stacktrace vind ik imho onacceptabel. Wie weet hoe ik dit ongelovelijk nare probleem de nek om kan draaien?

Ik wil dus dat een exception zo gauw die opgemerkt wordt in mijn debug-omgeving meteen een shutdown van jboss tot gevolg heeft. Of in ieder geval iets anders waarmee ik kan achterhalen wat de oorzaak van een stacktrace is geweest (mijn windows console heeft maar een buffer van max 10.000 regels)

[ Voor 40% gewijzigd door Alarmnummer op 29-12-2004 19:51 ]


  • iain
  • Registratie: Februari 2001
  • Laatst online: 19-07-2017

iain

Full Flavor

misschien heb ik het wel helemaal mis, maar gaat dat niet met
Java:
1
2
3
4
5
6
try {
     // blaat;
} catch ( Exception e ) {
     out.print ( e );
     system.exit(0);
}

I used to be an atheist, until I realised I was god.


Verwijderd

10.000 regels stacktrace???

Wat staat er dan in hemelsnaam in al die regels? Zelf werk ik voornamelijk met Orion, maar een stacktrace zelf is enkele regels. Via reflection print ik dan nog de state van de objecten in mijn sessie en zorg ik voor wat andere diagnostics (speciale diagnostics interface voor), tevens print ik alle request parameters uit, maar zelfs met al die extra prints kom ik toch niet snel boven de 100 a 200 regels.

Gaat Jboss soms een complete 'core' dump van het geheugen maken ofzo???

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op woensdag 29 december 2004 @ 20:37:
10.000 regels stacktrace???

Wat staat er dan in hemelsnaam in al die regels? Zelf werk ik voornamelijk met Orion, maar een stacktrace zelf is enkele regels. Via reflection print ik dan nog de state van de objecten in mijn sessie en zorg ik voor wat andere diagnostics (speciale diagnostics interface voor), tevens print ik alle request parameters uit, maar zelfs met al die extra prints kom ik toch niet snel boven de 100 a 200 regels.

Gaat Jboss soms een complete 'core' dump van het geheugen maken ofzo???
Nope.. het zijn wel stacktraces. Maar je krijgt iedere keer volledige traces van exceptions die worden afgevangen, afgedrukt en weer omhoog worden geworpen om daar weer te worden afgedrukt (inclusief de cause (weer)). Dat veroorzaakt gewoon veel en veel te veel output. En dat veroorzaakt bij mij veel irritatie.

Ik heb trouwens jboss al aan de kant geflikkerd en ben ga mooi verder met Jetty (het is toch voor een thuis knutselwerk). Ik hou van simpelheid.. jboss = allesbehalve simpel. JBoss is misschien wel het boegbeeld van alles wat mis is met J2ee. Veel complexiteit.. weinig toegevoegde waarde in de praktijk, aangezien je toch nog geen 1% van de functionaliteit gebruikt.. moet je wel iedere keer betalen voor de complexiteit.. no way...

[ Voor 6% gewijzigd door Alarmnummer op 29-12-2004 21:09 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Kijk eens in de log4j.xml in de server/default/conf hier kan je zelf de level instellen van logging en waarnaartoe (ja kan het bijvoorbeeld ook naar bestand weg laten zetten). Wat trouwens al gebeurt. Kijk maar naar server/default/log/server.log deze bevat precies hetzelfde als wat op je console terechtkomt maar met iets meer detail.

Wat jij beschijft aan grootte stacktraces ken ik zelf niet echt. Ik kom wel eens een 4 keer geneste exception tegen maar meer ook meestal niet.
Ik heb trouwens jboss al aan de kant geflikkerd en ben ga mooi verder met Jetty (het is toch voor een thuis knutselwerk). Ik hou van simpelheid.. jboss = allesbehalve simpel. JBoss is misschien wel het boegbeeld van alles wat mis is met J2ee. Veel complexiteit.. weinig toegevoegde waarde in de praktijk, aangezien je toch nog geen 1% van de functionaliteit gebruikt.. moet je wel iedere keer betalen voor de complexiteit.. no way...
Dit is zowiezo onzin. JBoss kan je net zo uitgebreid maken als je wilt.
Zelfs dusdanig dat je alleenmaar bijvoorbeeld de EJB container overhoud. Alles zit met JMX aan elkaar en hierdoor is ook alles eruit te halen zodat je alleen dat overhoud wat je nodig hebt.

Mijn ervaring is juist dat paketten als Oracle AS, BES en Weblogic log en groot zijn. En hier is het niet mogelijk om componenten eruit te halen.

En hoe bedoel je dat JBoss het boegbeeld is van alles wat mis is met J2ee, ik vindt dit nogal een opmerking zeker omdat ze één van de weinigen zijn die volledig gecertificeerd zijn. En een extreem modulaire opbouw hebben.

Ik zou zeggen, lees eens wat documentatie door van JBoss of ga eens op cursus bij de mensen van JBoss zelf dan krijg je mischien een beter idee wat JBoss is en wat het allemaal te bieden heeft. Als je iets te beweren hebt geef dan ook redenen.

Sorrie hoor, maar hier heb ik een pest hekel aan, ongefundeerde uitspraken.

[ Voor 60% gewijzigd door ronaldmathies op 29-12-2004 21:16 . Reden: Extra opmerking ]

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ronaldmathies schreef op woensdag 29 december 2004 @ 21:11:
Kijk eens in de log4j.xml in de server/default/conf hier kan je zelf de level instellen van logging en waarnaartoe (ja kan het bijvoorbeeld ook naar bestand weg laten zetten). Wat trouwens al gebeurt. Kijk maar naar server/default/log/server.log deze bevat precies hetzelfde als wat op je console terechtkomt maar met iets meer detail.

Wat jij beschijft aan grootte stacktraces ken ik zelf niet echt. Ik kom wel eens een 4 keer geneste exception tegen maar meer ook meestal niet.
Meestal is het nog wel toe doen *ahum*... Maar op de een of andere manier levert de combinatie met Spring zulke stacktraces op dat ik het begin niet meer in mijn 10.000 regelbuffer kan terug vinden (en het is dan ook zo fijn dat je die console niet kan stoppen).

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Alarmnummer schreef op woensdag 29 december 2004 @ 21:13:
[...]

Meestal is het nog wel toe doen *ahum*... Maar op de een of andere manier levert de combinatie met Spring zulke stacktraces op dat ik het begin niet meer in mijn 10.000 regelbuffer kan terug vinden (en het is dan ook zo fijn dat je die console niet kan stoppen).
Is dit dan een fout binnen JBoss of is dit een probleem van Spring, ik krijg namelijk het gevoel dat Spring nogal veel Exceptions gooit en dat het daarom moeilijk te tracen is wat er fout gaat.

En om toch nog antwoord te geven op je vraag, dit kan volgens mij niet. Zelfs niet als je een RuntimeException gooit. Want een Application Server mag nooit zomaar stoppen.

Wat je wel kan doen is het volgende :

Via de JMX bean org.jboss.system.server.ServerImpl de method shutdown te initialiseren.

Hiermee stop de JBoss server.

Kijk maar naar http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Atype%3DServer

[ Voor 29% gewijzigd door ronaldmathies op 29-12-2004 21:22 ]

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ronaldmathies schreef op woensdag 29 december 2004 @ 21:11:
Dit is zowiezo onzin. JBoss kan je net zo uitgebreid maken als je wilt.
Yep.. maar in 9 van de 10 gevallen heb je eigelijk al voldoende aan alleen een webapplicatie server (ejb heb ik zowieso al niet zoveel mee).
Zelfs dusdanig dat je alleenmaar bijvoorbeeld de EJB container overhoud. Alles zit met JMX aan elkaar en hierdoor is ook alles eruit te halen zodat je alleen dat overhoud wat je nodig hebt.
Yep.. maar ik heb geen EJB nodig. Spring kan declaratief transacties en security toevoegen ook oplossen. Dus EJB is voor mij niet zinvol.
Mijn ervaring is juist dat paketten als Oracle AS, BES en Weblogic log en groot zijn. En hier is het niet mogelijk om componenten eruit te halen.
Nog nooit mee gewerkt.
En hoe bedoel je dat JBoss het boegbeeld is van alles wat mis is met J2ee, ik vindt dit nogal een opmerking zeker omdat ze één van de weinigen zijn die volledig gecertificeerd zijn. En een extreem modulaire opbouw hebben.
Mijn motivatie is het gebrek aan controle, inzicht en het te veel aan complexiteit. Ik heb een probleem.. probleem moet opgelost worden. Maar ik heb geen zin om steeds de problemen van de oplossing op te lossen. Afgezien dat je dan zit van *zucht* neemt het mijn wind volledig uit te zeilen, en raakt (iedere keer) mijn planning in de war. Alleen dingen die ik al vaak heb gedaan kan ik relatief probleem loos doorkomen, en die problemen had ik voor iets met j2ee doet nooit.
Ik zou zeggen, lees eens wat documentatie door van JBoss of ga eens op cursus bij de mensen van JBoss zelf dan krijg je mischien een beter idee wat JBoss is en wat het allemaal te bieden heeft. Als je iets te beweren hebt geef dan ook redenen.
ZOals ik al eerder heb gezegd.. Ik heb helemaal niets met EJB en JBoss is voor mij complete overkill. Ik gebruikte JBoss omdat ik het voor mijn werk ook gebruik en het me wel makkelijk leek. Maar ik loop meer 'domme' problemen op te lossen, dan aan mijn echte werk toe te komen... keer op keer.. dag op dag.. dat irriteerd. En dan vraag ik aan mezelf.. wil jij betalen voor wat jij gewoon niet gebruikt??? Nee
Sorrie hoor, maar hier heb ik een pest hekel aan, ongefundeerde uitspraken.
Ik gewoonlijk ook, maar ik ben/was geirriteerd.

Maar ik blijf wel bij het feit dat de meeste gevallen EJB onnodig is (zeker met zoiets als Spring) en daardoor JBoss en andere applicaties ook onnodig zijn. De enigste reden dat ik op dit moment kan bedenken (afgezien van allerlei politieke) dat voor EJB gekozen moet worden is clustering.

(EJB 3.0 is gelukkig wel beter)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ronaldmathies schreef op woensdag 29 december 2004 @ 21:17:
[...]
Is dit dan een fout binnen JBoss of is dit een probleem van Spring, ik krijg namelijk het gevoel dat Spring nogal veel Exceptions gooit en dat het daarom moeilijk te tracen is wat er fout gaat.

En om toch nog antwoord te geven op je vraag, dit kan volgens mij niet. Zelfs niet als je een RuntimeException gooit. Want een Application Server mag nooit zomaar stoppen.

Wat je wel kan doen is het volgende :

Via de JMX bean org.jboss.system.server.ServerImpl de method shutdown te initialiseren.

Hiermee stop de JBoss server.

Kijk maar naar http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Atype%3DServer
[/quote]
Yep.. ik ken het hele JMX gebeuren van JBoss... Maar ik wil dat het automatisch gebeurt (niet dat ik hetzelf moet doen). Tegen de tijd dat ik bij de JMX beans ben aangekomen, heb ik al te veel output. En tegen de tijd dat de applicatie uiteindelijk is gestopt... is het al veel te laat. Geen optie dus.

Verwijderd

[begin Orion spam mode ;) ]

Ik heb jetty nog niet geprobeerd, maar waarom probeer je niet eens Orion? (www.orionserver.com). Het is een erg makkelijk te gebruiken AS zonder extras die in de weg zitten. Geheel geimplementeerd in Java draait het heel erg simpel op elk platform.

Je moet alleen even de platform specificieke tools.jar in de directory copieeren waar je het gedownloade archief uitpakt. Als je alleen (snel) 1 enkele web applicatie wilt ontwikkelen/testen kun je deze web app aan de default applicatie hangen door in config/application.xml in de web-module tag het path naar de directory te laten wijzen waar je web app staat. (wil je meer dan moet je even de docs lezen over hoe je meerdere web-sites en applicaties configureert).

Groot voordeel van Orion is dat het immens snel opstart (meestal binnen de seconde a 2 op een P4). Tevens is Orion de allersnelste van de gratis te downloaden servers die ik heb kunnen vinden. Als ik zelf wat benchmark is Orion meestal 2x zo snel in throughput (# reqs/sec). Voor commercieel gebruik is Orion overigens niet gratis.

[einde Orion spam mode ;) ]

Nadeel van Orion is dat het slechts J2EE 1.3 is en geen interactive JSP debugging ondersteund (jsr045).

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik heb in het verleden wel eens gespeeld met Jetty, en het is een van de meest eenvoudige webapplicatie servers. Precies wat ik verwacht.. eenvoud...
Ik heb jetty nog niet geprobeerd, maar waarom probeer je niet eens Orion? (www.orionserver.com). Het is een erg makkelijk te gebruiken AS zonder extras die in de weg zitten. Geheel geimplementeerd in Java draait het heel erg simpel op elk platform.
Orion was toch ontwikkeld in c/c++?
Groot voordeel van Orion is dat het immens snel opstart (meestal binnen de seconde a 2 op een P4). Tevens is Orion de allersnelste van de gratis te downloaden servers die ik heb kunnen vinden. Als ik zelf wat benchmark is Orion meestal 2x zo snel in throughput (# reqs/sec). Voor commercieel gebruik is Orion overigens niet gratis.
Jetty houd na 10/15 regels output ook zijn klep :) En aangezien er maximaal 2 a 3 users (en voorlopig ik alleen) tegelijk opzitten denk ik dat Jetty nog wel voldoet ;)

Het is voor een thuis project... niet voor commercieele toepassingen.

[ Voor 6% gewijzigd door Alarmnummer op 29-12-2004 21:35 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Alarmnummer schreef op woensdag 29 december 2004 @ 21:26:
[...]

Yep.. maar in 9 van de 10 gevallen heb je eigelijk al voldoende aan alleen een webapplicatie server (ejb heb ik zowieso al niet zoveel mee).
Dan moet je geen JBoss gebruiken, JBoss gebruikt intern Tomcat, waarom gebruik je dan niet alleen tomcat als je het alleen voor de Web Container gebruikt. Dat is overkill.
Yep.. maar ik heb geen EJB nodig. Spring kan declaratief transacties en security toevoegen ook oplossen. Dus EJB is voor mij niet zinvol.
Nogmaals dan moet je geen JBoss gebruiken, security doe je binnen JBoss met Jaas.
Nog nooit mee gewerkt.


[...]

Mijn motivatie is het gebrek aan controle, inzicht en het te veel aan complexiteit. Ik heb een probleem.. probleem moet opgelost worden. Maar ik heb geen zin om steeds de problemen van de oplossing op te lossen. Afgezien dat je dan zit van *zucht* neemt het mijn wind volledig uit te zeilen, en raakt (iedere keer) mijn planning in de war. Alleen dingen die ik al vaak heb gedaan kan ik relatief probleem loos doorkomen, en die problemen had ik voor iets met j2ee doet nooit.


[...]

ZOals ik al eerder heb gezegd.. Ik heb helemaal niets met EJB en JBoss is voor mij complete overkill. Ik gebruikte JBoss omdat ik het voor mijn werk ook gebruik en het me wel makkelijk leek. Maar ik loop meer 'domme' problemen op te lossen, dan aan mijn echte werk toe te komen... keer op keer.. dag op dag.. dat irriteerd. En dan vraag ik aan mezelf.. wil jij betalen voor wat jij gewoon niet gebruikt??? Nee
Dan snap ik totaal niet waarom je JBoss gebruikt. Gebruik dan gewoon tomcat, dan is het nogsteeds niet anders voor je omdat het hetzelfde blijft. Sterker nog, je kan zelfs met nieuwere specificaties werken omdat de Tomcat binnen JBoss ouder is dan de Tomcat stand alone.
Ik gewoonlijk ook, maar ik ben/was geirriteerd.

Maar ik blijf wel bij het feit dat de meeste gevallen EJB onnodig is (zeker met zoiets als Spring) en daardoor JBoss en andere applicaties ook onnodig zijn. De enigste reden dat ik op dit moment kan bedenken (afgezien van allerlei politieke) dat voor EJB gekozen moet worden is clustering.

(EJB 3.0 is gelukkig wel beter)
EJB 3.0 is hibernate, dat kan je nu ookal gebruiken dus dat vindt ik ook inderdaad een groot voordeel. Session Beans gebruik ik wel altijd zeer flexible en snel mee te programmeren. Entity Beans zijn een ramp. Het maken van modellen is niet zo lastig maar dan nog de preformance erin houden. JBoss bied wel allerlei caching mechanisme en allerlei load groups e.d. maar dat is gewoon te bewerkelijk.

Maar als je inderdaad alleen voor de webcontainer gaat, mijn advies. Stop met JBoss en ga door met Tomcat.

Vergeet ook niet dat JBoss niet alleen een EJB Container is of een Web Container. Het heeft ook een compleet geïntegreed platform voor webservices (met als basis Session Beans maar dan met een extra interface implementatie).

Verder bied JBoss mogelijkheden tot uitbreiden van de standaard server doormiddel van JMX. En heeft JBoss een zeer complete Jaas implementatie.

En nog veel meer. Ik vindt het altijd jammer dat mensen naar een Applicatie server kijken alsof het alleen EJB en WEB is. Want ze doen veel meer.

[ Voor 9% gewijzigd door ronaldmathies op 29-12-2004 21:37 ]

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ronaldmathies schreef op woensdag 29 december 2004 @ 21:35:
Dan moet je geen JBoss gebruiken, JBoss gebruikt intern Tomcat, waarom gebruik je dan niet alleen tomcat als je het alleen voor de Web Container gebruikt. Dat is overkill.
Ik gebruikte JBoss omdat ik het voor mijn werk ook gebruik. Dus vandaar.. ff makkelijk.. Maar dit is voor een thuisproject dus de keus is aan mij.
Nogmaals dan moet je geen JBoss gebruiken, security doe je binnen JBoss met Jaas.
Spring maakt ook gebruik van JAAS als daar beschikking over is.
EJB 3.0 is hibernate
Hibernate is alleen een OR mapper. Ze hebben wel gebruik gemaakt van de ideeen van hibernate, maar EJB is veel meer dan alleen dat.
, dat kan je nu ookal gebruiken dus dat vindt ik ook inderdaad een groot voordeel. Session Beans gebruik ik wel altijd zeer flexible en snel mee te programmeren.
Ik vind het vervelende ondingen. Ik bouw al mijn (POJO) services op in de spring beancontainer en voorzie ze daar van transacties/security (eventueel aangegeven via attributen op de services zelf). Niets geen onnodige interfaces.. back to the basics... (maar neit qua functionaliteit)
Maar als je inderdaad alleen voor de webcontainer gaat, mijn advies. Stop met JBoss en ga door met Tomcat.
Jetty had ik al aan de praat geslingerd ;)

[edit]
Woei.. en mijn Axis/JBoss conflict is nu ook meteen opgelost... lang leve simpelheid.. lang leve the driversseat.

[ Voor 5% gewijzigd door Alarmnummer op 29-12-2004 21:44 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Alarmnummer schreef op woensdag 29 december 2004 @ 21:39:
[...]

Ik gebruikte JBoss omdat ik het voor mijn werk ook gebruik. Dus vandaar.. ff makkelijk.. Maar dit is voor een thuisproject dus de keus is aan mij.
Hier geef ik je groot gelijk
Spring maakt ook gebruik van JAAS als daar beschikking over is.
Ik ken spring niet dus ik ging er eigenlijk vanuit dat hier geen gebruik werd gemaakt van Jaas.
Echter Tomcat bied deze mogelijkheid ook.
Hibernate is alleen een OR mapper. Ze hebben wel gebruik gemaakt van de ideeen van hibernate, maar EJB is veel meer dan alleen dat.
Nou volgens mij hebben ze niet alleen de ideeen van hibernate gebruikt maar zal het ook daadwerkelijk onderdeel worden van EJB 3.
Ik vind het vervelende ondingen. Ik bouw al mijn (POJO) services op in de spring beancontainer en voorzie ze daar van transacties/security (eventueel aangegeven via attributen op de services zelf). Niets geen onnodige interfaces.. back to the basics... (maar neit qua functionaliteit)
Zelfde verhaal als hierboven, ik ken Spring niet dus ik weet ook niet de voor c.q. nadelen hiervan.
Jetty had ik al aan de praat geslingerd ;)
Wat wel grappig is is dat Jetty voor lange tijd standaard onderdeel was van JBoss tot versie 3.2.2 volgens mij, sinsdien is JBoss overgestapt op Tomcat. De preciese reden hierachter weet ik niet.

Ik wens je in iedergeval veel succes met je thuis project, is dat toevallig voor je website, want die wil ook niet echt opschieten hé? ;)

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


Verwijderd

Alarmnummer schreef op woensdag 29 december 2004 @ 21:34:

Orion was toch ontwikkeld in c/c++?
Het is voor een thuis project... niet voor commercieele toepassingen.
Orion is volledig 100% pure java :) Zit geen regel C++ in. Ik draai het zo op Mac OS X, verschillende linux distributies en Windows. Voor thuis projecten is de throughput natuurlijk niet van belang, maar de opstart snelheid wel vind ik. Omdat het voor Intern en hobby dingen gratis is, vind ik het juist ideaal in die situatie.

Btw, hoe snel start Jetty dan eigenlijk op?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ronaldmathies schreef op woensdag 29 december 2004 @ 21:49:

Wat wel grappig is is dat Jetty voor lange tijd standaard onderdeel was van JBoss tot versie 3.2.2 volgens mij, sinsdien is JBoss overgestapt op Tomcat. De preciese reden hierachter weet ik niet.
De dudes van Jetty vervullen wel een belangrijke rol in het geronimo project (App server van Jakarta)
Ik wens je in iedergeval veel succes met je thuis project, is dat toevallig voor je website, want die wil ook niet echt opschieten hé? ;)
Brek me de bek niet open. Achterkanten schrijven vind ik leuk.. maar op het moment dat ik bij de voorkant aankom dan loop ik nog vaker vast dan anders.. (zeker als je wilt dat het op alle browsers werkt).

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op woensdag 29 december 2004 @ 21:53:
[...]


Orion is volledig 100% pure java :) Zit geen regel C++ in. Ik draai het zo op Mac OS X, verschillende linux distributies en Windows. Voor thuis projecten is de throughput natuurlijk niet van belang, maar de opstart snelheid wel vind ik. Omdat het voor Intern en hobby dingen gratis is, vind ik het juist ideaal in die situatie.

Btw, hoe snel start Jetty dan eigenlijk op?
Bij mij 3/4 seconden... En dat met een waardeloze 5400 toeren hd (er was weer eens een ibm gesneuveld). Oja.. 1700 xp.

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 13:17
Ik werk hier met een JBoss installatie en ben er behoorlijk tevreden over. Het is idd lastig dat er heel wat regels worden geprint als er een exception optreed. Zeker bij het ontwikkelen is het nogal lastig. ook heb ik hier graag een oplossing voor. Log4J kan een boel opvangen en volgens mij kan de Log4J engine ook de server stop zetten.

over de EJB implementatie in JBoss ben ik tevreden. ze houden zich goed aan de specs en ik kan mijn projecten ook deployen op andere app servers zonder veel aanpassingen.

Ik zou graag ook antwoord op deze vraag hebben. De topic is behoorlijk afgedwaald vanwege de verschillende rants.

Verwijderd

Alles wat in de console wordt geprint wordt ook gewoon in ?:\JBoss\jboss-4.0.0\server\default\log\server.log geprint. Daar is je buffer wat groter ;)

edit:
Maar dat was al lang door iemand gepost |:( Sorry

[ Voor 18% gewijzigd door Verwijderd op 30-12-2004 11:20 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
PhoneTech schreef op donderdag 30 december 2004 @ 11:07:
over de EJB implementatie in JBoss ben ik tevreden. ze houden zich goed aan de specs en ik kan mijn projecten ook deployen op andere app servers zonder veel aanpassingen.
Heb je dat wel eens geprobeerd? EJB staat er niet bepaald om bekend dat het nou zo vendor onafhankelijk is ivm vendor specifieke deployment descriptors.

En verder zal JBoss vast wel een goeie EJB ondersteuning hebben, maar het nut van EJB ontgaat mij dus.. (en daaruit volgt dat het nut van JBoss mij ook ontgaat) ;)

Ik ben verder geen JBoss nodig en de reden dat ik het gebruik(te) was omdat ik het voor mijn werk ook nog gebruik. Collega van me zei.. idd.. waarom gebruiken wij uberhaubt nog JBoss? In het verleden deden we veel met EJB maar nu nooit meer.. dus misschien moeten we maar even kijken naar bv alleen Tomcat.
Ik zou graag ook antwoord op deze vraag hebben. De topic is behoorlijk afgedwaald vanwege de verschillende rants.
Mijn probleem met dat soort gigantische grote omgevingen is dat je zoveel dingen fout kunnen gaan waar jij wel of geen schuld aan hebt en het daardoor ook erg lastig is om te achterhalen waarom iets niet werkt. Waarom betalen voor iets dat je niet gebruikt? Ik wil simpel.. eenvoudig... ik wil fouten..maar dan wel mijn eigen... niet omdat er een of ander raar conflict is met de appserver.

Ik ben er gewoon strontziek van dat ik niet door kan werken omdat ik vaak tijd kwijt ben aan allerlei soorten problemen. Hierdoor kan ik het probleem wat ik in 1e instantie wou oplossen, niet oplossen.

En mijn 'rants' kwamen voor uit het feit dat ik nogal geirriteerd was. Een webservice naar amazon bouwen... neit moeilijk.. Ik gok 30 minuten.. Ik ben gisteren om 17:30 begonnen... om 23:30 was ik klaar... hmmmm.... dan ga je toch bij jezelf nadenken.

Verwijderd

Was de deployment descriptors betreft is het aan jezelf of je de beschrijvingen zo houdt dat je je EJB's makkelijk kunt transporten naar een andere app-server. Overigens is het minder erg om zo'n deployment descriptor aan te moeten passen dan je code.
Een voordeel van EJB's is dat je met een hoop dingen geen rekening meer hoeft te houden. Security en netwerk e.d. je kunt je redelijk blijven oriënteren op business logica. Athans, zodra je het EJB-princiepe door hebt, want voordat je daar bent had je al een heel project af kunnen hebben :) .
De Stateless SessionBeans zijn misschien in sommige gevallen een beetje nutteloos, maar Statefull kan ik me al meer practischheid van indenken (ik heb ze nog nooit gebruikt) en entitybeans zijn op zich best wel handig. Als worden ze heiliger beschreven dat ze zijn. Het zijn geen klassen die na shutdown toch nog hun attributen weten, het is gewoon een manier om een stukje java direct op een database te schrijven. Al dan niet met nog meer software, klassen of servers ertussen. (en daardoor kun je ze laten lijken op klassen die na shutdown hun attribuutwaarden nog kennen).

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op donderdag 30 december 2004 @ 11:31:
Was de deployment descriptors betreft is het aan jezelf of je de beschrijvingen zo houdt dat je je EJB's makkelijk kunt transporten naar een andere app-server. Overigens is het minder erg om zo'n deployment descriptor aan te moeten passen dan je code.
Vind je?
Een voordeel van EJB's is dat je met een hoop dingen geen rekening meer hoeft te houden. Security en netwerk e.d. je kunt je redelijk blijven oriënteren op business logica. Athans, zodra je het EJB-princiepe door hebt, want voordat je daar bent had je al een heel project af kunnen hebben :) .
Spring kan dit ook allemaal :) Maar EJB is imho veel te opdringerig in je ontwerp. EJB is in principe een leuk idee, maar in de praktijk is het om een ware nachtmerrie uitgelopen. Vandaar dat ze met EJB 3.0 het ook over een hele andere boeg gaan gooien.
De Stateless SessionBeans zijn misschien in sommige gevallen een beetje nutteloos, maar Statefull kan ik me al meer practischheid van indenken (ik heb ze nog nooit gebruikt) en entitybeans zijn op zich best wel handig.
Wat ik uit de verhalen opmaak is dat mensen alleen ejb session beans gebruiken omwille van declaratieve toevoeging van transacties, remoting en security. Daar zijn intussen ook alternatieve oplossingen voor. De enigste reden dat ik op dit moment weet waarom voor EJB gekozen moet worden is clustering.
het is gewoon een manier om een stukje java direct op een database te schrijven. Al dan niet met nog meer software, klassen of servers ertussen. (en daardoor kun je ze laten lijken op klassen die na shutdown hun attribuutwaarden nogkennen).
EJB CMP = dikke naad, veel te complex. Hibernate/JDO zijn de oplossingen van de toekomst, check EJB 3.0 specs.

[ Voor 5% gewijzigd door Alarmnummer op 30-12-2004 11:37 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Ik schijf mijn deployment descriptors nooit zelf, ik laat dit geheel over aan XDoclet. Scheelt je een hoop tiep werk, en een hoop fouten.
Spring kan dit ook allemaal :) Maar EJB is imho veel te opdringerig in je ontwerp. EJB is in principe een leuk idee, maar in de praktijk is het om een ware nachtmerrie uitgelopen. Vandaar dat ze met EJB 3.0 het ook over een hele andere boeg gaan gooien.
Hiet zit hem ook het verschil, als Spring deze mogelijkheden bied dan heeft het ook geen zin om EJB's te gebruiken. Anders doe je de meeste dingen alleen maar dubbelop.

EJB zijn totaal niet opdringerig in je ontwerp, het ligt er maar geheel aan wat je ervan gebruikt. Ik maak totaal geen gebruik van Entity Beans omdat dit veel te omslagtig en bewerkelijk is.

Als je alleen maar bijvoorbeeld Stateless Session Beans gebruikt dan heb je gewoon een mooie manier om gebruik te maken van de build in security en transactionmanager.
Wat ik uit de verhalen opmaak is dat mensen alleen ejb session beans gebruiken omwille van declaratieve toevoeging van transacties, remoting en security. Daar zijn intussen ook alternatieve oplossingen voor. De enigste reden dat ik op dit moment weet waarom voor EJB gekozen moet worden is clustering.
Zie mijn opmerking hiervoor. Wij gebruiken geen Spring dus voor ons is het de beste manier van werken.
EJB CMP = dikke naad, veel te complex. Hibernate/JDO zijn de oplossingen van de toekomst, check EJB 3.0 specs.
[/quote]

CMP is inderdaad dikke naad. Het is een teveel opleggende techniek. En het is niks anders als een platte vertaling van de tabellen op oracle waarbij je een hoop moeite moet doen om je data OO georienteerd te krijgen. Ditzelfde kan je zelf ook bereiken met Stateless Session Beans en directe JDBC (maar wel gebruik makend van de connection pool en transcation manager van JBoss.

Daarnaast zijn Entity Beans traag zodra de hoeveelheid gezochte data te groot wordt of als je teveel bulk mutaties moet uitvoeren. En dan moet je toch weer terug vallen op Stateless/Statefull Session beans.

Om toch de vraag te bantwoorden:

Via de JMX bean org.jboss.system.server.ServerImpl de method shutdown te initialiseren.

Hiermee stop de JBoss server.

Kijk maar naar http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Atype%3DServer

Deze kan je gewoon vanuit je code aanroepen door gebruik te maken van bijvoorbeeld:
(code is waarschijnlijk niet volledig, dat krijg je als je copy/paste vanuit bestaande code doet)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import javax.management.*;
import org.jboss.mx.util.*;

public class test {

    private MBeanServer server;

    public test method() {
        server = MBeanServerLocator.locate();

        try {
            // The MBean we want to invoke.
            final ObjectName objectName = new ObjectName("jboss.system:type=Server");
            
            return server.getAttribute(objectName, Version);
        } catch (MalformedObjectNameException e) {
            throw new Exception(e);
        } catch (AttributeNotFoundException e) {
            throw new Exception(e);
        } catch (InstanceNotFoundException e) {
            throw new Exception(e);
        } catch (MBeanException e) {
        throw new Exception(e);
        } catch (ReflectionException e) {
            throw new Exception(e);
        }
    }
}

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line

Pagina: 1