Bonjour,
j'ai beau m'arracher les cheveux, je n'arrive pas à comprendre ce qui ne va pas dans mon programme.
J'ai crée un session bean qui envoi un message sur une queue (TaskMessagesQueue):

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
@Stateless
public class SenderAgentBean
{
  /** ConnectionFactory */
  @Resource(mappedName = "ConnectionFactory")
  private ConnectionFactory _connectionFactory;
 
  /** ConnectionFactory */
  @Resource(mappedName = "queue/TaskMessagesQueue")
  private Destination _destination;
 
 /**
   * send a JMS Message
   */
  public void sendMessage()
  {
    Connection connection = null;
    Session session = null;
 
    try
    {
      connection = _connectionFactory.createConnection();
      session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
      MessageProducer producer = session.createProducer(_destination);
 
 
      MapMessage msg = session.createMapMessage();
 
      msg.setStringProperty("Action", "Backup");
 
      producer.send(msg);
 
    }
    catch (JMSException e)
    {
      closeJMSConnection(connection, session);
    }
    closeJMSConnection(connection, session);
 
  }
J'ai un MessageDriven Bean qui devrait récuperer le message envoyé (j'utilise un message selector):

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(activationConfig = {
  @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
  @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/TaskMessagesQueue"),
  @ActivationConfigProperty(propertyName = "messagingType", propertyValue = "javax.jms.MessageListener"),
  @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "Action = 'Backup'"),
  @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") })
public class BackupActivator implements MessageListener
{
 
  public void onMessage(Message msg)
  {
    System.out.println("LE MESSAGE EST PASSE");
  }
}
Mais rien n'y fait, le message n'arrive jamais jusqu'au MessageDriven Bean...

J'ai bien crée la queue 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
<?xml version="1.0" encoding="UTF-8"?>
 
<server>
 
<!-- Queues -->
 
	<mbean code="org.jboss.mq.server.jmx.Queue"
		name="jboss.mq.destination:service=Queue,name=TaskMessagesQueue">
		<depends optional-attribute-name="DestinationManager">
			jboss.mq:service=DestinationManager
		</depends>
	</mbean>
 
</server>
Bref, le onMessage() du MessageDriven bean n'est jamais déclenché...
J'ai du zapper quelque chose, mais j'ai beau regarder, encore et encore, je vois pas...
Si jamais peut m'aider... c'est pas de refus!
Merci d'avance!