6 Replies Latest reply on Apr 22, 2003 5:24 AM by Adrian Brock

    Who can tell me how to deploy a MDB on jboss?

    yjyang Newbie

      Who can tell me how to deploy a MDB on jboss?
      Which file i need to deploy?
      in jboss.xml what I should write?
      I have deploy a MDB on jboss,but when i run its client, it tell me the Exception as follow:
      JMS_example-client:
      [java] javax.naming.NameNotFoundException: QueueConnectionFactory not bound
      my jboss.xml is:
      <?xml version="1.0" encoding="UTF-8"?>


      JBoss JavaMail Sample Application
      <display-name>Mailer EJB</display-name>
      <enterprise-beans>

      <display-name>MessageTester</display-name>
      <ejb-name>MessageTester</ejb-name>

      <resource-ref>
      <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
      <destination-jndi-name>queue/QueueConnectionFactory</destination-jndi-name>
      <jndi-name>queue/QueueConnectionFactory</jndi-name>
      </resource-ref>
      <resource-env-ref>
      <resource-env-ref-name>jms/Queue</resource-env-ref-name>
      <jndi-name>jms/Queue</jndi-name>

      </enterprise-beans>

      <resource-managers>
      <resource-manager>
      <res-name>queue</res-name>
      <res-jndi-name>QueueConnectionFactory</res-jndi-name>
      </resource-manager>
      </resource-managers>


        • 1. Re: Who can tell me how to deploy a MDB on jboss?
          Juha Lindfors Master

          QueueConnectionFactory has been replaced by ConnectionFactory. Check your config and make the appropriate changes.

          • 2. Re: Who can tell me how to deploy a MDB on jboss?
            yjyang Newbie

            Thank you!
            But when i used the "ConnectionFactory" instead of "QueueConnectionFactory",it told me the following errors:
            JMS_example-client:
            [java] javax.naming.NameNotFoundException: jms not bound
            [java] at org.jnp.server.NamingServer.getBinding(NamingServer.java:495)

            [java] at org.jnp.server.NamingServer.getBinding(NamingServer.java:503)

            [java] at org.jnp.server.NamingServer.getObject(NamingServer.java:509)
            [java] at org.jnp.server.NamingServer.lookup(NamingServer.java:253)
            [java] at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
            [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
            hodAccessorImpl.java:25)
            [java] at java.lang.reflect.Method.invoke(Method.java:324)
            [java] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.jav
            a:261)
            [java] at sun.rmi.transport.Transport$1.run(Transport.java:148)
            [java] at java.security.AccessController.doPrivileged(Native Method)
            [java] at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
            [java] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTranspor
            t.java:460)
            [java] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPT
            ransport.java:701)
            [java] at java.lang.Thread.run(Thread.java:536)
            [java] at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServe
            r(StreamRemoteCall.java:247)
            [java] at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCa
            ll.java:223)
            [java] at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
            [java] at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
            [java] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:48
            4)
            [java] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:46
            3)
            [java] at javax.naming.InitialContext.lookup(InitialContext.java:347)
            [java] at JMS_example.MsgListener.main(MsgListener.java:28)
            What i do to resolve the problem?
            Did you tell me how to configue it?Thank you very much!

            • 3. Re: Who can tell me how to deploy a MDB on jboss?
              Juha Lindfors Master

              Is your queue bound under jms/Queue or queue/Queue?

              Check the JNDIView mbean from the jmx-console to see the correct lookup names your components are bound under.


              • 4. Re: Who can tell me how to deploy a MDB on jboss?
                yjyang Newbie

                Thanks Juha Lindfors! I have opened the Jndiview tree,But I'm a new comer.I don't know what it means.Now I attach my jndiview:

                Operation list Results
                Back to Agent View
                Back to MBean View
                --------------------------------------------------------------------------------

                Ejb Module: file%/D%/jboss-tom/server/default/deploy/MessageJAR.jar
                java:comp namespace of the MsgBean bean:
                +- UserTransaction (class: javax.transaction.UserTransaction)
                +- env (class: org.jnp.interfaces.NamingContext)
                | +- ConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
                | +- MailSession[link -> java:/Mail] (class: javax.naming.LinkRef)

                Ejb Module: file%/D%/jboss-tom/server/default/deploy/ejb-management.jar
                java:comp namespace of the MEJB bean:
                +- env (class: org.jnp.interfaces.NamingContext)
                | +- Server-Name (class: java.lang.String)

                Ejb Module: file%/D%/jboss-tom/server/default/deploy/jmx-ejb-adaptor.jar
                java:comp namespace of the jmx/ejb/Adaptor bean:
                +- env (class: org.jnp.interfaces.NamingContext)
                | +- Server-Name (class: java.lang.String)

                Ejb Module: file%/D%/jboss-tom/server/default/deploy/testJAR.jar
                java:comp namespace of the CompIntAgent bean:
                +- UserTransaction (class: javax.transaction.UserTransaction)
                +- env (class: org.jnp.interfaces.NamingContext)
                | +- ejb (class: org.jnp.interfaces.NamingContext)
                | | +- CompoundInterestService[link -> CompIntService] (class: javax.naming.LinkRef)

                java:comp namespace of the CompIntService bean:
                +- UserTransaction (class: javax.transaction.UserTransaction)
                +- env (class: org.jnp.interfaces.NamingContext)

                java: Namespace
                +- DefaultDS (class: org.jboss.resource.adapter.jdbc.local.LocalDataSource)
                +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                +- SecurityProxyFactory (class: org.jboss.security.SubjectSecurityProxyFactory)
                +- PostgresDS (class: org.jboss.resource.adapter.jdbc.local.LocalDataSource)
                +- DefaultJMSProvider (class: org.jboss.jms.jndi.JBossMQProvider)
                +- CounterService (class: org.jboss.varia.counter.CounterService)
                +- comp (class: javax.naming.Context)
                +- JmsXA (class: org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl)
                +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
                +- jaas (class: javax.naming.Context)
                | +- JmsXARealm (class: org.jboss.security.plugins.SecurityDomainContext)
                | +- jbossmq (class: org.jboss.security.plugins.SecurityDomainContext)
                +- timedCacheFactory (class: javax.naming.Context)
                Failed to lookup: timedCacheFactory, errmsg=org.jboss.util.TimedCachePolicy
                +- TransactionPropagationContextExporter (class: org.jboss.tm.TransactionPropagationContextFactory)
                +- Mail (class: javax.mail.Session)
                +- StdJMSPool (class: org.jboss.jms.asf.StdServerSessionPoolFactory)
                +- TransactionPropagationContextImporter (class: org.jboss.tm.TransactionPropagationContextImporter)
                +- TransactionManager (class: org.jboss.tm.TxManager)

                Global JNDI Namespace
                +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                +- jmx:yjyang:rmi (class: org.jboss.jmx.adaptor.rmi.RMIAdaptorImpl)
                +- UserTransactionSessionFactory (class: org.jboss.tm.usertx.server.UserTransactionSessionFactoryImpl)
                +- RMIXAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                +- topic (class: org.jnp.interfaces.NamingContext)
                | +- testDurableTopic (class: org.jboss.mq.SpyTopic)
                | +- testTopic (class: org.jboss.mq.SpyTopic)
                | +- securedTopic (class: org.jboss.mq.SpyTopic)
                +- queue (class: org.jnp.interfaces.NamingContext)
                | +- A (class: org.jboss.mq.SpyQueue)
                | +- testQueue (class: org.jboss.mq.SpyQueue)
                | +- ex (class: org.jboss.mq.SpyQueue)
                | +- MsgBean (class: org.jboss.mq.SpyQueue)
                | +- DLQ (class: org.jboss.mq.SpyQueue)
                | +- D (class: org.jboss.mq.SpyQueue)
                | +- C (class: org.jboss.mq.SpyQueue)
                | +- B (class: org.jboss.mq.SpyQueue)
                +- CompIntService (proxy: $Proxy23 implements interface compIntService.CompoundInterestServiceHome,interface javax.ejb.Handle)
                +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
                +- RMIConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
                +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
                +- ejb (class: org.jnp.interfaces.NamingContext)
                | +- mgmt (class: org.jnp.interfaces.NamingContext)
                | | +- MEJB (proxy: $Proxy13 implements interface javax.management.j2ee.ManagementHome,interface javax.ejb.Handle)
                | +- jmx (class: org.jnp.interfaces.NamingContext)
                | | +- ejb (class: org.jnp.interfaces.NamingContext)
                | | | +- Adaptor (proxy: $Proxy17 implements interface org.jboss.jmx.adaptor.interfaces.AdaptorHome,interface javax.ejb.Handle)
                +- invokers (class: org.jnp.interfaces.NamingContext)
                | +- yjyang (class: org.jnp.interfaces.NamingContext)
                | | +- pooled (class: org.jboss.invocation.pooled.interfaces.PooledInvokerProxy)
                | | +- jrmp (class: org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy)
                | | +- http (class: org.jboss.invocation.http.interfaces.HttpInvokerProxy)
                +- CompoundInterestAgent (proxy: $Proxy22 implements interface compIntAgent.CompoundInterestAgentHome,interface javax.ejb.Handle)
                +- jmx (class: org.jnp.interfaces.NamingContext)
                | +- rmi (class: org.jnp.interfaces.NamingContext)
                | | +- RMIAdaptor (class: org.jboss.jmx.adaptor.rmi.RMIAdaptorImpl)
                +- UILXAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
                +- UILConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)

                Can you tell me What are the correct lookup names my components bound are?
                Thank you very much for your help


                • 5. Re: Who can tell me how to deploy a MDB on jboss?
                  yjyang Newbie

                  Thanks.The previous problem has been resolved.But when i go on to run the client,it appeared the new problem as following:
                  16:54:50,185 WARN [OILServerILService] Connection failure (1).
                  java.net.SocketException: Connection reset by peer: JVM_recv in socket input str
                  eam read
                  at java.net.SocketInputStream.socketRead0(Native Method)
                  at java.net.SocketInputStream.read(SocketInputStream.java:116)
                  at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
                  at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
                  at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java
                  :2118)
                  at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(Object
                  InputStream.java:2301)
                  at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStre
                  am.java:2368)
                  at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream
                  .java:2440)
                  at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputSt
                  ream.java:2589)
                  at java.io.ObjectInputStream.readByte(ObjectInputStream.java:837)
                  at org.jboss.mq.il.oil.OILServerILService$Client.run(OILServerILService.
                  java:205)
                  at java.lang.Thread.run(Thread.java:536)

                  Can you help me resolve it ?

                  • 6. Re: Who can tell me how to deploy a MDB on jboss?
                    Adrian Brock Master

                    +- queue (class: org.jnp.interfaces.NamingContext)
                    | +- A (class: org.jboss.mq.SpyQueue)
                    | +- testQueue (class: org.jboss.mq.SpyQueue)
                    | +- ex (class: org.jboss.mq.SpyQueue)
                    | +- MsgBean (class: org.jboss.mq.SpyQueue)
                    | +- DLQ (class: org.jboss.mq.SpyQueue)
                    | +- D (class: org.jboss.mq.SpyQueue)
                    | +- C (class: org.jboss.mq.SpyQueue)
                    | +- B (class: org.jboss.mq.SpyQueue)

                    The only one that doesn't come in the standard
                    config is queue/MsgBean

                    Regards,
                    Adrian