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 :
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
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)
Merci aux âmes charitables qui veulent bien m'aider.
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")
Partager