You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2006/03/21 00:31:07 UTC
svn commit: r387344 -
/directory/branches/apacheds/1.0/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolProvider.java
Author: elecharny
Date: Mon Mar 20 15:31:05 2006
New Revision: 387344
URL: http://svn.apache.org/viewcvs?rev=387344&view=rev
Log:
Fixed a memory consumption in LdapProtocolProvider : we where
construction the encoder/decoder for each request...
Modified:
directory/branches/apacheds/1.0/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolProvider.java
Modified: directory/branches/apacheds/1.0/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolProvider.java
URL: http://svn.apache.org/viewcvs/directory/branches/apacheds/1.0/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolProvider.java?rev=387344&r1=387343&r2=387344&view=diff
==============================================================================
--- directory/branches/apacheds/1.0/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolProvider.java (original)
+++ directory/branches/apacheds/1.0/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolProvider.java Mon Mar 20 15:31:05 2006
@@ -340,6 +340,10 @@
private static final class ProtocolCodecFactoryImpl implements ProtocolCodecFactory
{
final Hashtable env;
+
+ // Define two static members to avoid useless object constructions
+ static Asn1CodecEncoder encoder;
+ static Asn1CodecDecoder decoder;
public ProtocolCodecFactoryImpl()
@@ -354,15 +358,25 @@
}
- public ProtocolEncoder getEncoder()
+ public synchronized ProtocolEncoder getEncoder()
{
- return new Asn1CodecEncoder( new MessageEncoder( env ) );
+ if ( encoder == null )
+ {
+ encoder = new Asn1CodecEncoder( new MessageEncoder( env ) );
+ }
+
+ return encoder;
}
- public ProtocolDecoder getDecoder()
+ public synchronized ProtocolDecoder getDecoder()
{
- return new Asn1CodecDecoder( new MessageDecoder( env ) );
+ if ( decoder == null )
+ {
+ decoder = new Asn1CodecDecoder( new MessageDecoder( env ) );
+ }
+
+ return decoder;
}
}