qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arnaud Simon <asi...@redhat.com>
Subject Re: svn commit: r704541 - in /incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management: ./ configuration/ domain/model/ domain/services/
Date Wed, 15 Oct 2008 13:20:35 GMT
Hi Martin,

I believe we can close this JIRA.

Arnaud

----- "Martin Ritchie" <ritchiem@apache.org> wrote:

> I'd like to see QPID-1284 closed for further commits such that any
> new
> bugs that come up against this should be raised in a new JIRA so that
> we can more easily review the change. I don't believe we have
> formaised our JIRA process but IIRC Rafi was going to draw up an
> initial version.
> 
> Arnaud have you reviewed these commits or do you need someone else to
> do it?
> 
> Regards
> 
> Martin
> 
> 2008/10/14  <arnaudsimon@apache.org>:
> > Author: arnaudsimon
> > Date: Tue Oct 14 06:56:27 2008
> > New Revision: 704541
> >
> > URL: http://svn.apache.org/viewvc?rev=704541&view=rev
> > Log:
> > qpid-1284: qman_14102008_latest.patch (on behalf Andrea)
> >
> > Removed:
> >   
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Constants.java
> >   
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/ManagementQueueMessageListenerParser.java
> >   
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/MethodReplyQueueMessageListenerParser.java
> > Modified:
> >   
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/QpidDatasource.java
> >   
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java
> >   
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QpidService.java
> >
> > Modified:
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/QpidDatasource.java
> > URL:
> http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/QpidDatasource.java?rev=704541&r1=704540&r2=704541&view=diff
> >
> ==============================================================================
> > ---
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/QpidDatasource.java
> (original)
> > +++
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/QpidDatasource.java
> Tue Oct 14 06:56:27 2008
> > @@ -56,7 +56,6 @@
> >          * Builds a new decorator with the given connection.
> >          *
> >          * @param brokerId the broker identifier.
> > -         * @param decoratee the underlying connection.
> >          */
> >         private PooledConnection(UUID brokerId)
> >         {
> > @@ -132,7 +131,7 @@
> >         @Override
> >         public Connection makeObject () throws Exception
> >         {
> > -            PooledConnection connection = new
> PooledConnection(_brokerId);
> > +               PooledConnection connection = new
> PooledConnection(_brokerId);
> >             connection.connect(
> >                     _connectionData.getHost(),
> >                     _connectionData.getPort(),
> > @@ -206,12 +205,13 @@
> >
> >     /**
> >      * Adds a connection pool to this datasource.
> > -     *
> > +     *
> >      * @param brokerId the broker identifier that will be associated
> with the new connection pool.
> >      * @param connectionData the broker connection data.
> >      * @throws Exception when the pool cannot be created.
> >      */
> > -    void addConnectionPool(UUID brokerId,BrokerConnectionData
> connectionData) throws Exception {
> > +    void addConnectionPool(UUID brokerId,BrokerConnectionData
> connectionData) throws Exception
> > +    {
> >         GenericObjectPoolFactory factory = new
> GenericObjectPoolFactory(
> >                 new QpidConnectionFactory(brokerId,connectionData),
> >                 connectionData.getMaxPoolCapacity(),
> > @@ -219,13 +219,25 @@
> >                 connectionData.getMaxWaitTimeout(),-1,
> >                 true,
> >                 false);
> > +
> >         ObjectPool pool = factory.createPool();
> >
> > -        for (int i  = 0; i <
> connectionData.getInitialPoolCapacity(); i++)
> > +        // Open connections at startup according to initial
> capacity param value.
> > +        int howManyConnectionAtStartup =
> connectionData.getInitialPoolCapacity();
> > +        Object [] openStartupList = new
> Object[howManyConnectionAtStartup];
> > +
> > +        // Open...
> > +        for (int index  = 0; index < howManyConnectionAtStartup;
> index++)
> > +        {
> > +            openStartupList[index] = pool.borrowObject();
> > +        }
> > +
> > +        // ...and immediately return them to pool. In this way the
> pooled connection has been opened.
> > +        for (int index = 0; index < howManyConnectionAtStartup;
> index++)
> >         {
> > -            pool.returnObject(pool.borrowObject());
> > +            pool.returnObject(openStartupList[index]);
> >         }
> >
> >         pools.put(brokerId,pool);
> >     }
> > -}
> > \ No newline at end of file
> > +}
> >
> > Modified:
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java
> > URL:
> http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java?rev=704541&r1=704540&r2=704541&view=diff
> >
> ==============================================================================
> > ---
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java
> (original)
> > +++
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/QpidClass.java
> Tue Oct 14 06:56:27 2008
> > @@ -739,7 +739,7 @@
> >         try
> >         {
> >             _service.connect();
> > -           // _service.requestSchema(_parent.getName(), _name,
> _hash);
> > +           _service.requestSchema(_parent.getName(), _name,
> _hash);
> >             _service.sync();
> >         } finally
> >         {
> > @@ -770,7 +770,7 @@
> >
> >             int sequenceNumber =
> SequenceNumberGenerator.getNextSequenceNumber();
> >            
> _methodInvocationListener.operationIsGoingToBeInvoked(new
> InvocationEvent(this,sequenceNumber,_exchangeChannelForMethodInvocations));
> > -           // _service.invoke(_parent.getName(), _name,
> _hash,objectId,parameters, method,sequenceNumber);
> > +           _service.invoke(_parent.getName(), _name,
> _hash,objectId,parameters, method,sequenceNumber);
> >
> >             // TODO : Shoudl be configurable?
> >             InvocationResult result =
> _exchangeChannelForMethodInvocations.poll(5000,TimeUnit.MILLISECONDS);
> > @@ -879,4 +879,4 @@
> >         }
> >         _service.close();
> >     }
> > -}
> > \ No newline at end of file
> > +}
> >
> > Modified:
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QpidService.java
> > URL:
> http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QpidService.java?rev=704541&r1=704540&r2=704541&view=diff
> >
> ==============================================================================
> > ---
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QpidService.java
> (original)
> > +++
> incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QpidService.java
> Tue Oct 14 06:56:27 2008
> > @@ -20,6 +20,7 @@
> >  */
> >  package org.apache.qpid.management.domain.services;
> >
> > +import java.io.IOException;
> >  import java.nio.ByteBuffer;
> >  import java.util.Arrays;
> >  import java.util.Map;
> > @@ -27,10 +28,14 @@
> >  import java.util.concurrent.ConcurrentHashMap;
> >
> >  import org.apache.qpid.QpidException;
> > -import org.apache.qpid.management.Constants;
> > +import org.apache.qpid.api.Message;
> >  import org.apache.qpid.management.Names;
> >  import org.apache.qpid.management.configuration.Configuration;
> >  import org.apache.qpid.management.configuration.QpidDatasource;
> > +import org.apache.qpid.management.domain.model.QpidMethod;
> > +import org.apache.qpid.management.domain.model.type.Binary;
> > +import
> org.apache.qpid.management.messages.MethodInvocationRequestMessage;
> > +import org.apache.qpid.management.messages.SchemaRequestMessage;
> >  import org.apache.qpid.nclient.util.MessageListener;
> >  import org.apache.qpid.nclient.util.MessagePartListenerAdapter;
> >  import org.apache.qpid.transport.Connection;
> > @@ -110,7 +115,7 @@
> >     {
> >         _connection =
> QpidDatasource.getInstance().getConnection(_brokerId);
> >         _listeners = new
> ConcurrentHashMap<String,MessagePartListenerAdapter>();
> > -        _session =
> _connection.createSession(Constants.NO_EXPIRATION);
> > +        _session = _connection.createSession(0);
> >         _session.setSessionListener(this);
> >     }
> >
> > @@ -299,4 +304,126 @@
> >
> >         Log.logMessageContent (messageData);
> >     }
> > -}
> > \ No newline at end of file
> > +
> > +    /**
> > +     * Requests a schema for the given package.class.hash.
> > +     *
> > +     * @param packageName the package name.
> > +     * @param className the class name.
> > +     * @param schemaHash the schema hash.
> > +     * @throws IOException when the schema request cannot be sent.
> > +     */
> > +    public void requestSchema(final String packageName, final
> String className, final Binary schemaHash) throws IOException
> > +    {
> > +        Message message = new SchemaRequestMessage()
> > +        {
> > +            @Override
> > +            protected String className ()
> > +            {
> > +                return className;
> > +            }
> > +
> > +            @Override
> > +            protected String packageName ()
> > +            {
> > +                return packageName;
> > +            }
> > +
> > +            @Override
> > +            protected Binary schemaHash ()
> > +            {
> > +                return schemaHash;
> > +            }
> > +        };
> > +
> > +        sendMessage(message);
> > +    }
> > +
> > +    /**
> > +     * Invokes an operation on a broker object instance.
> > +     *
> > +     * @param packageName the package name.
> > +     * @param className the class name.
> > +     * @param schemaHash the schema hash of the corresponding
> class.
> > +     * @param objectId the object instance identifier.
> > +     * @param parameters the parameters for this invocation.
> > +     * @param method the method (definition) invoked.
> > +     * @return the sequence number used for this message.
> > +     * @throws MethodInvocationException when the invoked method
> returns an error code.
> > +     * @throws UnableToComplyException when it wasn't possibile to
> invoke the requested operation.
> > +     */
> > +    public void invoke(
> > +            final String packageName,
> > +            final String className,
> > +            final Binary schemaHash,
> > +            final Binary objectId,
> > +            final Object[] parameters,
> > +            final QpidMethod method,
> > +            final int sequenceNumber) throws
> MethodInvocationException, UnableToComplyException
> > +    {
> > +        Message message = new MethodInvocationRequestMessage()
> > +        {
> > +
> > +            @Override
> > +            protected int sequenceNumber ()
> > +            {
> > +                return sequenceNumber;
> > +            }
> > +
> > +            protected Binary objectId() {
> > +                return objectId;
> > +            }
> > +
> > +            protected String packageName()
> > +            {
> > +                return packageName;
> > +            }
> > +
> > +            protected String className()
> > +            {
> > +                return className;
> > +            }
> > +
> > +            @Override
> > +            protected QpidMethod method ()
> > +            {
> > +                return method;
> > +            }
> > +
> > +            @Override
> > +            protected Object[] parameters ()
> > +            {
> > +                return parameters;
> > +            }
> > +
> > +            @Override
> > +            protected Binary schemaHash ()
> > +            {
> > +                return schemaHash;
> > +            }
> > +        };
> > +
> > +        try {
> > +            sendMessage(message);
> > +            sync();
> > +        } catch(Exception exception) {
> > +            throw new UnableToComplyException(exception);
> > +        }
> > +    }
> > +
> > +    /**
> > +     * Sends a command message.
> > +     *
> > +     * @param message the command message.
> > +     * @throws IOException when the message cannot be sent.
> > +     */
> > +    public void sendMessage(Message message) throws IOException
> > +    {
> > +        _session.messageTransfer(
> > +                Names.MANAGEMENT_EXCHANGE,
> > +                MessageAcceptMode.EXPLICIT,
> > +                MessageAcquireMode.PRE_ACQUIRED,
> > +                message.getHeader(),
> > +                message.readData());
> > +    }
> > +}
> >
> >
> >
> 
> 
> 
> -- 
> Martin Ritchie

Mime
View raw message