[Log4J+JBoss+JMS] Probleme de type de message

Probleme de type de message [Log4J+JBoss+JMS] - Java - Programmation

Marsh Posté le 10-09-2003 à 17:40:19    

bonjour a tous
 
Voila j'utilise log4J pour logger des infos a l'aide d'un EJB MDB. J'ai configuré JBoss (3.0.6) et log4J pour qu'il fonctionne avec des JMSAppender et j'arrive a envoyer des message et a declancher le "onMessage()" sur l'EJB.
 
Le probleme c'est que je reçois des messages de type "SpyObjectMessage" et que je n'arrive pas du tout a les exploiter. Pour etre clair, j'ai fait un log.error("Erreur Systeme!!" ); et je n'arrive pas a retrouver le message du log dans le message arrivé a l'EJB.
 
Est-ce que quelqu'un connait ca et aurait des elements de réponse a m'apporter
 
merci d'avance
 
Meuh

Reply

Marsh Posté le 10-09-2003 à 17:40:19   

Reply

Marsh Posté le 10-09-2003 à 18:12:19    

[:blueflag]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 10-09-2003 à 18:51:54    

:sweat: m'est avis que je trouverai pas d'aide :sweat:

Reply

Marsh Posté le 10-09-2003 à 19:15:02    

Meuh a écrit :

:sweat: m'est avis que je trouverai pas d'aide :sweat:

patience ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 10-09-2003 à 22:37:36    

Meuh a écrit :

:sweat: m'est avis que je trouverai pas d'aide :sweat:


 
c'est balot hein ? [:ddr555]

Reply

Marsh Posté le 11-09-2003 à 08:58:12    

Reply

Marsh Posté le 11-09-2003 à 08:58:53    

chrisbk a écrit :


 
c'est balot hein ? [:ddr555]

chusi sur que ca t'en bouche un coin que je pose des questions que tu comprend pas hein :D

Reply

Marsh Posté le 11-09-2003 à 09:14:05    

Meuh a écrit :

chusi sur que ca t'en bouche un coin que je pose des questions que tu comprend pas hein :D


 
Moi qui pensait que ce que t'avais fait de plus compliqué dans ta vie c'etait une caravane en lego, je suis bluffé la :jap: :D

Reply

Marsh Posté le 11-09-2003 à 09:20:14    

Meuh a écrit :

bonjour a tous
 
Voila j'utilise log4J pour logger des infos a l'aide d'un EJB MDB. J'ai configuré JBoss (3.0.6) et log4J pour qu'il fonctionne avec des JMSAppender et j'arrive a envoyer des message et a declancher le "onMessage()" sur l'EJB.
 
Le probleme c'est que je reçois des messages de type "SpyObjectMessage" et que je n'arrive pas du tout a les exploiter. Pour etre clair, j'ai fait un log.error("Erreur Systeme!!" ); et je n'arrive pas a retrouver le message du log dans le message arrivé a l'EJB.
 
Est-ce que quelqu'un connait ca et aurait des elements de réponse a m'apporter
 
merci d'avance
 
Meuh


 
JMS en tant que tel, ce n'est que des interfaces, au meme titre que JavaMail. Chaque provider implémente la spécification à sa sauce. Jboss a une implémentation de la dernière spec stable (1.0.2b je pense). SpyObjectMessage étant leur implémentation à eux.
 
Cela dit, il me semble que ton problème est plus lié à log4j et son JMS appender que JBoss (à propos je serai curieux de savoir comment tu as fait pour configurer un JMSAppender en JBoss, un utilisateur sur la mailing list a ce problème et ca serait cool que je lui forwarde ta solution)
 
Je ne l'ai jamais utilié mais je suis persuadé que ton message est en fait un ObjectMessage contenant un objet de type org.apache.log4j.spi.LoggingEvent
 
Pour en etre sur dans ton MDB
 

Code :
  1. private static Logger logger = Logger.getLogger(TonMDB.class.getName());
  2. public void onMessage(Message msg) {
  3.   if (msg instanceof ObjectMessage) {
  4.      Object o = ((ObjectMessage) o).getObject();
  5.      logger.debug("Object message received: ["+o.class.getName()+"]);
  6.   } else {
  7.      logger.info("Not an object message ["+msg+"]);
  8.   }
  9. }


 
ensuite envoit un message au topic en utilisant log4j et regarde ce que ton MDB recrache. Si c'est un LoggingEvent tu as accès aux trucs traditionnels de log4j (voir javadoc)
 
tiens nous au courant :)


Message édité par darklord le 11-09-2003 à 09:21:33

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-09-2003 à 10:00:58    

[:rofl2]
 
Alors CA c'est excellent. Je retourne sur le forum de JBoss pour voir le topic du gars en question (celui qui arrive pas à initaliser son JBoss avec Log4j et JMSAppender) et ....
 
bin c'est Meuh [:rofl2] [:rofl2] [:rofl2] [:rofl2]
 
http://www.jboss.org/thread.jsp?fo [...] read=38880
 
Meuh >> Alors c'est quoi la solution pour finir, ca m'intéresse moi ;)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-09-2003 à 10:00:58   

Reply

Marsh Posté le 11-09-2003 à 10:52:28    

chrisbk a écrit :


 
Moi qui pensait que ce que t'avais fait de plus compliqué dans ta vie c'etait une caravane en lego, je suis bluffé la :jap: :D

[:super chinois]

Reply

Marsh Posté le 11-09-2003 à 10:58:24    

DarkLord a écrit :

[:rofl2]
 
