Avatar billede jonas82 Nybegynder
30. marts 2005 - 13:21 Der er 1 kommentar og
1 løsning

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>
Avatar billede jonas82 Nybegynder
30. marts 2005 - 14:31 #1
Jeg har prøvet at tilføje køen jf. http://docs.jboss.org/jbossas/getting_started/startguide40/mdb.html :
<mbean code="org.jboss.mq.server.jmx.Queue"
      name="jboss.mq.destination:service=Queue,name=ExchangeQueue">
</mbean>

Det giver en kæmpe fejl når JBoss starter:
MBeans waiting for other MBeans:
ObjectName: jboss.mq.destination:service=Queue,name=ExchangeQueue
state: FAILED
I Depend On:
Depends On Me: java.lang.IllegalArgumentException: null object name

MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
ObjectName: jboss.mq.destination:service=Queue,name=ExchangeQueue
state: FAILED
I Depend On:
Depends On Me: java.lang.IllegalArgumentException: null object name
Avatar billede jonas82 Nybegynder
30. marts 2005 - 14:49 #2
Fejlen forsvandt umiddelbart ved at tilføje følgende:
    <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=ExchangeQueue">
        <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
    </mbean>


Så kan jeg komme videre med at få bønnen og noget testklient værk til at fungere. Der kommer sikkert flere spørgsmål ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester