User: user57  
  Date: 01/04/17 13:33:43

  Added:       openjms/src/main/org/jboss/jms/openjms OpenJMSProvider.java
                        OpenJMSServerSessionPoolFactory.java package.html
  Log:
   o Migration of OpenJMS specific JBoss JMS provider classes from the
     main 'jboss'.
  
   NOTE: The migrated classes have been consolidated into one package.
  
  Revision  Changes    Path
  1.1                  
contrib/openjms/src/main/org/jboss/jms/openjms/OpenJMSProvider.java
  
  Index: OpenJMSProvider.java
  ===================================================================
  /**
   * Copyright (c) 2000 Peter Antman Tim <[EMAIL PROTECTED]>
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2 of the License, or (at your option) any later version
   * 
   * This library is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   * 
   * You should have received a copy of the GNU Lesser General Public
   * License along with this library; if not, write to the Free Software
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
  package org.jboss.jms.openjms;
  
  import java.util.Hashtable;
  
  import javax.naming.Context;
  import javax.naming.InitialContext;
  import javax.naming.NamingException;
  
  import org.jboss.logging.Logger;
  import org.jboss.jms.jndi.AbstractJMSProviderAdapter;
  
  /**
   * A JMS provider adapter for <em>OpenJMS</em>.
   *
   * Created: Wed Nov 29 14:19:42 2000
   *
   * @author  Peter Antman Tim ([EMAIL PROTECTED])
   * @version
   */
  public class OpenJMSProvider 
     extends AbstractJMSProviderAdapter
  {
      public static final String TOPIC_CONNECTION_FACTORY = 
          "JmsTopicConnectionFactory";
  
      public static final String QUEUE_CONNECTION_FACTORY = 
          "JmsQueueConnectionFactory";
  
      public static final String INITIAL_CONTEXT_FACTORY = 
          "org.exolab.jms.jndi.rmi.RmiJndiInitialContextFactory";
      
      private static final String HOST_PROP_NAME = 
          "org.exolab.jms.jndi.Host";
  
      private static final String PORT_PROP_NAME = 
          "org.exolab.jms.jndi.PortNumber";
  
      private static final String SECURITY_MANAGER = 
          "java.naming.rmi.security.manager";
  
      private String hasJndiSecurityManager = "yes";
  
      public OpenJMSProvider() {
          super(QUEUE_CONNECTION_FACTORY, TOPIC_CONNECTION_FACTORY);
      }
  
      public Context getInitialContext() throws NamingException {
          // Have to parse url!!
          Context context = null;
        
          Hashtable props = new Hashtable();
          props.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);
          props.put(HOST_PROP_NAME, "localhost");
          Logger.debug("OpenJMSProvider: " + HOST_PROP_NAME + ":localhost");
          props.put(PORT_PROP_NAME, new Integer(1199));
          Logger.debug("OpenJMSProvider: " + PORT_PROP_NAME + 1199);
          //props.put(Context.PROVIDER_URL, jndiProviderUrl);
          props.put(SECURITY_MANAGER, hasJndiSecurityManager);
          //   props.put(Context.URL_PKG_PREFIXES, jndiPkgPrefixes);
  
          return context = new InitialContext(props);
      }
  }
  
  
  
  1.1                  
contrib/openjms/src/main/org/jboss/jms/openjms/OpenJMSServerSessionPoolFactory.java
  
  Index: OpenJMSServerSessionPoolFactory.java
  ===================================================================
  /*
   * Copyright (c) 2000 Peter Antman Tim <[EMAIL PROTECTED]>
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2 of the License, or (at your option) any later version
   * 
   * This library is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   * 
   * You should have received a copy of the GNU Lesser General Public
   * License along with this library; if not, write to the Free Software
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   */
  package org.jboss.jms.openjms;
  
  import java.util.Hashtable;
  
  import javax.jms.Connection;
  import javax.jms.MessageListener;
  import javax.jms.ServerSessionPool;
  import javax.jms.JMSException;
  
  // Its in that package, but belongs to jboss ;-)
  import org.exolab.jms.client.OpenJMSServerSessionPool;
  import org.exolab.jms.client.JmsServerSessionPool;
  
  import org.exolab.core.logger.LoggerIfc;
  import org.exolab.core.logger.LogEventType;
  import org.exolab.core.logger.LoggerFactory;
  
  import org.jboss.logging.Logger;
  import org.jboss.jms.asf.ServerSessionPoolFactory;
  
  /**
   * OpenJMSServerSessionPoolFactory.java
   *
   * Created: Wed Nov 29 16:01:04 2000
   *
   * @version <pre>$Id: OpenJMSServerSessionPoolFactory.java,v 1.1 2001/04/17 20:33:43 
user57 Exp $</pre>
   * @author  Peter Antman Tim ([EMAIL PROTECTED])
   */
  public class OpenJMSServerSessionPoolFactory 
     implements ServerSessionPoolFactory, java.io.Serializable
  {
     private Hashtable pools = new Hashtable();
     private String name;
  
     public OpenJMSServerSessionPoolFactory() {
        // Set up their specific logging
        try {
           LoggerIfc logger = LoggerFactory.create(null, null);
           LogEventType event = LogEventType.getLogEventType("debug");
           if (event != null) {
              logger.setLogLevel(event);
           }
        } catch(Exception ex) {
           Logger.exception(ex);
           throw new RuntimeException("Unable to OpenJMSServerSessionPool: "+ex);
        }
     }
  
     public void setName(String name) {
        this.name = name;
     }
  
     public String getName() {
        return name;
     }
  
     public ServerSessionPool getServerSessionPool(Connection con,
                                                   int maxSession, 
                                                   boolean isTransacted, 
                                                   int ack, 
                                                   MessageListener listener)
        throws JMSException
     {
        //
        // This is probably basically fucked up. The ServerSessionPool in
        // OpenJMS is a Singleton. Every one that uses it will end up in
        // the same Connection and against the same messagelistener.
        //
  
        // We need a pool, but what should we key on, a guess the adress
        // of the listener is the only really uniqe here
        String key = listener.toString();// Or hash?
        
        if (pools.containsKey(key)) {
           return (ServerSessionPool)pools.get(key);
        } 
        else {
           // THis is fucking bully, have tp do it to get the classes to work
           JmsServerSessionPool.init(15,listener);
  
           ServerSessionPool pool =  (ServerSessionPool)new 
OpenJMSServerSessionPool(con,  maxSession, isTransacted, ack, listener);
           pools.put(key, pool);
           return pool;
        }
        //JmsServerSessionPool.init(maxSession, listener);
        //return JmsServerSessionPool.instance();
     }
  }
  
  
  
  
  1.1                  contrib/openjms/src/main/org/jboss/jms/openjms/package.html
  
  Index: package.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
    <head>
      <!-- $Id: package.html,v 1.1 2001/04/17 20:33:43 user57 Exp $ -->
      <!--
  
      JBoss, the OpenSource EJB server.
  
      This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Lesser General Public
      License as published by the Free Software Foundation; either
      version 2 of the License, or (at your option) any later version
      
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Lesser General Public License for more details.
      
      You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
      -->
    </head>
  
    <body bgcolor="white">
      <p>Provides integration support for using <em>OpenJMS</em> as a 
         JBoss JMS provider.</p>
  
      <h2>Package Specification</h2>
      <ul>
        <li><a href="javascript: alert('not available')">Not Available</a>
      </ul>
        
      <h2>Related Documentation</h2>
      <ul>
        <li><a href="http://openjms.exolab.org/">OpenJMS Home Page</a>
      </ul>
  
      <h2>Package Status</h2>
      <ul>
        <li><font color="green"><b>STABLE</b></font>
      </ul>
  
      <h2>Todo</h2>
      <ul>
        <li>???
      </ul>
  
      <!-- Put @see and @since tags down here. -->
  
    </body>
  </html>
  
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to