Bonjour,

J'ai des soucis avec Jboss messaging.

J'ai 2 ejb :

EJB Stateless : OrderBean
et
MDB : EmailSenderBean

Le premier (OrderBean) devrait envoyer un message à la queue orderQueue
Le Deuxième (EmailSenderBean) devrait se rendre compte qu'un message est arrivé (onMessage) et exécute une méthode métier (Envoie d'un e-mail)

Hors ça ne marche pas. J'ai l'impression que l'EmailSenderBean n'écoute pas car lorsque je déploie je vois cette erreur dans jboss :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
16:38:01,090 INFO  [EJBContainer] STARTED EJB: com.newenergy.server.service.email.EmailSenderBean ejbName: EmailSenderB
16:38:01,128 WARN  [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@1e8671c(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@1e4926a destination=queue/orderQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
javax.naming.NameNotFoundException: DLQ not bound
	at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
	at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
	at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
	at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
	at org.jnp.server.NamingServer.lookup(NamingServer.java:399)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:713)
	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
	at javax.naming.InitialContext.lookup(InitialContext.java:392)
	at org.jboss.util.naming.Util.lookup(Util.java:222)
	at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setupDLQDestination(AbstractDLQHandler.java:106)
	at org.jboss.resource.adapter.jms.inflow.dlq.AbstractDLQHandler.setup(AbstractDLQHandler.java:82)
	at org.jboss.resource.adapter.jms.inflow.dlq.JBossMQDLQHandler.setup(JBossMQDLQHandler.java:48)
	at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDLQ(JmsActivation.java:413)
	at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:351)
	at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:729)
	at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
	at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Est ce que c'est normal qu'il me parle de la DLQ alors que dans MDB j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
//@MessageDriven(name = "EmailSenderB", mappedName  <--ne marche pas apperament--< = "queue/orderQueue", activationConfig = {
@MessageDriven(name = "EmailSenderB", activationConfig = {
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/orderQueue"),		
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
}
)
//
//
//		@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
//		@ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),
//		@ActivationConfigProperty(propertyName = "clientId", propertyValue = "emailSenderID"),
//		@ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "EmailSender")
Merci aux âmes charitables qui veulent bien m'aider.