Hjælp til messagebean
Jeg er ved at kigge lidt på at lave en messagebean der skal køre på JBoss. Ind til videre skal den ikke kunne andet end at udskrive den messages den modtager. Her er hvad jeg er nået frem til ved at læse div. artikler. Når jeg deployer til JBoss får jeg følgende fejl:11:37:12,765 INFO [EjbModule] Deploying ExchangeMessageEJB
11:37:14,796 WARN [JMSContainerInvoker] Could not find the queue destination-jn
di-name=queue/ExchangeQueue
11:37:14,796 WARN [JMSContainerInvoker] destination not found: queue/ExchangeQu
eue reason: javax.naming.NameNotFoundException: ExchangeQueue not bound
11:37:14,796 WARN [JMSContainerInvoker] creating a new temporary destination: q
ueue/ExchangeQueue
11:37:14,812 INFO [ExchangeQueue] Bound to JNDI name: queue/ExchangeQueue
Her er min MessageBean....
package ejb.exchange.mdb;
import javax.ejb.MessageDrivenBean;
import javax.ejb.EJBException;
import javax.ejb.MessageDrivenContext;
import javax.ejb.CreateException;
import javax.jms.*;
public class ExchangeMessageBean implements MessageDrivenBean, MessageListener {
public ExchangeMessageBean() {
}
public void onMessage(Message message) {
try{
TextMessage textMsg = (TextMessage)message;
String text = textMsg.getText();
System.out.println("\n Har modtaget meddelelse: "+text);
} catch(JMSException jmsE) {jmsE.printStackTrace();}
}
public void ejbRemove() throws EJBException {
}
public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext) throws EJBException {
}
public void ejbCreate() {
}
}
ejb-jar.xml....
<message-driven>
<ejb-name>ExchangeMessageEJB</ejb-name>
<ejb-class>ejb.exchange.mdb.ExchangeMessageBean</ejb-class>
<transaction-type>Container</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
<subscription-durability>Durable</subscription-durability>
</message-driven-destination>
<resource-ref>
<res-ref-name>jms/QueueFactory</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</message-driven>
Jboss.xml...
<message-driven>
<ejb-name>ExchangeMessageEJB</ejb-name>
<destination-jndi-name>queue/ExchangeQueue</destination-jndi-name>
<resource-ref>
<res-ref-name>jms/QueueFactory</res-ref-name>
<jndi-name>java:/JmsXA</jndi-name>
</resource-ref>
</message-driven>
