0 Replies Latest reply on Mar 23, 2012 3:05 AM by arturo corona

    jms not bound for a message queue on EJB 3.0/JBOSS 5.0.1.ga

    arturo corona Newbie

      I am having problems deploying an application that attempts to send a message to an EJB 3.0 MDB.  During deployment of the .ear file, I get an error

      in the deployment saying  "jms not bound".  Although the ear file deploys.

      When I run the client app, I get an error that says : Unable to inject jndi dependency:

       

      The  app is  from chapter 2 of EJB 3 in Action. 

       

      It's an EJB 3.0 MDB running on JBOSS 5.0.1.ga and mysql.  All of the tables have been created.

       

      If someone can help me on this I would be very appriciative as I'm now stuck.  I have reviewed many examples, read the JMS Tutorial

      and I feel I'm doing everything correctly thus I'm stuck.

       

      I have pasted below the following :

      The client program

      The program that sends the message

      The MDB

      The destinations-service.xml

      messaging-jboss-beans.xml

      mySQL-ds.xml

      mysql-persistence-service.xml

      connections-factories-servive.xml

      messaging-service.xml

      Server log

      Ant log produced when running the client

       

      mysql-ds.xml

       

      <?xml version="1.0" encoding="UTF-8"?>

      <datasources>

          <local-tx-datasource>

          <jndi-name>DefaultDS</jndi-name>

          <connection-url>jdbc:mysql://localhost:3306/localDB</connection-url>

          <driver-class>com.mysql.jdbc.Driver</driver-class>

          <user-name>SA</user-name>

          <password>password</password>

          <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>

          <metadata>

          <type-mapping>mySQL</type-mapping>

          </metadata>

          </local-tx-datasource>

      </datasources>

       

      destinations-service.xml

       

      <?xml version="1.0" encoding="UTF-8"?>

      <server>

      <mbean code="org.jboss.jms.server.destination.QueueService"
            name="jboss.messaging.destination:service=Queue,name=OrderBillingQueue"
            xmbean-dd="xmdesc/Queue-xmbean.xml">
             <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
            <depends>jboss.messaging:service=PostOffice</depends>
            </mbean> 


      <mbean code="org.jboss.jms.server.destination.QueueService"
            name="jboss.messaging.destination:service=Queue,name=ShippingRequestQueue"
            xmbean-dd="xmdesc/Queue-xmbean.xml">
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
            <depends>jboss.messaging:service=PostOffice</depends>
         </mbean>
        
        
         <mbean code="org.jboss.jms.server.destination.QueueService"
            name="jboss.messaging.destination:service=Queue,name=DLQ"
            xmbean-dd="xmdesc/Queue-xmbean.xml">
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
            <depends>jboss.messaging:service=PostOffice</depends>
         </mbean>
        
           <!--
            The Default Expiry Queue.
         -->

         <mbean code="org.jboss.jms.server.destination.QueueService"
            name="jboss.messaging.destination:service=Queue,name=ExpiryQueue"
            xmbean-dd="xmdesc/Queue-xmbean.xml">
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
            <depends>jboss.messaging:service=PostOffice</depends>
         </mbean>

        
      </server>

       

      messaging-service.xml

       

      <?xml version="1.0" encoding="UTF-8"?>

      <!--
           The JBoss Messaging service deployment descriptor.

           $Id: messaging-service.xml 3880 2008-03-14 15:55:42Z timfox $
      -->

      <server>

         <!-- ServerPeer MBean configuration
              ============================== -->

         <mbean code="org.jboss.jms.server.ServerPeer"
            name="jboss.messaging:service=ServerPeer"
            xmbean-dd="xmdesc/ServerPeer-xmbean.xml">

            <!-- The unique id of the server peer - in a cluster each node MUST have a unique value - must be an integer -->

            <attribute name="ServerPeerID">${jboss.messaging.ServerPeerID:0}</attribute>
           
            <!-- The default JNDI context to use for queues when they are deployed without specifying one -->
           
            <attribute name="DefaultQueueJNDIContext">/queue</attribute>
           
            <!-- The default JNDI context to use for topics when they are deployed without specifying one -->
           
            <attribute name="DefaultTopicJNDIContext">/topic</attribute>

         <attribute name="PostOffice">jboss.messaging:service=PostOffice</attribute>
        
            <!-- The default Dead Letter Queue (DLQ) to use for destinations.
                 This can be overridden on a per destinatin basis -->
           
            <attribute name="DefaultDLQ">jboss.messaging.destination:service=Queue,name=DLQ</attribute>
           
            <!-- The default maximum number of times to attempt delivery of a message before sending to the DLQ (if configured).
                 This can be overridden on a per destinatin basis -->
           
            <attribute name="DefaultMaxDeliveryAttempts">10</attribute>
           
            <!-- The default Expiry Queue to use for destinations. This can be overridden on a per destinatin basis -->
           
            <attribute name="DefaultExpiryQueue">jboss.messaging.destination:service=Queue,name=ExpiryQueue</attribute>
           
            <!-- The default redelivery delay to impose. This can be overridden on a per destination basis -->
           
            <attribute name="DefaultRedeliveryDelay">0</attribute>
           
            <!-- The periodicity of the message counter manager enquiring on queues for statistics -->
           
            <attribute name="MessageCounterSamplePeriod">5000</attribute>
           
            <!-- The maximum amount of time for a client to wait for failover to start on the server side after
                 it has detected failure -->
           
            <attribute name="FailoverStartTimeout">60000</attribute>
           
            <!-- The maximum amount of time for a client to wait for failover to complete on the server side after
                 it has detected failure -->
           
            <attribute name="FailoverCompleteTimeout">300000</attribute>

            <attribute name="StrictTck">false</attribute>
           
            <!-- The maximum number of days results to maintain in the message counter history -->
           
            <attribute name="DefaultMessageCounterHistoryDayLimit">-1</attribute>
           
            <!-- The name of the connection factory to use for creating connections between nodes to pull messages -->
           
            <attribute name="ClusterPullConnectionFactoryName">jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory</attribute>
           
            <!-- When redistributing messages in the cluster. Do we need to preserve the order of messages received
                  by a particular consumer from a particular producer? -->
                 
            <attribute name="DefaultPreserveOrdering">false</attribute>
           
            <!-- Max. time to hold previously delivered messages back waiting for clients to reconnect after failover -->
           
            <attribute name="RecoverDeliveriesTimeout">300000</attribute>
           
            <!-- Set to true to enable message counters that can be viewed via JMX -->
           
            <attribute name="EnableMessageCounters">false</attribute>
           
            <!-- The password used by the message sucker connections to create connections.
                 THIS SHOULD ALWAYS BE CHANGED AT INSTALL TIME TO SECURE SYSTEM
            <attribute name="SuckerPassword"></attribute>
            -->

            <!-- The name of the server aspects configuration resource
            <attribute name="ServerAopConfig">aop/jboss-aop-messaging-server.xml</attribute>
            -->
            <!-- The name of the client aspects configuration resource
              <attribute name="ClientAopConfig">aop/jboss-aop-messaging-client.xml</attribute>
            -->

            <depends optional-attribute-name="PersistenceManager">jboss.messaging:service=PersistenceManager</depends>
           
            <depends optional-attribute-name="JMSUserManager">jboss.messaging:service=JMSUserManager</depends>
           
            <depends>jboss.messaging:service=Connector,transport=bisocket</depends>
            <depends optional-attribute-name="SecurityStore"
                proxy-type="org.jboss.jms.server.SecurityStore">jboss.messaging:service=SecurityStore</depends>
         </mbean>

      </server>

       

       

      connections-factories-service.xml

      <?xml version="1.0" encoding="UTF-8"?>

      <!--
           Messaging Connection Factories deployment descriptor.

           $Id: connection-factories-service.xml 3332 2007-11-15 09:32:43Z timfox $
      -->

      <server>

         <!-- The default connection factory does not support automatic failover or load balancing-
              this is so we can maintain compatiblity with applications written for JBoss MQ which use this
              connection factory.
         -->    
         <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
            name="jboss.messaging.connectionfactory:service=ConnectionFactory"
            xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
            <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
            <depends>jboss.messaging:service=PostOffice</depends>
           
            <attribute name="JNDIBindings">
               <bindings>
                  <binding>/ConnectionFactory</binding>
                  <binding>/XAConnectionFactory</binding>
                  <binding>java:/ConnectionFactory</binding>
                  <binding>java:/XAConnectionFactory</binding>
               </bindings>
            </attribute>
         </mbean>

         <!-- A clustered connection factory that supports automatic failover and load balancing of created
              connections.
              This factory is not suitable to be used by MDBs.
         -->
         <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
            name="jboss.messaging.connectionfactory:service=ClusteredConnectionFactory"
            xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
            <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
            <depends>jboss.messaging:service=PostOffice</depends>

            <attribute name="JNDIBindings">
               <bindings>
                  <binding>/ClusteredConnectionFactory</binding>
                  <binding>/ClusteredXAConnectionFactory</binding>
                  <binding>java:/ClusteredConnectionFactory</binding>
                  <binding>java:/ClusteredXAConnectionFactory</binding>
               </bindings>
            </attribute>

            <attribute name="SupportsFailover">true</attribute>
            <attribute name="SupportsLoadBalancing">true</attribute>     
         </mbean>
        
         <!-- A connection factory with no JNDI bindings that is used in clustering to create the connections that
              pull messages from one node to another
         -->
         <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
            name="jboss.messaging.connectionfactory:service=ClusterPullConnectionFactory"
            xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
            <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=bisocket</depends>
            <depends>jboss.messaging:service=PostOffice</depends>
            <attribute name="SupportsFailover">false</attribute>
            <attribute name="SupportsLoadBalancing">false</attribute>     
         </mbean>
        
         <!-- An example connection factory with all attributes shown
        
         <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
            name="jboss.messaging.connectionfactory:service=MyExampleConnectionFactory"
            xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
           
            <constructor>
           
               <!- - You can specify the default Client ID to use for connections created using this factory - ->
              
               <arg type="java.lang.String" value="MyClientID"/>
              
            </constructor>
           
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
           
            <!- - The transport to use - can be bisocket, sslbisocket or http - ->
           
            <depends optional-attribute-name="Connector">jboss.messaging:service=Connector,transport=http</depends>
           
            <depends>jboss.messaging:service=PostOffice</depends>
           
            <!- - PrefetchSize determines the approximate maximum number of messages the client consumer will buffer locally - ->
           
            <attribute name="PrefetchSize">150</attribute>
           
            <!- - Paging params to be used for temporary queues - ->
           
            <attribute name="DefaultTempQueueFullSize">200000</attribute>
           
            <attribute name="DefaultTempQueuePageSizeSize">2000</attribute>
           
            <attribute name="DefaultTempQueueDownCacheSize">2000</attribute>
           
            <!- - The batch size to use when using the DUPS_OK_ACKNOWLEDGE acknowledgement mode - ->
           
            <attribute name="DupsOKBatchSize">5000</attribute>
           
            <!- - Does this connection factory support automatic failover? - ->
           
            <attribute name="SupportsFailover">false</attribute>
           
            <!- - Does this connection factory support automatic client side load balancing? - ->
           
            <attribute name="SupportsLoadBalancing">false</attribute> 
                 
            <!- - The class name of the factory used to create the load balancing policy to use on the client side - ->
           
            <attribute name="LoadBalancingFactory">org.jboss.jms.client.plugin.RoundRobinLoadBalancingFactory</attribute> 

            <!- - Whether we should be strict TCK compliant, i.e. how we deal with foreign messages, defaults to false- ->

            <attribute name="StrictTck">true</attribute>
           
            <!- - Should acknowledgements be sent asynchronously? - ->
           
            <attribute name="SendAcksAsync">false</attribute>
           
            <!- - Disable JBoss Remoting Connector sanity checks - There is rarely a good reason to set this to true - ->
           
            <attribute name="DisableRemotingChecks">false</attribute>

            <!- - The connection factory will be bound in the following places in JNDI - ->

            <attribute name="JNDIBindings">
           
               <bindings>
              
                  <binding>/acme/MyExampleConnectionFactory</binding>
                 
                  <binding>/acme/MyExampleConnectionFactoryDupe</binding>
                 
                  <binding>java:/xyz/CF1</binding>
                 
                  <binding>java:/connectionfactories/acme/connection_factory</binding>
                 
               </bindings>
              
            </attribute>  
            
         </mbean>
        
         -->

      </server>

       

      ***********Client class****************

       

      package com.ejb3inaction.actionbazaar.client;

      import javax.naming.Context;
      import javax.naming.InitialContext;

      import com.ejb3inaction.actionbazaar.buslogic.PlaceOrder;
      import com.ejb3inaction.actionbazaar.buslogic.PlaceOrderBean;
      import com.ejb3inaction.actionbazaar.persistence.BillingInfo;
      import com.ejb3inaction.actionbazaar.persistence.ShippingInfo;

      public class PlaceOrderClient {
      private static PlaceOrder placeOrder;

      public static void main(String[] args) {
        try {
         Context context = new InitialContext();
         System.out.println("ARTURO : INSIDE MAIN - ABOUNT TO LOOKUP " + "chapter2/" + PlaceOrderBean.class.getSimpleName() + "/remote");
        
         placeOrder = (PlaceOrder) context.lookup("chapter2/" + PlaceOrderBean.class.getSimpleName() + "/remote");
         
          System.out.println("placeOrder = " + placeOrder.toString());
         System.out.println("Exercising PlaceOrder EJB...");
        
         placeOrder.setBidderId(new Long(100));
         placeOrder.addItem(new Long(200));
         placeOrder.addItem(new Long(201));
         placeOrder.setShippingInfo(new ShippingInfo("123 My Sweet Home",
           "My City", "My State"));
         placeOrder.setBillingInfo(new BillingInfo("VISA", "123456789",
           "0708"));
         Long orderId = placeOrder.confirmOrder();
         System.out.println("Added Order: " + orderId);
        } catch (Exception ex) {
         System.out.println("ARTURO : INSIDE MAIN - CATCH");
         ex.printStackTrace();
        }
      }
      }

       

      ******* the class that sends the message ***********

       

      package com.ejb3inaction.actionbazaar.buslogic;

      import java.util.ArrayList;
      import java.util.List;

      import javax.annotation.Resource;
      import javax.ejb.Remove;
      import javax.ejb.Stateful;
      import javax.jms.Connection;
      import javax.jms.MessageProducer;
      import javax.jms.ObjectMessage;
      import javax.jms.Queue;
      import javax.jms.QueueConnectionFactory;
      import javax.jms.Session;
      import javax.persistence.EntityManager;
      import javax.persistence.PersistenceContext;

      import com.ejb3inaction.actionbazaar.persistence.BillingInfo;
      import com.ejb3inaction.actionbazaar.persistence.Order;
      import com.ejb3inaction.actionbazaar.persistence.ShippingInfo;

      @Stateful
      public class PlaceOrderBean implements PlaceOrder {
      @PersistenceContext(unitName = "actionBazaar")
      private EntityManager em;

      @Resource(name = "jms/QueueConnectionFactory", mappedName = "ConnectionFactory")
      private QueueConnectionFactory connectionFactory;

      @Resource(name = "jms/OrderBillingQueue", mappedName = "jms/OrderBillingQueue")
      private Queue billingQueue;

      private Long bidderId;

      private List<Long> items;

      private ShippingInfo shippingInfo;

      private BillingInfo billingInfo;

      public PlaceOrderBean() {
        items = new ArrayList<Long>();
      }

      public void setBidderId(Long bidderId) {
        this.bidderId = bidderId;
      }

      public void addItem(Long itemId) {
        items.add(itemId);
      }

      public void setShippingInfo(ShippingInfo shippingInfo) {
        this.shippingInfo = shippingInfo;
      }

      public void setBillingInfo(BillingInfo billingInfo) {
        this.billingInfo = billingInfo;
      }

      private void saveOrder(Order order) {
        em.persist(order);
      }

      private void billOrder(Order order) {
        try {
         Connection connection = connectionFactory.createConnection();
         Session session = connection.createSession(false,
           Session.AUTO_ACKNOWLEDGE);
         MessageProducer producer = session.createProducer(billingQueue);
         ObjectMessage message = session.createObjectMessage();
         message.setObject(order);
         producer.send(message);
         producer.close();
         session.close();
         connection.close();
        } catch (Exception e) {
         e.printStackTrace();
        }
      }

      @Remove
      public Long confirmOrder() {
        Order order = new Order();
        order.setBidderId(bidderId);
        order.setItems(items);
        order.setShippingInfo(shippingInfo);
        order.setBillingInfo(billingInfo);
        saveOrder(order);
        billOrder(order);
        return order.getOrderId();
      }
      }

       

      ******** MDB class ************

      package com.ejb3inaction.actionbazaar.buslogic;

      import javax.ejb.ActivationConfigProperty;
      import javax.ejb.MessageDriven;
      import javax.jms.Message;
      import javax.jms.MessageListener;
      import javax.jms.ObjectMessage;
      import javax.persistence.EntityManager;
      import javax.persistence.PersistenceContext;

      import com.ejb3inaction.actionbazaar.persistence.Order;
      import com.ejb3inaction.actionbazaar.persistence.OrderStatus;

      @MessageDriven(activationConfig = {
        @ActivationConfigProperty(propertyName = "destination", propertyValue = "jms/OrderBillingQueue"),
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })

      public class OrderBillingMDB implements MessageListener {

      @PersistenceContext(unitName = "actionBazaar")
      private EntityManager em;

      public void onMessage(Message message) {
        try {
         ObjectMessage objectMessage = (ObjectMessage) message;
         Order order = (Order) objectMessage.getObject();

         try {
          bill(order);
          notifyBillingSuccess(order);
          order.setStatus(OrderStatus.COMPLETE);
         } catch (BillingException be) {
          notifyBillingFailure(be, order);
          order.setStatus(OrderStatus.BILLING_FAILED);
         } finally {
          update(order);
         }
        } catch (Exception e) {
         e.printStackTrace();
        }
      }

      private void bill(Order order) throws BillingException {
        // Implement billing code here.
        System.out.println("Account number: "
          + order.getBillingInfo().getAccountNumber() + " charged.");
      }

      private void update(Order order) {
        em.merge(order);
      }

      private void notifyBillingSuccess(Order order) {
        System.out.println("Billing successful.");
      }

      private void notifyBillingFailure(BillingException be, Order order) {
        System.out.println("Billing failed.");
      }
      }

       

      messaging-jboss-beans.xml

      <?xml version="1.0" encoding="UTF-8"?>

      <!--
          Messaging beans
          $Id: messaging-beans.xml 68282 2007-12-14 13:43:52Z alex.loubyansky@jboss.com $
      -->
      <deployment xmlns="urn:jboss:bean-deployer:2.0">

         <!-- messaging application-policy definition -->
         <application-policy xmlns="urn:jboss:security-beans:1.0" name="messaging">
            <authentication>
               <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
                  <module-option name="unauthenticatedIdentity">guest</module-option>
                  <module-option name="dsJndiName">java:/DefaultDS</module-option>
                  <module-option name="principalsQuery">SELECT PASSWD FROM JBM_USER WHERE USER_ID=?</module-option>
                  <module-option name="rolesQuery">SELECT ROLE_ID, 'Roles' FROM JBM_ROLE WHERE USER_ID=?</module-option>
               </login-module>
            </authentication>
         </application-policy>

         <bean name="SecurityStore" class="org.jboss.jms.server.jbosssx.JBossASSecurityMetadataStore">
            <!-- default security configuration -->
            <property name="defaultSecurityConfig">
               <![CDATA[
                  <security>
                     <role name="guest" read="true" write="true" create="true"/>
                  </security>
               ]]>
            </property>
            <property name="suckerPassword">CHANGE ME!!</property>
            <property name="securityDomain">messaging</property>
             <!--property name="securityDomain">JMSRealm</property --> <!-- may add if I re-ad JMSRealm to ;pgin-confil.xml -->
            <property name="securityManagement"><inject bean="JNDIBasedSecurityManagement"/></property>
            <!-- @JMX annotation to export the management view of this bean -->
            <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.messaging:service=SecurityStore",exposedInterface=org.jboss.jms.server.jbosssx.JBossASSecurityMetadataStoreMBean.class)</annotation>
         </bean>

         <bean name="QueueTemplate" class="org.jboss.profileservice.management.templates.JmsDestinationTemplate">
            <property name="info"><inject bean="QueueTemplateInfo"/></property>
         </bean>
         <bean name="QueueTemplateInfo"
            class="org.jboss.profileservice.management.templates.JmsDestinationTemplateInfo">
            <constructor>
               <parameter>QueueTemplate</parameter>
               <parameter>A template for JMS queue *-service.xml deployments</parameter>
               <parameter>queue</parameter>
            </constructor>
         </bean>

         <bean name="TopicTemplate" class="org.jboss.profileservice.management.templates.JmsDestinationTemplate">
            <property name="info"><inject bean="TopicTemplateInfo"/></property>
         </bean>
         <bean name="TopicTemplateInfo"
            class="org.jboss.profileservice.management.templates.JmsDestinationTemplateInfo">
            <constructor>
               <parameter>TopicTemplate</parameter>
               <parameter>A template for JMS topic *-service.xml deployments</parameter>
               <parameter>topic</parameter>
            </constructor>
         </bean>

        <bean name="QueueMODefinition" class="org.jboss.jms.server.destination.QueueMODefinition">
          <constructor>
            <parameter><inject bean="ManagedObjectFactory" /></parameter>
          </constructor>
        </bean>

        <bean name="TopicMODefinition" class="org.jboss.jms.server.destination.TopicMODefinition">
          <constructor>
            <parameter><inject bean="ManagedObjectFactory" /></parameter>
         </constructor>
        </bean>

       

        

      </deployment>

       

      mysql-persistence-service.xml

       

       

      <?xml version="1.0" encoding="UTF-8"?>

      <!--
           MySql persistence deployment descriptor.

           Tested with MySQL 5.0.27

           $Id$
      -->

      <server>

         <!-- Persistence Manager MBean configuration
             ======================================== -->
        
             
         <mbean code="org.jboss.messaging.core.jmx.JDBCPersistenceManagerService"
          name="jboss.messaging:service=PersistenceManager"
            xmbean-dd="xmdesc/JDBCPersistenceManager-xmbean.xml">


           
            <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
           
            <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
           
            <!-- The datasource to use for the persistence manager -->
                         
            <attribute name="DataSource">java:/DefaultDS</attribute>     
           
            <!-- If true will attempt to create tables and indexes on every start-up -->
                       
            <attribute name="CreateTablesOnStartup">false</attribute>
           
            <!-- If true then will use JDBC batch updates -->
                       
            <attribute name="UsingBatchUpdates">true</attribute>
           
          
           
            <!-- The maximum number of parameters to include in a prepared statement -->
                       
            <attribute name="MaxParams">500</attribute>
                
         </mbean>

         <!-- Messaging Post Office MBean configuration
              ========================================= -->
        
         <mbean code="org.jboss.messaging.core.jmx.MessagingPostOfficeService"
            name="jboss.messaging:service=PostOffice"
            xmbean-dd="xmdesc/MessagingPostOffice-xmbean.xml">
           
            <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
                     
            <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
           
            <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
           
            <!-- The name of the post office -->                 
           
            <attribute name="PostOfficeName">JMS post office</attribute>
           
            <!-- The datasource used by the post office to access it's binding information -->                    
           
            <attribute name="DataSource">java:/DefaultDS</attribute>
           
            <!-- If true will attempt to create tables and indexes on every start-up -->
                             
            <attribute name="CreateTablesOnStartup">true</attribute>
           
            <attribute name="SqlProperties"><![CDATA[
      CREATE_POSTOFFICE_TABLE=CREATE TABLE JBM_POSTOFFICE (POSTOFFICE_NAME VARCHAR(255), NODE_ID INTEGER, QUEUE_NAME VARCHAR(255), CONDITION1 VARCHAR(1023), SELECTOR VARCHAR(1023), CHANNEL_ID BIGINT, CLUSTERED CHAR(1), ALL_NODES CHAR(1), PRIMARY KEY(POSTOFFICE_NAME, NODE_ID, QUEUE_NAME)) ENGINE = INNODB
      INSERT_BINDING=INSERT INTO JBM_POSTOFFICE (POSTOFFICE_NAME, NODE_ID, QUEUE_NAME, CONDITION1, SELECTOR, CHANNEL_ID, CLUSTERED, ALL_NODES) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
      DELETE_BINDING=DELETE FROM JBM_POSTOFFICE WHERE POSTOFFICE_NAME=? AND NODE_ID=? AND QUEUE_NAME=?
      LOAD_BINDINGS=SELECT QUEUE_NAME, CONDITION1, SELECTOR, CHANNEL_ID, CLUSTERED, ALL_NODES FROM JBM_POSTOFFICE WHERE POSTOFFICE_NAME=? AND NODE_ID=?
            ]]></attribute>
           
            <!-- This post office is clustered. If you don't want a clustered post office then set to false -->
           
            <attribute name="Clustered">false</attribute>
           
            <!-- All the remaining properties only have to be specified if the post office is clustered.
                 You can safely comment them out if your post office is non clustered -->
           
            <!-- The JGroups group name that the post office will use -->           
           
            <attribute name="GroupName">${jboss.messaging.groupname:MessagingPostOffice}</attribute>
           
            <!-- Max time to wait for state to arrive when the post office joins the cluster -->           
                       
            <attribute name="StateTimeout">300000</attribute>
           
            <!-- Max time to wait for a synchronous call to node members using the MessageDispatcher -->           
                       
            <attribute name="CastTimeout">300000</attribute>
           
            <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
                        
            <!-- By default we use the TCP stack for data -->                 
            <attribute name="DataChannelConfig">     
               <config>
                  <TCP start_port="7900"
                       loopback="true"
                       recv_buf_size="20000000"
                       send_buf_size="640000"
                       discard_incompatible_packets="true"
                       max_bundle_size="64000"
                       max_bundle_timeout="30"
                       use_incoming_packet_handler="true"
                       use_outgoing_packet_handler="false"
                       down_thread="false" up_thread="false"
                       enable_bundling="false"
                       use_send_queues="false"
                       sock_conn_timeout="300"
                       skip_suspected_members="true"/>
                  <MPING timeout="4000"         
                 mcast_addr="${jboss.messaging.datachanneludpaddress:228.6.6.6}"
                 mcast_port="${jboss.messaging.datachanneludpport:45567}"
                 ip_ttl="${jboss.messaging.ipttl:8}"
                 num_initial_members="2"
                 num_ping_requests="1"/>                    
                  <MERGE2 max_interval="100000"
                          down_thread="false" up_thread="false" min_interval="20000"/>
                  <FD_SOCK down_thread="false" up_thread="false"/>           
                  <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
                  <pbcast.NAKACK max_xmit_size="60000"
                                 use_mcast_xmit="false" gc_lag="0"
                                 retransmit_timeout="300,600,1200,2400,4800"
                                 down_thread="false" up_thread="false"
                                 discard_delivered_msgs="true"/>
                  <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
                                 down_thread="false" up_thread="false"
                                 max_bytes="400000"/>
                  <pbcast.GMS print_local_addr="true" join_timeout="3000"
                              down_thread="false" up_thread="false"
                              join_retry_timeout="2000" shun="false"
                              view_bundling="true"/>
              </config>       
            </attribute>
           
            <!-- JGroups stack configuration to use for the control channel - used for control messages -->        
                   
            <!-- We use udp stack for the control channel -->
            <attribute name="ControlChannelConfig">
               <config>
                  <UDP
                       mcast_addr="${jboss.messaging.controlchanneludpaddress:228.7.7.7}"
                       mcast_port="${jboss.messaging.controlchanneludpport:45568}"
                       tos="8"
                       ucast_recv_buf_size="20000000"
                       ucast_send_buf_size="640000"
                       mcast_recv_buf_size="25000000"
                       mcast_send_buf_size="640000"
                       loopback="false"
                       discard_incompatible_packets="true"
                       max_bundle_size="64000"
                       max_bundle_timeout="30"
                       use_incoming_packet_handler="true"
                       use_outgoing_packet_handler="false"
                       ip_ttl="${jboss.messaging.ipttl:2}"
                       down_thread="false" up_thread="false"
                       enable_bundling="false"/>
                  <PING timeout="2000"
                        down_thread="false" up_thread="false" num_initial_members="3"/>
                  <MERGE2 max_interval="100000"
                          down_thread="false" up_thread="false" min_interval="20000"/>
                  <FD_SOCK down_thread="false" up_thread="false"/>
                  <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
                  <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
                  <pbcast.NAKACK max_xmit_size="60000"
                                 use_mcast_xmit="false" gc_lag="0"
                                 retransmit_timeout="300,600,1200,2400,4800"
                                 down_thread="false" up_thread="false"
                                 discard_delivered_msgs="true"/>
                  <UNICAST timeout="300,600,1200,2400,3600"
                           down_thread="false" up_thread="false"/>
                  <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
                                 down_thread="false" up_thread="false"
                                 max_bytes="400000"/>
                  <pbcast.GMS print_local_addr="true" join_timeout="3000" use_flush="true" flush_timeout="3000"
                              down_thread="false" up_thread="false"
                              join_retry_timeout="2000" shun="false"
                              view_bundling="true"/>
                  <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
                  <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="true" flush_timeout="3000"/>
                  <pbcast.FLUSH down_thread="false" up_thread="false" timeout="20000" auto_flush_conf="false"/>
              </config>
           </attribute>   
           
         </mbean>
        
         <!-- Messaging JMS User Manager MBean config
              ======================================= -->
           
         <mbean code="org.jboss.jms.server.plugin.JDBCJMSUserManagerService"
            name="jboss.messaging:service=JMSUserManager"
            xmbean-dd="xmdesc/JMSUserManager-xmbean.xml">
            <depends>jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
            <depends optional-attribute-name="TransactionManager">jboss:service=TransactionManager</depends>
            <attribute name="DataSource">java:/DefaultDS</attribute>
            <attribute name="CreateTablesOnStartup">true</attribute>
            <attribute name="SqlProperties"><![CDATA[
      CREATE_USER_TABLE=CREATE TABLE JBM_USER (USER_ID VARCHAR(32) NOT NULL, PASSWD VARCHAR(32) NOT NULL, CLIENTID VARCHAR(128), PRIMARY KEY(USER_ID)) ENGINE = INNODB
      CREATE_ROLE_TABLE=CREATE TABLE JBM_ROLE (ROLE_ID VARCHAR(32) NOT NULL, USER_ID VARCHAR(32) NOT NULL, PRIMARY KEY(USER_ID, ROLE_ID)) ENGINE = INNODB
      SELECT_PRECONF_CLIENTID=SELECT CLIENTID FROM JBM_USER WHERE USER_ID=?
      POPULATE.TABLES.1  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('guest', 'guest')
      POPULATE.TABLES.2  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('j2ee', 'j2ee')
      POPULATE.TABLES.3  = INSERT INTO JBM_USER (USER_ID, PASSWD, CLIENTID) VALUES ('john', 'needle', 'DurableSubscriberExample')
      POPULATE.TABLES.4  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('nobody', 'nobody')
      POPULATE.TABLES.5  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('dynsub', 'dynsub')
      POPULATE.TABLES.6  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('guest','guest')
      POPULATE.TABLES.7  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('j2ee','guest')
      POPULATE.TABLES.8  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('john','guest')
      POPULATE.TABLES.9  = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('subscriber','john')
      POPULATE.TABLES.10 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','john')
      POPULATE.TABLES.11 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('publisher','dynsub')
      POPULATE.TABLES.12 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','john')
      POPULATE.TABLES.13 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('durpublisher','dynsub')
      POPULATE.TABLES.14 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('noacc','nobody')
            ]]></attribute>
         </mbean>

      </server>

       

      The server log

      Terminate batch job (Y/N)? y

      C:\jboss-5.0.1.GA\bin>run
      ===============================================================================

        JBoss Bootstrap Environment

        JBOSS_HOME: c:\jboss-5.0.1.GA

        JAVA: c:\jdk1.6.0_30\bin\java

        JAVA_OPTS: -Dprogram.name=run.bat -server -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000

        CLASSPATH: c:\jboss-5.0.1.GA\bin\run.jar

      ===============================================================================

      21:36:58,926 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
      21:36:58,942 INFO  [ServerImpl] Release ID: JBoss [Morpheus] 5.0.1.GA (build: SVNTag=JBoss_5_0_1_GA date=200902231221)
      21:36:58,942 INFO  [ServerImpl] Bootstrap URL: null
      21:36:58,942 INFO  [ServerImpl] Home Dir: C:\jboss-5.0.1.GA
      21:36:58,942 INFO  [ServerImpl] Home URL: file:/C:/jboss-5.0.1.GA/
      21:36:58,942 INFO  [ServerImpl] Library URL: file:/C:/jboss-5.0.1.GA/lib/
      21:36:58,957 INFO  [ServerImpl] Patch URL: null
      21:36:58,957 INFO  [ServerImpl] Common Base URL: file:/C:/jboss-5.0.1.GA/common/
      21:36:58,957 INFO  [ServerImpl] Common Library URL: file:/C:/jboss-5.0.1.GA/common/lib/
      21:36:58,973 INFO  [ServerImpl] Server Name: default
      21:36:58,973 INFO  [ServerImpl] Server Base Dir: C:\jboss-5.0.1.GA\server
      21:36:58,973 INFO  [ServerImpl] Server Base URL: file:/C:/jboss-5.0.1.GA/server/
      21:36:58,973 INFO  [ServerImpl] Server Config URL: file:/C:/jboss-5.0.1.GA/server/default/conf/
      21:36:58,973 INFO  [ServerImpl] Server Home Dir: C:\jboss-5.0.1.GA\server\default
      21:36:58,988 INFO  [ServerImpl] Server Home URL: file:/C:/jboss-5.0.1.GA/server/default/
      21:36:58,988 INFO  [ServerImpl] Server Data Dir: C:\jboss-5.0.1.GA\server\default\data
      21:36:58,988 INFO  [ServerImpl] Server Library URL: file:/C:/jboss-5.0.1.GA/server/default/lib/
      21:36:59,004 INFO  [ServerImpl] Server Log Dir: C:\jboss-5.0.1.GA\server\default\log
      21:36:59,004 INFO  [ServerImpl] Server Native Dir: C:\jboss-5.0.1.GA\server\default\tmp\native
      21:36:59,004 INFO  [ServerImpl] Server Temp Dir: C:\jboss-5.0.1.GA\server\default\tmp
      21:36:59,004 INFO  [ServerImpl] Server Temp Deploy Dir: C:\jboss-5.0.1.GA\server\default\tmp\deploy
      21:37:00,611 INFO  [ServerImpl] Starting Microcontainer, bootstrapURL=file:/C:/jboss-5.0.1.GA/server/default/conf/bootstrap.xml
      21:37:01,984 INFO  [VFSCacheFactory] Initializing VFSCache [org.jboss.virtual.plugins.cache.CombinedVFSCache]
      21:37:01,999 INFO  [VFSCacheFactory] Using VFSCache [CombinedVFSCache[real-cache: null]]
      21:37:02,764 INFO  [CopyMechanism] VFS temp dir: C:\jboss-5.0.1.GA\server\default\tmp
      21:37:02,764 INFO  [ZipEntryContext] VFS force nested jars copy-mode is enabled.
      21:37:05,946 INFO  [ServerInfo] Java version: 1.6.0_30,Sun Microsystems Inc.
      21:37:05,946 INFO  [ServerInfo] Java Runtime: Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
      21:37:05,946 INFO  [ServerInfo] Java VM: Java HotSpot(TM) 64-Bit Server VM 20.5-b03,Sun Microsystems Inc.
      21:37:05,962 INFO  [ServerInfo] OS-System: Windows 7 6.1,amd64
      21:37:06,055 INFO  [JMXKernel] Legacy JMX core initialized
      21:37:12,467 INFO  [ProfileServiceImpl] Loading profile: default from: org.jboss.system.server.profileservice.repository.SerializableDeploymentRepository@2a5b8e8c(root=C:\jboss-5.0.1.GA\server, key=or
      g.jboss.profileservice.spi.ProfileKey@143b82c3[domain=default,server=default,name=default])
      21:37:12,482 INFO  [ProfileImpl] Using repository:org.jboss.system.server.profileservice.repository.SerializableDeploymentRepository@2a5b8e8c(root=C:\jboss-5.0.1.GA\server, key=org.jboss.profileservic
      e.spi.ProfileKey@143b82c3[domain=default,server=default,name=default])
      21:37:12,482 INFO  [ProfileServiceImpl] Loaded profile: ProfileImpl@521d590d{key=org.jboss.profileservice.spi.ProfileKey@143b82c3[domain=default,server=default,name=default]}
      21:37:17,386 INFO  [WebService] Using RMI server codebase: http://127.0.0.1:8083/
      21:37:17,729 WARN  [NamingBeanImpl] Context.PROVIDER_URL in server jndi.properties, url=localhost:1099
      21:37:33,441 INFO  [NativeServerConfig] JBoss Web Services - Stack Native Core
      21:37:33,456 INFO  [NativeServerConfig] 3.0.5.GA
      21:37:51,670 INFO  [ContainerDependencyMetaData] addJndiDependency, JndiDependencyMetaData@652554d5{jms/OrderBillingQueue}
      21:37:51,763 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@1253439612{vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/chapter2.ear/chapter2-ejb.jar/}
      21:37:51,779 INFO  [Ejb3DependenciesDeployer] Encountered deployment AbstractVFSDeploymentContext@1253439612{vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/chapter2.ear/chapter2-ejb.jar/}
      21:37:57,426 INFO  [JMXConnectorServerService] JMX Connector server: service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector
      21:37:57,879 INFO  [MailService] Mail Service bound to java:/Mail
      21:38:01,779 WARN  [JBossASSecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its
      password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this.
      21:38:01,903 WARN  [AnnotationCreator] No ClassLoader provided, using TCCL: org.jboss.managed.api.annotation.ManagementComponent
      21:38:02,278 INFO  [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc.
      21:38:02,278 INFO  [TransactionManagerService] Setting up property manager MBean and JMX layer
      21:38:03,027 INFO  [TransactionManagerService] Initializing recovery manager
      21:38:03,463 INFO  [TransactionManagerService] Recovery manager configured
      21:38:03,463 INFO  [TransactionManagerService] Binding TransactionManager JNDI Reference
      21:38:03,573 INFO  [TransactionManagerService] Starting transaction recovery manager
      21:38:05,102 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080
      21:38:05,102 INFO  [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-127.0.0.1-8009
      21:38:05,102 INFO  [StandardService] Starting service jboss.web
      21:38:05,118 INFO  [StandardEngine] Starting Servlet Engine: JBoss Web/2.1.2.GA
      21:38:05,274 INFO  [Catalina] Server startup in 325 ms
      21:38:05,383 INFO  [TomcatDeployment] deploy, ctxPath=/invoker
      21:38:06,787 INFO  [TomcatDeployment] deploy, ctxPath=/jbossws
      21:38:06,928 INFO  [TomcatDeployment] deploy, ctxPath=/web-console
      21:38:07,895 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
      21:38:07,957 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml
      21:38:08,035 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/jms-ra.rar/META-INF/ra.xml
      21:38:08,176 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/mail-ra.rar/META-INF/ra.xml
      21:38:08,269 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/quartz-ra.rar/META-INF/ra.xml
      21:38:08,488 INFO  [SimpleThreadPool] Job execution threads will use class loader of thread: main
      21:38:08,550 INFO  [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
      21:38:08,566 INFO  [RAMJobStore] RAMJobStore initialized.
      21:38:08,566 INFO  [StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
      21:38:08,566 INFO  [StdSchedulerFactory] Quartz scheduler version: 1.5.2
      21:38:08,566 INFO  [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
      21:38:09,252 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
      21:38:10,500 WARN  [JDBCPersistenceManager]

      JBoss Messaging Warning: DataSource connection transaction isolation should be READ_COMMITTED, but it is currently REPEATABLE_READ.
                               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.

      21:38:12,060 INFO  [ServerPeer] JBoss Messaging 1.4.1.GA server [0] started
      21:38:12,606 INFO  [QueueService] Queue[/queue/ExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
      21:38:12,653 INFO  [QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000
      21:38:12,809 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
      21:38:12,809 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@5141928f started
      21:38:12,856 INFO  [QueueService] Queue[/queue/ShippingRequestQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
      21:38:12,902 INFO  [QueueService] Queue[/queue/OrderBillingQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
      21:38:12,902 WARN  [ConnectionFactoryJNDIMapper] supportsFailover attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non c
      lustered. So connection factory will *not* support failover
      21:38:12,918 WARN  [ConnectionFactoryJNDIMapper] supportsLoadBalancing attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is
      non clustered. So connection factory will *not* support load balancing
      21:38:12,934 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
      21:38:12,934 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@6f658567 started
      21:38:12,949 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
      21:38:12,949 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@7fee6f88 started
      21:38:12,965 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
      21:38:13,152 INFO  [TomcatDeployment] deploy, ctxPath=/
      21:38:13,324 INFO  [TomcatDeployment] deploy, ctxPath=/jmx-console
      21:38:13,792 INFO  [TomcatDeployment] deploy, ctxPath=/murachch14email
      21:38:15,710 INFO  [JBossASKernel] Created KernelDeployment for: chapter2-ejb.jar
      21:38:15,726 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=OrderBillingMDB,service=EJB3
      21:38:15,726 INFO  [JBossASKernel]   with dependencies:
      21:38:15,726 INFO  [JBossASKernel]   and demands:
      21:38:15,726 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
      21:38:15,726 INFO  [JBossASKernel]      persistence.unit:unitName=chapter2.ear/chapter2-ejb.jar#actionBazaar
      21:38:15,726 INFO  [JBossASKernel]   and supplies:
      21:38:15,726 INFO  [JBossASKernel]      jndi:null
      21:38:15,726 INFO  [JBossASKernel]      Class:javax.jms.MessageListener
      21:38:15,726 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=OrderBillingMDB,service=EJB3) to KernelDeployment of: chapter2-ejb.jar
      21:38:15,742 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=PlaceBid,service=EJB3
      21:38:15,742 INFO  [JBossASKernel]   with dependencies:
      21:38:15,742 INFO  [JBossASKernel]   and demands:
      21:38:15,742 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
      21:38:15,742 INFO  [JBossASKernel]      persistence.unit:unitName=chapter2.ear/chapter2-ejb.jar#actionBazaar
      21:38:15,742 INFO  [JBossASKernel]   and supplies:
      21:38:15,742 INFO  [JBossASKernel]      jndi:chapter2/PlaceBid/remote-com.ejb3inaction.actionbazaar.buslogic.PlaceBid
      21:38:15,742 INFO  [JBossASKernel]      jndi:chapter2/PlaceBid/remote
      21:38:15,742 INFO  [JBossASKernel]      Class:com.ejb3inaction.actionbazaar.buslogic.PlaceBid
      21:38:15,742 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=PlaceBid,service=EJB3) to KernelDeployment of: chapter2-ejb.jar
      21:38:15,742 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=PlaceOrderBean,service=EJB3
      21:38:15,742 INFO  [JBossASKernel]   with dependencies:
      21:38:15,742 INFO  [JBossASKernel]   and demands:
      21:38:15,742 INFO  [JBossASKernel]      jboss.ejb:service=EJBTimerService
      21:38:15,742 INFO  [JBossASKernel]      persistence.unit:unitName=chapter2.ear/chapter2-ejb.jar#actionBazaar
      21:38:15,742 INFO  [JBossASKernel]   and supplies:
      21:38:15,742 INFO  [JBossASKernel]      jndi:chapter2/PlaceOrderBean/remote
      21:38:15,742 INFO  [JBossASKernel]      jndi:chapter2/PlaceOrderBean/remote-com.ejb3inaction.actionbazaar.buslogic.PlaceOrder
      21:38:15,742 INFO  [JBossASKernel]      Class:com.ejb3inaction.actionbazaar.buslogic.PlaceOrder
      21:38:15,742 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=PlaceOrderBean,service=EJB3) to KernelDeployment of: chapter2-ejb.jar
      21:38:16,007 INFO  [PersistenceUnitDeployment] Starting persistence unit persistence.unit:unitName=chapter2.ear/chapter2-ejb.jar#actionBazaar
      21:38:16,210 INFO  [Version] Hibernate Annotations 3.4.0.GA
      21:38:16,272 INFO  [Environment] Hibernate 3.3.1.GA
      21:38:16,303 INFO  [Environment] hibernate.properties not found
      21:38:16,303 INFO  [Environment] Bytecode provider name : javassist
      21:38:16,334 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
      21:38:16,615 INFO  [Version] Hibernate Commons Annotations 3.1.0.GA
      21:38:16,646 INFO  [Version] Hibernate EntityManager 3.4.0.GA
      21:38:16,818 WARN  [Ejb3Configuration] Persistence provider caller does not implement the EJB3 spec correctly. PersistenceUnitInfo.getNewTempClassLoader() is null.
      21:38:17,099 INFO  [AnnotationBinder] Binding entity from annotated class: com.ejb3inaction.actionbazaar.persistence.Bid
      21:38:17,302 INFO  [EntityBinder] Bind entity com.ejb3inaction.actionbazaar.persistence.Bid on table BIDS
      21:38:17,489 INFO  [AnnotationBinder] Binding entity from annotated class: com.ejb3inaction.actionbazaar.persistence.Order
      21:38:17,489 INFO  [EntityBinder] Bind entity com.ejb3inaction.actionbazaar.persistence.Order on table ORDERS
      21:38:17,567 INFO  [Version] Hibernate Validator 3.1.0.GA
      21:38:17,738 INFO  [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
      21:38:18,269 INFO  [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
      21:38:18,284 INFO  [InjectedDataSourceConnectionProvider] Using provided datasource
      21:38:18,284 INFO  [SettingsFactory] RDBMS: MySQL, version: 5.5.19
      21:38:18,284 INFO  [SettingsFactory] JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.18 ( Revision: tonci.grgin@oracle.com-20110930151701-jfj14ddfq48ifkfq )
      21:38:18,347 INFO  [Dialect] Using dialect: org.hibernate.dialect.MySQLDialect
      21:38:18,362 INFO  [TransactionFactoryFactory] Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
      21:38:18,378 INFO  [TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
      21:38:18,378 INFO  [TransactionManagerLookupFactory] instantiated TransactionManagerLookup
      21:38:18,394 INFO  [SettingsFactory] Automatic flush during beforeCompletion(): disabled
      21:38:18,394 INFO  [SettingsFactory] Automatic session close at end of transaction: disabled
      21:38:18,394 INFO  [SettingsFactory] JDBC batch size: 15
      21:38:18,394 INFO  [SettingsFactory] JDBC batch updates for versioned data: disabled
      21:38:18,394 INFO  [SettingsFactory] Scrollable result sets: enabled
      21:38:18,394 INFO  [SettingsFactory] JDBC3 getGeneratedKeys(): enabled
      21:38:18,394 INFO  [SettingsFactory] Connection release mode: auto
      21:38:18,394 INFO  [SettingsFactory] Maximum outer join fetch depth: 2
      21:38:18,394 INFO  [SettingsFactory] Default batch fetch size: 1
      21:38:18,394 INFO  [SettingsFactory] Generate SQL with comments: disabled
      21:38:18,394 INFO  [SettingsFactory] Order SQL updates by primary key: disabled
      21:38:18,394 INFO  [SettingsFactory] Order SQL inserts for batching: disabled
      21:38:18,394 INFO  [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
      21:38:18,409 INFO  [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
      21:38:18,409 INFO  [SettingsFactory] Query language substitutions: {}
      21:38:18,409 INFO  [SettingsFactory] JPA-QL strict compliance: enabled
      21:38:18,409 INFO  [SettingsFactory] Second-level cache: enabled
      21:38:18,409 INFO  [SettingsFactory] Query cache: disabled
      21:38:18,425 INFO  [SettingsFactory] Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
      21:38:18,440 INFO  [RegionFactoryCacheProviderBridge] Cache provider: org.hibernate.cache.HashtableCacheProvider
      21:38:18,440 INFO  [SettingsFactory] Optimize cache for minimal puts: disabled
      21:38:18,440 INFO  [SettingsFactory] Cache region prefix: persistence.unit:unitName=chapter2.ear/chapter2-ejb.jar#actionBazaar
      21:38:18,440 INFO  [SettingsFactory] Structured second-level cache entries: disabled
      21:38:18,456 INFO  [SettingsFactory] Statistics: disabled
      21:38:18,456 INFO  [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
      21:38:18,472 INFO  [SettingsFactory] Default entity-mode: pojo
      21:38:18,472 INFO  [SettingsFactory] Named query checking : enabled
      21:38:18,706 INFO  [SessionFactoryImpl] building session factory
      21:38:19,345 INFO  [SessionFactoryObjectFactory] Factory name: persistence.unit:unitName=chapter2.ear/chapter2-ejb.jar#actionBazaar
      21:38:19,345 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}

      21:38:19,423 INFO  [NamingHelper] Creating subcontext: persistence.unit:unitName=chapter2.ear
      21:38:19,454 INFO  [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.unit:unitName=chapter2.ear/chapter2-ejb.jar#actionBazaar
      21:38:19,454 WARN  [SessionFactoryObjectFactory] InitialContext did not implement EventContext
      21:38:19,486 INFO  [SchemaUpdate] Running hbm2ddl schema update
      21:38:19,486 INFO  [SchemaUpdate] fetching database metadata
      21:38:19,486 INFO  [SchemaUpdate] updating schema
      21:38:19,642 INFO  [TableMetadata] table found: localDB.bids
      21:38:19,642 INFO  [TableMetadata] columns: [bid_id, bidder_id, bid_price, item_id, bid_date]
      21:38:19,642 INFO  [TableMetadata] foreign keys: []
      21:38:19,642 INFO  [TableMetadata] indexes: [primary]
      21:38:19,704 INFO  [TableMetadata] table found: localDB.orders
      21:38:19,704 INFO  [TableMetadata] columns: [bidder_id, account_number, status, street, state, expiry_date, order_id, city, credit_card_type]
      21:38:19,704 INFO  [TableMetadata] foreign keys: []
      21:38:19,704 INFO  [TableMetadata] indexes: [primary]
      21:38:19,720 INFO  [SchemaUpdate] schema update complete
      21:38:19,735 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}

      21:38:20,578 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=PlaceBid,service=EJB3
      21:38:20,624 INFO  [EJBContainer] STARTED EJB: com.ejb3inaction.actionbazaar.buslogic.PlaceBidBean ejbName: PlaceBid
      21:38:20,734 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=chapter2.ear,jar=chapter2-ejb.jar,name=PlaceOrderBean,service=EJB3
      21:38:20,749 INFO  [EJBContainer] STARTED EJB: com.ejb3inaction.actionbazaar.buslogic.PlaceOrderBean ejbName: PlaceOrderBean
      21:38:20,812 INFO  [EJBContainer] STARTED EJB: com.ejb3inaction.actionbazaar.buslogic.OrderBillingMDB ejbName: OrderBillingMDB
      21:38:21,061 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:

              chapter2/PlaceOrderBean/remote - EJB3.x Default Remote Business Interface
              chapter2/PlaceOrderBean/remote-com.ejb3inaction.actionbazaar.buslogic.PlaceOrder - EJB3.x Remote Business Interface

      21:38:21,326 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:

              chapter2/PlaceBid/remote - EJB3.x Default Remote Business Interface
              chapter2/PlaceBid/remote-com.ejb3inaction.actionbazaar.buslogic.PlaceBid - EJB3.x Remote Business Interface

      21:38:22,231 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
      21:38:22,528 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
      21:38:22,559 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.1.GA (build: SVNTag=JBoss_5_0_1_GA date=200902231221)] Started in 1m:23s:539ms

      21:38:23,651 WARN  [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms/OrderBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true
      DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      javax.naming.NameNotFoundException: jms not bound
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
              at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
              at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
              at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
              at sun.rmi.transport.Transport$1.run(Transport.java:159)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
              at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
              at org.jboss.util.naming.Util.lookup(Util.java:222)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:729)
              at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
              at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      21:38:33,822 INFO  [JmsActivation] Attempting to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms
      /OrderBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D
      LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      21:38:33,853 ERROR [JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms/Ord
      erBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHa
      ndler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      javax.naming.NameNotFoundException: jms not bound
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
              at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
              at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
              at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
              at sun.rmi.transport.Transport$1.run(Transport.java:159)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
              at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
              at org.jboss.util.naming.Util.lookup(Util.java:222)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:292)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:733)
              at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
              at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      21:38:43,868 INFO  [JmsActivation] Attempting to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms
      /OrderBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D
      LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      21:38:43,900 ERROR [JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms/Ord
      erBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHa
      ndler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      javax.naming.NameNotFoundException: jms not bound
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
              at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
              at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
              at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
              at sun.rmi.transport.Transport$1.run(Transport.java:159)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
              at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
              at org.jboss.util.naming.Util.lookup(Util.java:222)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:292)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:733)
              at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
              at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      21:38:53,915 INFO  [JmsActivation] Attempting to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms
      /OrderBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D
      LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      21:38:53,946 ERROR [JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms/Ord
      erBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHa
      ndler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      javax.naming.NameNotFoundException: jms not bound
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
              at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
              at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
              at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
              at sun.rmi.transport.Transport$1.run(Transport.java:159)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
              at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
              at org.jboss.util.naming.Util.lookup(Util.java:222)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:292)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:733)
              at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
              at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      21:39:03,977 INFO  [JmsActivation] Attempting to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms
      /OrderBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D
      LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      21:39:04,008 ERROR [JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms/Ord
      erBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHa
      ndler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      javax.naming.NameNotFoundException: jms not bound
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
              at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
              at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
              at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
              at sun.rmi.transport.Transport$1.run(Transport.java:159)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
              at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
              at org.jboss.util.naming.Util.lookup(Util.java:222)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:292)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:733)
              at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
              at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      21:39:14,023 INFO  [JmsActivation] Attempting to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms
      /OrderBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true D
      LQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      21:39:14,101 ERROR [JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@485fd4e6(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@eb74118 destination=jms/Ord
      erBillingQueue destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHa
      ndler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
      javax.naming.NameNotFoundException: jms not bound
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
              at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
              at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
              at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
              at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
              at sun.rmi.transport.Transport$1.run(Transport.java:159)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
              at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
              at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
              at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
              at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
              at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
              at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
              at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
              at org.jboss.util.naming.Util.lookup(Util.java:222)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:292)
              at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:733)
              at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
              at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)

       

      The ant log

       

      Microsoft Windows [Version 6.1.7601]
      Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

      C:\Windows\System32>cd \ejb 3 in action\code_examples\chapter2

      C:\EJB 3 in Action\code_examples\chapter2>ant run-sfsb

       

      c:\jdk1.6.0_30
      c:\jdk1.6.0_30

       

      Buildfile: C:\EJB 3 in Action\code_examples\chapter2\build.xml

      common:
           [echo] BuildName: chapter2
           [echo] BuildHome: C:\EJB 3 in Action\code_examples\chapter2
           [echo] BuildFile: C:\EJB 3 in Action\code_examples\chapter2\build.xml
           [echo] BuildJVM: 1.6

      java-env-check:

      init:
           [echo] -----> Initializing project properties

      run-sfsb:
           [echo] Executing client class using ./build/chapter2-sfsb-client.jar
           [java] log4j:WARN No appenders could be found for logger (org.jnp.interfaces.TimedSocketFactory).
           [java] log4j:WARN Please initialize the log4j system properly.

      [java] ARTURO : INSIDE MAIN - ABOUNT TO LOOKUP chapter2/PlaceOrderBean/remote
           [java] javax.naming.NamingException: Could not dereference object [Root exception is javax.ejb.EJBException: java.lang.RuntimeException: Unable to inject jndi dependency: env/jms/OrderBillingQueue into property com.ejb3inaction.actionbazaar.buslogic.PlaceOrderBean.billingQueue: jms not bound]
           [java]     at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1472)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:818)
          
           [java] ARTURO : INSIDE MAIN - CATCH
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
           [java]     at javax.naming.InitialContext.lookup(InitialContext.java:392)
           [java]     at com.ejb3inaction.actionbazaar.client.PlaceOrderClient.main(PlaceOrderClient.java:18)
           [java] Caused by: javax.ejb.EJBException: java.lang.RuntimeException: Unable to inject jndi dependency: env/jms/OrderBillingQueue into property com.ejb3inaction.actionbazaar.buslogic.PlaceOrderBe
      an.billingQueue: jms not bound
           [java]     at org.jboss.ejb3.cache.simple.SimpleStatefulCache.create(SimpleStatefulCache.java:423)
           [java]     at org.jboss.ejb3.stateful.StatefulContainer.createSession(StatefulContainer.java:488)
           [java]     at org.jboss.ejb3.session.SessionContainer.createSession(SessionContainer.java:649)
           [java]     at org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionProxyFactoryBase.getNewSessionId(StatefulSessionProxyFactoryBase.java:296)
           [java]     at org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionProxyFactoryBase.createProxyBusiness(StatefulSessionProxyFactoryBase.java:160)
           [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           [java]     at java.lang.reflect.Method.invoke(Method.java:597)
           [java]     at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:121)
           [java]     at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
           [java]     at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
           [java] Caused by: java.lang.RuntimeException: Unable to inject jndi dependency: env/jms/OrderBillingQueue into property com.ejb3inaction.actionbazaar.buslogic.PlaceOrderBean.billingQueue: jms not
      bound
           [java]     at org.jboss.injection.JndiPropertyInjector.lookup(JndiPropertyInjector.java:82)
           [java]     at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:99)
           [java]     at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:89)
           [java]     at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:61)
           [java]     at org.jboss.ejb3.injection.InjectionInvocation.invokeTarget(InjectionInvocation.java:89)
           [java]     at org.jboss.ejb3.injection.InjectionInvocation.invokeNext(InjectionInvocation.java:83)
           [java]     at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
           [java]     at org.jboss.ejb3.injection.InjectionInvocation.invokeNext(InjectionInvocation.java:74)
           [java]     at org.jboss.ejb3.EJBContainer.injectBeanContext(EJBContainer.java:1086)
           [java]     at org.jboss.ejb3.stateful.StatefulContainer.create(StatefulContainer.java:135)
           [java]     at org.jboss.ejb3.cache.simple.SimpleStatefulCache.create(SimpleStatefulCache.java:402)
           [java]     at org.jboss.ejb3.stateful.StatefulContainer.createSession(StatefulContainer.java:488)
           [java]     at org.jboss.ejb3.session.SessionContainer.createSession(SessionContainer.java:649)
           [java]     at org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionProxyFactoryBase.getNewSessionId(StatefulSessionProxyFactoryBase.java:296)
           [java]     at org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionProxyFactoryBase.createProxyBusiness(StatefulSessionProxyFactoryBase.java:160)
           [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           [java]     at java.lang.reflect.Method.invoke(Method.java:597)
           [java]     at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:121)
           [java]     at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
           [java]     at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
           [java]     at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:206)
           [java]     at org.jboss.remoting.Client.invoke(Client.java:1708)
           [java]     at org.jboss.remoting.Client.invoke(Client.java:612)
           [java]     at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
           [java]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
           [java]     at org.jboss.ejb3.proxy.remoting.IsLocalProxyFactoryInterceptor.invoke(IsLocalProxyFactoryInterceptor.java:72)
           [java]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
           [java]     at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
           [java]     at $Proxy0.createProxyBusiness(Unknown Source)
           [java]     at org.jboss.ejb3.proxy.objectfactory.session.SessionProxyObjectFactory.createProxy(SessionProxyObjectFactory.java:129)
           [java]     at org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory.getProxy(StatefulSessionProxyObjectFactory.java:64)
           [java]     at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:156)
           [java]     at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
           [java]     at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1447)
           [java]     at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1464)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:818)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
           [java]     at javax.naming.InitialContext.lookup(InitialContext.java:392)
           [java]     at com.ejb3inaction.actionbazaar.client.PlaceOrderClient.main(PlaceOrderClient.java:18)
           [java]     at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:72)
           [java]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
           [java]     at org.jboss.ejb3.proxy.remoting.IsLocalProxyFactoryInterceptor.invoke(IsLocalProxyFactoryInterceptor.java:72)
           [java]     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
           [java]     at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
           [java]     at $Proxy0.createProxyBusiness(Unknown Source)
           [java]     at org.jboss.ejb3.proxy.objectfactory.session.SessionProxyObjectFactory.createProxy(SessionProxyObjectFactory.java:129)
           [java]     at org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory.getProxy(StatefulSessionProxyObjectFactory.java:64)
           [java]     at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:156)
           [java]     at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
           [java]     at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1447)
           [java]     at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1464)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:818)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
           [java]     at javax.naming.InitialContext.lookup(InitialContext.java:392)
           [java]     at com.ejb3inaction.actionbazaar.client.PlaceOrderClient.main(PlaceOrderClient.java:18)
           [java] Caused by: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NameNotFoundException: jms not bound]
           [java]     at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1348)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:813)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
           [java]     at org.jboss.ejb3.JndiUtil.lookup(JndiUtil.java:44)
           [java]     at org.jboss.injection.JndiPropertyInjector.lookup(JndiPropertyInjector.java:75)
           [java]     at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:99)
           [java]     at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:89)
           [java]     at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.java:61)
           [java]     at org.jboss.ejb3.injection.InjectionInvocation.invokeTarget(InjectionInvocation.java:89)
           [java]     at org.jboss.ejb3.injection.InjectionInvocation.invokeNext(InjectionInvocation.java:83)
           [java]     at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
           [java]     at org.jboss.ejb3.injection.InjectionInvocation.invokeNext(InjectionInvocation.java:74)
           [java]     at org.jboss.ejb3.EJBContainer.injectBeanContext(EJBContainer.java:1086)
           [java]     at org.jboss.ejb3.stateful.StatefulContainer.create(StatefulContainer.java:135)
           [java]     at org.jboss.ejb3.cache.simple.SimpleStatefulCache.create(SimpleStatefulCache.java:402)
           [java]     at org.jboss.ejb3.stateful.StatefulContainer.createSession(StatefulContainer.java:488)
           [java]     at org.jboss.ejb3.session.SessionContainer.createSession(SessionContainer.java:649)
           [java]     at org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionProxyFactoryBase.getNewSessionId(StatefulSessionProxyFactoryBase.java:296)
           [java]     at org.jboss.ejb3.proxy.factory.session.stateful.StatefulSessionProxyFactoryBase.createProxyBusiness(StatefulSessionProxyFactoryBase.java:160)
           [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           [java]     at java.lang.reflect.Method.invoke(Method.java:597)
           [java]     at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:121)
           [java]     at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
           [java]     at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:522)
           [java]     at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
           [java] Caused by: javax.naming.NameNotFoundException: jms not bound
           [java]     at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
           [java]     at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
           [java]     at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
           [java]     at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
           [java]     at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)
           [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           [java]     at java.lang.reflect.Method.invoke(Method.java:597)
           [java]     at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
           [java]     at sun.rmi.transport.Transport$1.run(Transport.java:159)
           [java]     at java.security.AccessController.doPrivileged(Native Method)
           [java]     at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
           [java]     at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
           [java]     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
           [java]     at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
           [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
           [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
           [java]     at java.lang.Thread.run(Thread.java:662)
           [java]     at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
           [java]     at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
           [java]     at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
           [java]     at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
           [java]     at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
           [java]     at javax.naming.InitialContext.lookup(InitialContext.java:392)
           [java]     at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1342)
           [java]     ... 29 more

      BUILD SUCCESSFUL
      Total time: 7 seconds
      C:\EJB 3 in Action\code_examples\chapter2>