7 Replies Latest reply on May 17, 2006 11:22 AM by timfox

    Message Queues with DatabaseServerLoginModule

    psmith

      I seem to be having trouble getting a reference to the Queue from jndi. I've setup a Scoped queue as follows:

      <?xml version="1.0" encoding="UTF-8"?>
      <server>
       <loader-repository>jboss.messaging:loader=ScopedLoaderRepository
       <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
       </loader-repository>
       <mbean code="org.jboss.jms.server.destination.Queue"
       name="jboss.messaging.destination:service=Queue,name=pulseMailQueue"
       xmbean-dd="xmdesc/Queue-xmbean.xml">
       <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
       <attribute name="SecurityConfig">
       <security>
       <role name="Customer" read="true" write="true" create="true"/>
       <role name="Supplier" read="true" write="true" create="true"/>
       <role name="PulseAdmin" read="true" write="true" create="true"/>
       </security>
       </attribute>
       <attribute name="FullSize">75000</attribute>
       <attribute name="PageSize">2000</attribute>
       <attribute name="DownCacheSize">2000</attribute>
       </mbean>
      </server>
      

      The messaging-server.xml is as follows:

      <?xml version="1.0" encoding="UTF-8"?>
      
      
      <!--
       The JBoss Messaging service deployment descriptor.
      
       $Id: messaging-service.xml,v 1.1 2006/05/02 02:45:10 ovidiu Exp $
       -->
      
      <server>
      
       <mbean code="org.jboss.jms.server.ServerPeer"
       name="jboss.messaging:service=ServerPeer"
       xmbean-dd="xmdesc/ServerPeer-xmbean.xml">
      
       <constructor>
       <!-- ServerPeerID -->
       <arg type="java.lang.String" value="server.0" />
       <!-- DefaultQueueJNDIContext -->
       <arg type="java.lang.String" value="/queue" />
       <!-- DefaultTopicJNDIContext -->
       <arg type="java.lang.String" value="/topic" />
       </constructor>
      
       <depends optional-attribute-name="ThreadPool">jboss.messaging:service=ThreadPool</depends>
       <depends optional-attribute-name="PersistenceManager">jboss.messaging:service=PersistenceManager</depends>
       <depends optional-attribute-name="MessageStore">jboss.messaging:service=MessageStore</depends>
       <depends optional-attribute-name="ChannelMapper">jboss.messaging:service=ChannelMapper</depends>
      
       <!-- Set to -1 to completely disable client leasing -->
       <attribute name="SecurityDomain">java:/jaas/pulse-domain</attribute>
       <attribute name="DefaultSecurityConfig">
       <security>
       <role name="Supplier" read="true" write="true" create="true"/>
       </security>
       </attribute>
       </mbean>
      
       <!-- Plug-ins -->
      
       <mbean code="org.jboss.jms.server.plugin.DefaultThreadPool"
       name="jboss.messaging:service=ThreadPool"
       xmbean-dd="xmdesc/DefaultThreadPool-xmbean.xml">
       <constructor>
       <!-- the default pool size -->
       <arg type="int" value="40" />
       </constructor>
       </mbean>
      
       <mbean code="org.jboss.messaging.core.plugin.SimpleMessageStore"
       name="jboss.messaging:service=MessageStore"
       xmbean-dd="xmdesc/SimpleMessageStore-xmbean.xml">
       <constructor>
       <!-- StoreID -->
       <arg type="java.lang.String" value="store.0" />
       </constructor>
       </mbean>
      
      </server>
      
      


      The login-config.xml domain config is as follows:

       <application-policy name = "pulse-domain">
       <authentication>
       <login-module
       code="au.com.pulse.common.providers.jaas.LoggableDatabaseServerLoginModule"
       flag="required">
       <module-option name="dsJndiName">java:/jdbc/ScorpionJAAS</module-option>
       <module-option name = "unauthenticatedIdentity">anonymous</module-option>
       <module-option name="principalsQuery">
       <![CDATA[
       SELECT PASSWORD
       FROM P_USER
       WHERE LOGIN=?
       AND ACTIVE=1
       AND EFFECTIVE <= NOW()
       AND (EXPIRES IS NULL OR EXPIRES >= NOW()) ]]>
       </module-option>
       <module-option name="rolesQuery">
       <![CDATA[
       SELECT NAME, 'Roles'
       FROM VW_USER_ROLES
       WHERE login = ? ]]>
       </module-option>
       <!--module-option name="hashAlgorithm">SHA-1</module-option>
       <module-option name="hashEncoding">hex</module-option-->
       <module-option name="enableLogging">true</module-option>
       </login-module>
       <login-module code="org.jboss.security.ClientLoginModule" flag="required" />
       </authentication>
       </application-policy>
      

      LoggableDatabaseServerLoginModule is just a subclass of DatabaseServerLoginModule that does some log statements on the method calls.

      When I try to get a queue using the following EJB3 session bean code the Queue is always null. I can get the ConnectionFactory,
      and the connection and establish a Session ok but cannot get the Queue from jndi:
      @Stateless
      @SecurityDomain(IPulseConstants.SECURITY_DOMAIN) //<-- this is "pulse-domain"
      @Remote( { IMailFacade.class })
      @RemoteBinding(jndiBinding = IMailFacade.JNDI_NAME_REMOTE)
      public class MailFacadeBean implements IMailFacade {
      
       Log log = LogFactory.getLog(MailFacadeBean.class);
      
       @Resource(authenticationType = AuthenticationType.CONTAINER)
       private SessionContext ctx;
      
       @TransactionAttribute(TransactionAttributeType.SUPPORTS)
       public void sendMail(String inputMessage) throws Exception {
       String destinationName = "/queue/pulseMailQueue";
      
       ConnectionFactory cf = null;
       Connection connection = null;
       Connection connection2 = null;
      
       try {
       cf = (ConnectionFactory) ctx.lookup("java:/ConnectionFactory");
       Queue queue = (Queue) ctx.lookup(destinationName);
       log.info("Queue " + destinationName + " exists");
      
       connection = cf.createConnection();
      
      


      I authenticate before calling the session bean and the caller principal is ok and also isCallerInRole("Supplier") returns true.

      Not sure what else to try.

      (I have edited this post since its original post.. .just to format these XMLs properly... edited by Clebert)

        • 1. Re: Message Queues with DatabaseServerLoginModule
          timfox

          Can you try redeploying your queue then seeing if you can see it on the jndi viewer, via the jmx console?

          http://jboss.org/wiki/Wiki.jsp?page=DisplayTheJDNITreeWithTheJMXConsole

          You should see the queue there.

          If not, then it looks like it hasn't deployed properly.

          • 2. Re: Message Queues with DatabaseServerLoginModule
            psmith

            I've checked the namespace and it appears that the queue has deployed correctly

            java: Namespace

            +- XAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
            +- DefaultDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
            +- SecurityProxyFactory (class: org.jboss.security.SubjectSecurityProxyFactory)
            +- DefaultJMSProvider (class: org.jboss.jms.jndi.JNDIProviderAdapter)
            +- comp (class: javax.naming.Context)
            +- jdbc (class: org.jnp.interfaces.NamingContext)
            | +- ElephantXA (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
            | +- JBPM (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
            | +- Elephant (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
            | +- ScorpionJAAS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
            +- JmsXA (class: org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl)
            +- ConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
            +- timedCacheFactory (class: javax.naming.Context)
            Failed to lookup: timedCacheFactory, errmsg=org.jboss.util.TimedCachePolicy
            +- jaas (class: javax.naming.Context)
            | +- pulse-domain (class: org.jboss.security.plugins.SecurityDomainContext)
            | +- JmsXARealm (class: org.jboss.security.plugins.SecurityDomainContext)
            | +- HsqlDbRealm (class: org.jboss.security.plugins.SecurityDomainContext)
            +- TransactionPropagationContextExporter (class: org.jboss.tm.TransactionPropagationContextFactory)
            +- Mail (class: javax.mail.Session)
            +- StdJMSPool (class: org.jboss.jms.asf.StdServerSessionPoolFactory)
            +- comp.ejb3 (class: javax.naming.Context)
            | NonContext: null
            +- TransactionPropagationContextImporter (class: org.jboss.tm.TransactionPropagationContextImporter)
            +- jbpm (class: org.jnp.interfaces.NamingContext)
            | +- JbpmConfiguration (class: org.jbpm.JbpmConfiguration)
            +- TransactionManager (class: org.jboss.tm.TxManager)


            Global JNDI Namespace

            +- XAConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
            +- au (class: org.jnp.interfaces.NamingContext)
            | +- com (class: org.jnp.interfaces.NamingContext)
            | | +- pulse (class: org.jnp.interfaces.NamingContext)
            | | | +- online (class: org.jnp.interfaces.NamingContext)
            | | | | +- ejb3 (class: org.jnp.interfaces.NamingContext)
            | | | | | +- abr (class: org.jnp.interfaces.NamingContext)
            | | | | | | +- AustralianBusinessRegisterFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- local (proxy: $Proxy93 implements interface au.com.pulse.online.ejb3.abr.IAustralianBusinessRegisterLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | +- remote (proxy: $Proxy92 implements interface au.com.pulse.online.bi.abr.IAustralianBusinessRegister,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- AustralianBusinessRegisterTranslatorFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- local (proxy: $Proxy96 implements interface au.com.pulse.online.ejb3.abr.IAustralianBusinessRegisterTranslatorLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | +- remote (proxy: $Proxy95 implements interface au.com.pulse.online.bi.abr.IAustralianBusinessRegisterTranslator,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | +- bi (class: org.jnp.interfaces.NamingContext)
            | | | | | | +- supplier (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- SupplierFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy117 implements interface au.com.pulse.online.ejb3.supplier.ISupplierFacadeLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy116 implements interface au.com.pulse.online.bi.supplier.ISupplierFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- dummy (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- DummyFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- remote (proxy: $Proxy106 implements interface au.com.pulse.online.bi.dummy.IDummyFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- concept (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- ConceptFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- remote (proxy: $Proxy102 implements interface au.com.pulse.online.bi.concept.IConceptFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- user (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- UserFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy119 implements interface au.com.pulse.online.ejb3.user.IUserFacadeLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy118 implements interface au.com.pulse.online.bi.user.IUserFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- entity (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- EntityFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy108 implements interface au.com.pulse.online.ejb3.entity.IEntityFacadeLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy107 implements interface au.com.pulse.online.bi.entity.IEntityFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- person (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- PersonFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy112 implements interface au.com.pulse.online.ejb3.person.IPersonFacadeLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy111 implements interface au.com.pulse.online.bi.person.IPersonFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- creditcard (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- CreditCardFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- remote (proxy: $Proxy105 implements interface au.com.pulse.online.bi.creditcard.ICreditCardFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- service (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- SupplierService (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- remote (proxy: $Proxy115 implements interface au.com.pulse.online.bi.service.ISupplierService,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | | +- PersonService (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy114 implements interface au.com.pulse.online.ejb3.service.IPersonServiceLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy113 implements interface au.com.pulse.online.bi.service.IPersonService,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- contact (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- ContactFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy104 implements interface au.com.pulse.online.ejb3.contact.IContactFacadeLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy103 implements interface au.com.pulse.online.bi.contact.IContactFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- locality (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- LocalityFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- remote (proxy: $Proxy109 implements interface au.com.pulse.online.bi.locality.ILocalityFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- address (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- AddressFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy99 implements interface au.com.pulse.online.ejb3.address.IAddressFacadeLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy98 implements interface au.com.pulse.online.bi.address.IAddressFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- mailer (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- MailFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- remote (proxy: $Proxy110 implements interface au.com.pulse.online.bi.mailer.IMailFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            | | | | | | +- codetype (class: org.jnp.interfaces.NamingContext)
            | | | | | | | +- CodeTypeFacade (class: org.jnp.interfaces.NamingContext)
            | | | | | | | | +- local (proxy: $Proxy101 implements interface au.com.pulse.online.ejb3.codetype.ICodeTypeFacadeLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
            | | | | | | | | +- remote (proxy: $Proxy100 implements interface au.com.pulse.online.bi.codetype.ICodeTypeFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
            +- EventDispatcher (class: org.jboss.ws.eventing.mgmt.DispatcherDelegate)
            +- UserTransactionSessionFactory (proxy: $Proxy35 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
            +- topic (class: org.jnp.interfaces.NamingContext)
            | +- testDurableTopic (class: org.jboss.jms.destination.JBossTopic)
            | +- openTopic (class: org.jboss.jms.destination.JBossTopic)
            | +- testTopic (class: org.jboss.jms.destination.JBossTopic)
            | +- securedTopic (class: org.jboss.jms.destination.JBossTopic)
            +- queue (class: org.jnp.interfaces.NamingContext)
            | +- A (class: org.jboss.jms.destination.JBossQueue)
            | +- testQueue (class: org.jboss.jms.destination.JBossQueue)
            | +- pulseMailQueue (class: org.jboss.jms.destination.JBossQueue)
            | +- ex (class: org.jboss.jms.destination.JBossQueue)
            | +- DLQ (class: org.jboss.jms.destination.JBossQueue)
            | +- D (class: org.jboss.jms.destination.JBossQueue)
            | +- C (class: org.jboss.jms.destination.JBossQueue)
            | +- B (class: org.jboss.jms.destination.JBossQueue)
            +- ConnectionFactory (class: org.jboss.jms.client.JBossConnectionFactory)
            +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
            +- jmx (class: org.jnp.interfaces.NamingContext)
            | +- invoker (class: org.jnp.interfaces.NamingContext)
            | | +- RMIAdaptor (proxy: $Proxy34 implements interface org.jboss.jmx.adaptor.rmi.RMIAdaptor,interface org.jboss.jmx.adaptor.rmi.RMIAdaptorExt)
            | +- rmi (class: org.jnp.interfaces.NamingContext)
            | | +- RMIAdaptor[link -> jmx/invoker/RMIAdaptor] (class: javax.naming.LinkRef)


            The pulseMailQueue is present under the queue subcontext.

            • 3. Re: Message Queues with DatabaseServerLoginModule
              timfox

              So, the queue appears to bound in JNDI as revealed by jndiview, but a simple lookup does not get the queue?

              
               String destinationName = "/queue/pulseMailQueue";
              
              Queue queue = (Queue) ctx.lookup(destinationName);
              log.info("Queue " + destinationName + " exists");
              
              


              If you cannot find the object in jndi then I suggest you check your JNDI settings, this doesn't involve any JBossMessaging code.

              • 4. Re: Message Queues with DatabaseServerLoginModule
                psmith

                That is correct. Do you have any suggestions as to what to look for in the JNDI settings that might be the cause? I'm not sure what would be the difference because the lookup of the ConnectionFactory all works fine. ie)

                ConnectionFactory cf = ctx.lookup("java:/ConnectionFactory");
                


                • 5. Re: Message Queues with DatabaseServerLoginModule
                  psmith

                  Something else I have noticed is that when I use the JMX console to bind another queue into jndi it all works fine and no error messages occur. Also the jndi viewer shows the newley bound queue in there but you cannot lookup the queue from jndi. BTW I am using EJB3 so the context is bound using the following:

                   @Resource(authenticationType = AuthenticationType.CONTAINER)
                   private SessionContext ctx;
                  


                  Also if you try to delete the queue using the supposedly bound jndi name via the JMX console I get the following error:
                  Caused by: javax.management.InstanceNotFoundException: jboss.messaging.destination:service=Queue,name=/queue/pulseMailQueue is not registered.
                   at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:523)
                   at org.jboss.mx.server.MBeanServerImpl.getAttribute(MBeanServerImpl.java:550)
                   at org.jboss.jms.server.ServerPeer.destroyDestination(ServerPeer.java:738)
                   at org.jboss.jms.server.ServerPeer.destroyQueue(ServerPeer.java:386)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                   at java.lang.reflect.Method.invoke(Method.java:585)
                   at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                   ... 33 more
                  


                  How can something be not registered in jndi and yet it shows up in the jndi viewer?

                  As you can see from the startup log there are no messages:
                  =========================================================================
                  
                   JBoss Bootstrap Environment
                  
                   JBOSS_HOME: c:\Java\AppServers\JBoss\jboss-4.0.4RC2
                  
                   JAVA: /cygdrive/c/Java/SDK/jdk1.5.0_05/bin/java
                  
                   JAVA_OPTS: -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4142,suspend=n -Dprogram.name=bash -Dprogram.name=bash -Dprogram.name=bash -Dprogram.name=bash -Dprogram.name=bash -Dprogram.name=bash
                  
                   CLASSPATH: c;c;c;c;c;c:\Java\AppServers\JBoss\jboss-4.0.4RC2\bin\run.jar;c;c;c;c;c;c:\Java\SDK\jdk1.5.0_05\lib\tools.jar;c;c;c;c;c:\Java\AppServers\JBoss\jboss-4.0.4RC2\bin\run.jar;c;c;c;c;c:\Java\SDK\jdk1.5.0_05\lib\tools.jar;c;c;c;c:\Java\AppServers\JBoss\jboss-4.0.4RC2\bin\run.jar;c;c;c;c:\Java\SDK\jdk1.5.0_05\lib\tools.jar;c;c;c:\Java\AppServers\JBoss\jboss-4.0.4RC2\bin\run.jar;c;c;c:\Java\SDK\jdk1.5.0_05\lib\tools.jar;c;c:\Java\AppServers\JBoss\jboss-4.0.4RC2\bin\run.jar;c;c:\Java\SDK\jdk1.5.0_05\lib\tools.jar;c:\Java\AppServers\JBoss\jboss-4.0.4RC2\bin\run.jar;c:\Java\SDK\jdk1.5.0_05\lib\tools.jar
                  
                  =========================================================================
                  
                  Listening for transport dt_socket at address: 4142
                  20:33:34,625 INFO [Server] Starting JBoss (MX MicroKernel)...
                  20:33:34,625 INFO [Server] Release ID: JBoss [Zion] 4.0.4.CR2 (build: CVSTag=JBoss_4_0_4_CR2 date=200603311500)
                  20:33:34,625 INFO [Server] Home Dir: C:\Java\AppServers\JBoss\jboss-4.0.4RC2
                  20:33:34,640 INFO [Server] Home URL: file:/C:/Java/AppServers/JBoss/jboss-4.0.4RC2/
                  20:33:34,640 INFO [Server] Patch URL: null
                  20:33:34,640 INFO [Server] Server Name: pulse-with-messaging
                  20:33:34,640 INFO [Server] Server Home Dir: C:\Java\AppServers\JBoss\jboss-4.0.4RC2\server\pulse-with-messaging
                  20:33:34,640 INFO [Server] Server Home URL: file:/C:/Java/AppServers/JBoss/jboss-4.0.4RC2/server/pulse-with-messaging/
                  20:33:34,640 INFO [Server] Server Log Dir: C:\Java\AppServers\JBoss\jboss-4.0.4RC2\server\pulse-with-messaging\log
                  20:33:34,640 INFO [Server] Server Temp Dir: C:\Java\AppServers\JBoss\jboss-4.0.4RC2\server\pulse-with-messaging\tmp
                  20:33:34,640 INFO [Server] Root Deployment Filename: jboss-service.xml
                  20:33:35,046 INFO [ServerInfo] Java version: 1.5.0_05,Sun Microsystems Inc.
                  20:33:35,046 INFO [ServerInfo] Java VM: Java HotSpot(TM) Client VM 1.5.0_05-b05,Sun Microsystems Inc.
                  20:33:35,046 INFO [ServerInfo] OS-System: Windows XP 5.1,x86
                  20:33:35,625 INFO [Server] Core system initialized
                  20:33:36,937 INFO [Log4jService$URLWatchTimerTask] Configuring from URL: resource:log4j.xml
                  20:33:38,734 INFO [SocketServerInvoker] Invoker started for locator: InvokerLocator [socket://192.168.1.2:3873/]
                  20:33:39,265 INFO [AspectDeployer] Deployed AOP: file:/C:/Java/AppServers/JBoss/jboss-4.0.4RC2/server/pulse-with-messaging/deploy/ejb3-interceptors-aop.xml
                  20:33:44,093 INFO [WebService] Using RMI server codebase: http://PAULTLAPTOP:8083/
                  20:33:44,296 WARN [EJBTimerServiceImpl] Cannot obtain TransactionManager from JNDI, using TxManager.getInstance(): javax.naming.NameNotFoundException: TransactionManager not bound
                  20:33:46,734 INFO [MailService] Mail Service bound to java:/Mail
                  20:33:47,078 INFO [NamingService] JNDI bootstrap JNP=/0.0.0.0:1099, RMI=/0.0.0.0:1098, backlog=50, no client SocketFactory, Server SocketFactory=class org.jboss.net.sockets.DefaultSocketFactory
                  20:33:47,109 INFO [SubscriptionManager] Bound event dispatcher to java:comp/env/EventDispatcher
                  20:33:48,140 INFO [Embedded] Catalina naming disabled
                  20:33:48,234 INFO [ClusterRuleSetFactory] Unable to find a cluster rule set in the classpath. Will load the default rule set.
                  20:33:48,234 INFO [ClusterRuleSetFactory] Unable to find a cluster rule set in the classpath. Will load the default rule set.
                  20:33:48,796 INFO [Http11BaseProtocol] Initializing Coyote HTTP/1.1 on http-0.0.0.0-8080
                  20:33:49,343 INFO [Http11BaseProtocol] Initializing Coyote HTTP/1.1 on http-0.0.0.0-8443
                  20:33:49,343 INFO [Catalina] Initialization processed in 1109 ms
                  20:33:49,343 INFO [StandardService] Starting service jboss.web
                  20:33:49,359 INFO [StandardEngine] Starting Servlet Engine: Apache Tomcat/5.5.16
                  20:33:49,437 INFO [StandardHost] XML validation disabled
                  20:33:49,515 INFO [Catalina] Server startup in 172 ms
                  20:33:49,750 INFO [TomcatDeployer] deploy, ctxPath=/, warUrl=.../deploy/jbossweb-tomcat55.sar/ROOT.war/
                  20:33:50,484 INFO [WebappLoader] Dual registration of jndi stream handler: factory already defined
                  20:33:51,046 INFO [TomcatDeployer] deploy, ctxPath=/jbossws, warUrl=.../tmp/deploy/tmp3746jbossws.sar-contents/jbossws-exp.war/
                  20:33:51,546 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-local-jdbc.rar
                  20:33:51,640 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-xa-jdbc.rar
                  20:33:51,796 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jms-ra.rar
                  20:33:52,703 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
                  20:33:52,921 WARN [JDBCPersistenceManager]
                  
                  JBoss Messaging Warning: DataSource connection transaction isolation should be READ_COMMITTED, but it is currently NONE.
                   Using an isolation level less strict than READ_COMMITTED may lead to data consistency problems.
                   Using an isolation level more strict than READ_COMMITTED may lead to deadlock.
                  
                  20:33:53,546 INFO [ServerPeer] JBoss Messaging 1.0.1.CR1 server [server.0] started
                  20:33:54,437 INFO [ConnectionFactory] Connector has leasing enabled, lease period 20000 milliseconds
                  20:33:54,437 INFO [ConnectionFactory] [/ConnectionFactory, /XAConnectionFactory, java:/ConnectionFactory, java:/XAConnectionFactory] deployed
                  20:33:54,484 INFO [Queue] Queue[/queue/DLQ] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,515 INFO [Topic] Topic[/topic/testTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,515 INFO [Topic] Topic[/topic/securedTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,531 INFO [Topic] Topic[/topic/testDurableTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,531 INFO [Queue] Queue[/queue/testQueue] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,531 INFO [Queue] Queue[/queue/A] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,546 INFO [Queue] Queue[/queue/B] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,546 INFO [Queue] Queue[/queue/C] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,546 INFO [Queue] Queue[/queue/D] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,546 INFO [Queue] Queue[/queue/ex] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,562 INFO [Topic] Topic[/topic/openTopic] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,609 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
                  20:33:54,609 INFO [Queue] Queue[/queue/pulseMailQueue] started, fullSize=75000, pageSize=2000, downCacheSize=2000
                  20:33:54,953 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/Elephant' to JNDI name 'java:jdbc/Elephant'
                  20:33:54,984 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/ElephantXA' to JNDI name 'java:jdbc/ElephantXA'
                  20:33:55,140 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/ScorpionJAAS' to JNDI name 'java:jdbc/ScorpionJAAS'
                  20:33:55,281 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=jdbc/JBPM' to JNDI name 'java:jdbc/JBPM'
                  20:33:55,296 INFO [JbpmConfiguration] using jbpm configuration resource 'jbpm.cfg.xml'
                  20:33:55,437 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
                  20:33:55,812 INFO [EARDeployer] Init J2EE application: file:/C:/Java/AppServers/JBoss/jboss-4.0.4RC2/server/pulse-with-messaging/deploy/PulseOnline.ear
                  20:34:12,812 INFO [Ejb3Deployment] EJB3 deployment time took: 219
                  20:34:13,609 INFO [Ejb3Deployment] EJB3 deployment time took: 750
                  20:34:13,703 INFO [JmxKernelAbstraction] installing MBean: persistence.units:ear=PulseOnline.ear,unitName=pulse_database with dependencies:
                  20:34:13,703 INFO [JmxKernelAbstraction] jboss.jca:name=jdbc/Elephant,service=ManagedConnectionFactory
                  20:34:13,843 INFO [Environment] Hibernate 3.2 cr1
                  20:34:13,859 INFO [Environment] hibernate.properties not found
                  20:34:13,859 INFO [Environment] Bytecode provider name : cglib
                  20:34:13,875 INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
                  20:34:14,093 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.concept.Concept
                  20:34:14,093 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.concept.Conceptualisation
                  20:34:14,093 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.AddressDetail
                  20:34:14,109 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.CodeType
                  20:34:14,109 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.CodeTypeReadonly
                  20:34:14,109 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.ContactDetail
                  20:34:14,109 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.CreditCardDetail
                  20:34:14,109 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.Entity
                  20:34:14,125 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.Locality
                  20:34:14,125 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.PersonDetail
                  20:34:14,125 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.Relationship
                  20:34:14,125 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.crm.SupplierDetail
                  20:34:14,125 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.security.DelegableRole
                  20:34:14,125 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.security.Role
                  20:34:14,125 INFO [Ejb3Configuration] found EJB3 Entity bean: au.com.pulse.online.persistence.ejb.security.RoleGroup
                  


                  • 6. Re: Message Queues with DatabaseServerLoginModule
                    timfox

                    I'd suggest posting a question in the JNDI users forum.

                    • 7. Re: Message Queues with DatabaseServerLoginModule
                      timfox

                      Can you verify that the EJB3 MDB example in the examples directory works ok for you?