On 8/26/11 12:57 PM, Julien Vermillard wrote:
Hi !
I would like to use google guava for core MINA functionalities.

Possible usages  :
Immutable List :
http://guava-libraries.googlecode.com/svn/tags/release09/javadoc/com/google/common/collect/ImmutableList.html
convenient for storing filter list in an immutable fashion.

You can make a list immutable by using Collections.unmodifiable( List ).


Listenable futures :
http://guava-libraries.googlecode.com/svn/tags/release09/javadoc/com/google/common/util/concurrent/ListenableFuture.html
http://guava-libraries.googlecode.com/svn/tags/release09/javadoc/com/google/common/util/concurrent/AbstractListenableFuture.html
http://guava-libraries.googlecode.com/svn/tags/release09/javadoc/index.html?com/google/common/util/concurrent/Futures.html

Convenient InetAddress  methods avoiding DNS requests :
http://guava-libraries.googlecode.com/svn/tags/release09/javadoc/index.html?com/google/common/net/InetAddresses.html

A soon as it brings some value, I have no problem with using a external lib. However, if we can get the same result without dependency on another external lib, that would be better, IMO.

For instance, ListenableFuture is already available in ActiveMQ (http://activemq.apache.org/apollo/documentation/api/apollo-util/org/apache/activemq/apollo/util/ListenableFuture.html). Copyong the code from there inside MINA would be a possibility.

The HashMap tools are very cool and help you to keep your code concise :
ex :
in place of
Map<K,V>  myMap = new HashMap<K,V>();
you can write :
Map<K,V>  myMap = Maps.newHashMap();

Not really convinced aboyt the gain, here.

Bottom line : adding a new dependency is an annoyance, to me. We have to add the dependency to MINA, forcing our users to load it. Plus if we decide to make MINA OSGi compliant, we will have to encapsulate Guava into a separate project, maiking it an OSGi bundle.

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to