Alors CA c'est excellent. Je retourne sur le forum de JBoss pour voir le topic du gars en question (celui qui arrive pas à initaliser son JBoss avec Log4j et JMSAppender) et ....
 
bin c'est Meuh [:rofl2] [:rofl2] [:rofl2] [:rofl2]
 
http://www.jboss.org/thread.jsp?fo [...] read=38880
 
Meuh >> Alors c'est quoi la solution pour finir, ca m'intéresse moi ;)

alors c'est toi DarkLord? [:ddr555]
 
la solution c'est simple en fait.
 
bon par ou commencer...
 
j'ai modifié lejboss-service.xml pour qu'il demarre le service log4J en dernier (il suffit de le mettre en dernier, apres le mainDeployer). Avec ca plus de probleme de NamingService qui est pas demarré et tout et tout. Seul hic, ca fait une erreur au demarrage de JBoss :  

10:38:26,859 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation 'checkIncompleteDeployments()'
Cause: Incomplete Deployment listing:
Packages waiting for a deployer:
  <none>
Incompletely deployed packages:
  <none>
MBeans waiting for classes:
  <none>
MBeans waiting for other MBeans:
[ObjectName: jboss.system:type=Log4jService,service=Logging
 state: CREATED
 I Depend On:
 Depends On Me: ]


 
mais finalement puisque le service Log4J est demarré apres ca pose pas de probleme.
 
ensuite tu avais raison pour le Logging event :jap:
 
pour recuperer l'info il suffit d'executer ce petit bout de code :  

((LoggingEvent)((ObjectMessage)msg).getObject()).getMessage()


 
et on obtient le message passé dans le logger. J'ai casté le Message en ObjectMessage pour bien rendre le code independant de JBoss (vu que SibObjectMessage vient de org.jboss.mq)
 
voili voila
 
par contre va falloir traduire ca en anglais por le forum de jboss :( (si kelkun est tenté :whistle:)

Reply

Marsh Posté le 11-09-2003 à 10:59:06    

:whistle:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-09-2003 à 11:06:58    

alleZeuh!! :D

Reply

Marsh Posté le 11-09-2003 à 11:08:24    

Citation :

QueueConnectionFactory not bound  1    Garandi    Sep 11, 2003 2:09 AM    by: Dark_Lord »  
 
  Simple example for beginner using JBoss and JMS  1    Garandi    Sep 11, 2003 2:05 AM    by: Dark_Lord »  
 
  "XAConnectionFactory not bound" on startup  1    naveen123    Sep 11, 2003 1:56 AM    by: Dark_Lord »  
 
  javax.naming.NotContextException  1    sanjman71    Sep 11, 2003 1:45 AM    by: Dark_Lord »  
 
  ConnectionFactory not bound (again)  9    mattygiedt    Sep 11, 2003 1:36 AM    by: Dark_Lord »  
   


 
tu vx bosser chez JBoss ou bien? [:ddr555]


Message édité par Meuh le 11-09-2003 à 11:08:57
Reply

Marsh Posté le 11-09-2003 à 11:09:40    

Meuh a écrit :

Citation :

QueueConnectionFactory not bound  1    Garandi    Sep 11, 2003 2:09 AM    by: Dark_Lord »  
 
  Simple example for beginner using JBoss and JMS  1    Garandi    Sep 11, 2003 2:05 AM    by: Dark_Lord »  
 
  "XAConnectionFactory not bound" on startup  1    naveen123    Sep 11, 2003 1:56 AM    by: Dark_Lord »  
 
  javax.naming.NotContextException  1    sanjman71    Sep 11, 2003 1:45 AM    by: Dark_Lord »  
 
  ConnectionFactory not bound (again)  9    mattygiedt    Sep 11, 2003 1:36 AM    by: Dark_Lord »  
   


 
tu vx bosser chez JBoss ou bien? [:ddr555]


 
meuh non  :whistle:  
j'ai eu bcp d'aide au début aussi ;) C'est juste un retour d'ascenseur sur des questions qui sont ouvent posées ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-09-2003 à 11:11:39    

Allez va, vu que j'ai fait que poster de la merde dans ce topic :D
 
 
Actually it was quite easy.
I first modified lejboss-service.xml, so that the log4j service is the last to be started (just put it at the end of the xml file, just next to mainDeployer). This solve any NamingService problem (service not started or whatever...). Only thing to note, it outputs a error when starting JBoss :
 
<blabla>
 
But as the log4j is up and running, I just don't care
 
 
(Le sens y est, c tout ce que je peux garantir :D)


Message édité par chrisbk le 11-09-2003 à 11:12:35
Reply

Marsh Posté le 11-09-2003 à 15:07:01    

DarkLord a écrit :


 
meuh non  :whistle:  
j'ai eu bcp d'aide au début aussi ;) C'est juste un retour d'ascenseur sur des questions qui sont ouvent posées ...

certes :jap:
 
j'avoue que j'y comprend pas grand chose moi :/

Reply

Marsh Posté le 11-09-2003 à 15:07:53    

chrisbk a écrit :

Allez va, vu que j'ai fait que poster de la merde dans ce topic :D
 
 
Actually it was quite easy.
I first modified lejboss-service.xml, so that the log4j service is the last to be started (just put it at the end of the xml file, just next to mainDeployer). This solve any NamingService problem (service not started or whatever...). Only thing to note, it outputs a error when starting JBoss :
 
<blabla>
 
But as the log4j is up and running, I just don't care
 
 
(Le sens y est, c tout ce que je peux garantir :D)


 
[:rofl]
 
 
merci qd meme ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed