# Message Driven Bean soll keine Nachrichten empfangen



## Cinimod (8. Aug 2005)

Hallo,

mein Client schickt eine Nachricht an den Server bzw. an eine dort liegende Message Driven Bean, welche die Nachricht verarbeitet und eine Session Bean aufruft, die wiederum eine "Antwort" an den Client schickt. 

Problem ist nun, dass, wenn die Nachricht an den Client geschickt wird, es wieder über das gleiche Topic läuft, und die Message Driven Bean nun die Nachricht, welche eigentlich für den Client gedacht ist, von der Session Bean "abfängt".

Wie kann ich dieses Problem am besten beheben?

Danke für Hilfe im voraus!


----------



## Bleiglanz (9. Aug 2005)

in dem du verschiedene Topics nimmst?

ist doch klar, dass die MDB die Nachricht gleich wieder selbst in empfang nimmt

alternativ: message selector einstellen um zu verhindern, dass die MDB gewisse Nachrichten abholt


----------



## Cinimod (9. Aug 2005)

ok, ich habe folgendes in meine ejb-jar.xml eingefügt

```
<activation-property>
       <activation-config-property-name>messageSelector</activation-config-property-name>
       <activation-config-property-value>Destination = 'Server'</activation-config-property-value>
 </activation-property>
```
und von der Session Bean aus verschicke ich eine Nachricht, nachdem ich folgendes gesetzt habe:

message.setStringProperty("Destination", "Client");

trotzdem wird die Nachricht von der MDBean empfangen...

weiterhin Danke im voraus!


----------



## Bleiglanz (9. Aug 2005)

hau mal ein 

<message-selector>TRUE</message-selector>

mit dazu?


----------



## Cinimod (9. Aug 2005)

hi, funktioniert leider noch nicht. Noch eine Idee? 


```
<message-driven>
     <ejb-name>MDLogin</ejb-name>
     <ejb-class>beans.mdriven.MDLogin</ejb-class>
     <messaging-type>javax.jms.MessageListener</messaging-type>
     <transaction-type>Container</transaction-type>
     <message-destination-type>javax.jms.Topic</message-destination-type>
     <message-selector>TRUE</message-selector>
     <activation-config>
      <activation-property>
       <activation-config-property-name>destinationType</activation-config-property-name>
       <activation-config-property-value>javax.jms.Topic</activation-config-property-value>
      </activation-property>
      <activation-property>
       <activation-config-property-name>messageSelector</activation-config-property-name>
       <activation-config-property-value>Destination = 'Server'</activation-config-property-value>
      </activation-property>
      <activation-property>
       <activation-config-property-name>acknowledgeMode</activation-config-property-name>
       <activation-config-property-value>Auto-acknowledge</activation-config-property-value>
      </activation-property>
     </activation-config>

     <resource-ref>
	  <res-ref-name>MailTopicFactory</res-ref-name>
	  <res-type>javax.jms.TopicConnectionFactory</res-type>
	  <res-auth>Container</res-auth>
     </resource-ref>

    
     <security-identity>
      <run-as>
       <role-name>everyone</role-name>
      </run-as>
     </security-identity>
</message-driven>
```

Weiterhin Danke für Hilfe im voraus!


----------

